1、权限存在的意义
为了文件或目录的安全。
2、权限的识别
ls -l file :识别文件权限。 ls -ld dir :识别目录权限。
3、权限的查看与理解
3.1文件权限的查看与理解
以file1的权限为例: - rw-r--r--. 1 root root 0 Aug 16 03:10 file1 上述权限每个部分意义如下: (1)- 文件类型。文件类型如下: - :普通文件 d :目录 l :软链接(快捷方式) s :socket(套接字) c :字符设备(显示字符的设备) (2)rw-r--r--. 文件权限。文件权限如下: r :读权限 w :写权限 x :执行权限 上述文件权限分为三部分权限: rw-部分 :表示user(即本人)对该文件的操作权限。 第一个r--部分 :表示group(即组成员)对该文件的操作权限。 第二个r--部分 :表示other(即其他人)对该文件的操作权限。 (3)1 文件硬链接个数,文件被系统记录次数。 (4)第一个root 表示文件拥有者 (5)第二个root 表示文件拥有组 (6)0 表示文件大小 (7)Aug 16 03:10 表示文件最后一次被修改的时间。 (8)file1 文件名称。
3.2目录权限的查看与理解
以westos的权限为例: d rwxr-xr-x. 2 root root 48 Aug 16 03:11 westos (1)-d 目录类型。 (2)rwxr-xr-x. 目录权限。文件权限如下: r :读权限 w :写权限 x :执行权限 上述目录权限分为三部分权限: rwx部分 :表示user(即本人)对该目录的操作权限。 第一个r-x部分 :表示group(即组成员)对该目录的操作权限。 第二个r-x部分 :表示other(即其他人)对该目录的操作权限。 (3)2 表示目录中子目录的个数。 (4)第一个root 表示目录拥有者 (5)第二个root 表示目录拥有组 (6)48 子文件或子目录元数据大小 (7)Aug 16 03:11 表示目录最后一次被修改的时间。 (8)westos 目录名称。
4、修改用户和用户组
此命令必须用root用户执行。
4.1chown username file|dir
更改file|dir的所有人。如图,将file的所有人由root更改为bighead:
4.2chown -R username dir
更改目录及目录下的所有文件和目录的所有者。如图,将所有者由root改为bighead。
4.3chown username:group file|dir
更改文件或目录的所有者以及所有组。如图,将文件file1的所有者改为root,所有组改为root:
4.4chgrp group file|dir
更改文件或目录的所有组。如图,将文件file1的所有组由root改为bighead:
4.5chgrp -R group dir
更改目录及目录下的所有文件和目录的所有组。如图,将所有组由root改为bighead。
5、文件权限
5.1权限作用
(1)r(读) 对文件:是否可以查看文件中的字符。 对目录:是否可以查看目录中有什么文件。 (2)w(写) 对文件:是否可以改变文件中记录的字符。 对目录:是否可以在目录中管理文件,是否可以更改目录中的元数据。 (3)x(执行) 对文件:是否可以通过名称调用文件中记录的程序。 对目录:是否可以进入此目录。
5.2权限管理
(1)字符形式(不常用) chmod <u|g|o><+|-|=><r|w|x> file|dir 例如,将文件file1的user权限设置为rwx,group权限设置为rw,other权限设置为r: (2)数字形式(常用) 权限对应的数字如下: r :4 w :2 x :1 rwx :7(4+2+1) rw- :6(4+2) r-x :5(4+1) r-- :4(4) -wx :3(2+1) -w- :2(2) --x :1(1) 例如,将文件file2的user权限设置为可读可写可执行,group权限设置为可读可执行,other权限设置为可读:
6、权限列表
如果在文件权限后有“+”(例如:rw-r--r--+),表示权限列表开启。
6.1查看文件权限
命令: getfacl 文件名|目录名 例如查看文件file1的权限: 其中: #file: file2 :文件名称 #owner: root :文件所有人 #group: root :文件所有组 user::rwx :用户权限 group::r-x :组权限 other::r-- :其他人权限 user:bighead:rwx :特殊指定用户权限 mask::rwx :权限最大值
6.2设置文件权限
(1)setfacl -m u:uername:rwx file 设定列表中的用户权限。如图,设置权限列表中用户bighead对file2的权限为rwx: (2)setfacl -x u:uername file 删除列表中的指定用户。如图:删除权限列表中bighead用户: (3)setfacl -b file 关闭权限列表。