Linux权限管理详解
[TOC]
基本权限
前面在Linux文件及目录属性简介一文中的权限属性曾粗略提了一下Linux的权限问题,本文将更细致地去理解Linux的基本权限以及特殊权限的管理。
三个权限:r 可读,w 可写, x可执行
randolf@localhost:~ $ ls -l
总用量 0
drwxrwxr-x. 3 randolf randolf 21 1月 20 15:27 gitrepo
drwxrwxr-x. 5 randolf randolf 62 1月 21 18:00 pytest
以这个基本的例子来说,第一列的十个字符即权限描述符,前十位中,第1位表示文件类型,后9位表示权限的分配,而在这后9位中每隔三位作一个单位,分别表示所有者的权限、所属组的权限,以及其他人的权限。在末尾还有个点号,这是centos6.5以后才出现的,表示selinux的开启状态。
常用命令
控制文件权限的命令:chmod
语法结构:chmod [选项] 模式 文件名
常用选项:-R 递归赋予权限(连同其下所有子目录、子文件相同的权限)
模式:两种方式
-
[ugoa] [+-=] [rwx] 例:chmod u+x test1.txt
其中 u: 所有者,g: 所属组,o:其他人,a:所有人
[mode=421] r: 4, w: 2, x: 1 例:chmod 755 test2.txt
改变文件所有者:chown
语法结构:chown [选项] 用户名[:组名] 文件名
常用选项:-R 移交所有子文件的所有权
该命令无法单独用来改变文件所数组,只能在改变所有者是附带改变数组,是可选项。
例:chown -R root /test 将/test及其下的子文件[子目录]所有者都改为root
chown root:stuff . test.txt 将当前目录下叫test.txt 的文件所有者改为root,所属组改为stuff。
改变文件所属组:chgrp
语法结构:chgrp [选项]... 用户组 文件...
选项: -R 递归(同上)
例:chgrp stuff . test01.txt 将当前目录下叫test01.txt 的文件所属组改为stuff
此命令专用于改变属组
权限对于目录的作用
r : 可以查询目录下的文件(ls)
w : 赋予修改目录结构的权限,譬如在该目录下新建、删除、剪切和重命名文件以及目录(mkdir touch rm mv cp rename)
x :对于目录而言,执行权限表示可以进入该目录。
权限对于文件的作用
r : 读取文件的内容(cat more less head tail)
w : 对文件的内容进行修改、编辑,但是不能删除这个文件
x : 可以执行这个文件
结合下图分析一下权限在文件及目录中的一些问题
分析1: