前导知识:
a. 查看文档权限:ls -lh 文档 、 ls -ldh 目录
b. 文档的归属关系:
- 属主(user):说明此文件属于哪个用户
- 属组 (group):说明此文件属于哪个组
- 其他人(other)
c. 权限的分类:
- 对文件来说
读取:r(read)--->cat、less、more、head、tail
修改:w(write)--->vim、gpedit、》、>
执行:x(execute)--->是否能被执行
- 对目录来说:
r--->ls
w--->mkdir、touch、cp、mv、rm、chmod
x--->cd
d.设置文档归属
chown -R 属主 文档 //将文档的属主更改
chown -R :属组 文档 //将文档的属组更改
chown -R 属主:属组 //将文档的属组和属组更改
e.设置文档权限
chmod -R 权限串 文档 文档
chmod 归属关系+-=权限类型 文档
chmod u+x,g-w,o=rwx 文档
chmod a+x 文档
chmod ugo+x 文档
chmod 755 文档
f. 访问控制列表ACL(针对个别用户/个别组设置独立权限)
getfacl 文档
setfacl -m user:用户名:权限组合 文档
setfacl -m group:组名:权限组合 文档
setfacl -b 文档
下面让我们做一个实验来加深印象吧!
要求:将文件/etc/hosts复制为/var/tmp/hosts,并按要求配置/var/tmp/hosts的权限:
- 文件/var/tmp/hosts属于root用户
- 文件/var/tmp/hosts属于root组
- 任何用户对/var/tmp/hosts都没有可执行权限
- 用户zhsan能够读取和写入/var/tmp/hosts文件
- 用户lisi无法读取或写入/var/tmp/hosts文件
- 所有其他用户(当前或未来)能够读取/var/tmp/hosts文件
第一步:先将文件/etc/hosts复制为/var/tmp/hosts,并查看/var/tmp/hosts的配置,可以看到文件/var/tmp/hosts主语root用户,属于root组,任何用户对/var/tmp/hosts都没有执行权限。已经完成了前三步了。
第二步:通过setfacl命令单独给zhsan以及lisi设置权限,然后通过getfacl命令查看是否已更改完成,同时可以看到所有的用户都是有可读权限的。
文件的权限配置内容到这里就结束了,我们下次见。