问题描述
本次问题的发现主要来源于两台CentOS服务器中同一份文件的不同展示状态。
- 绿色:可执行或已识别的数据文件【第11位为+号代表已设置ACL权限】
- 红色:存档文件
- 上图中第11位为+号的文件显示为红色主要是由于在该服务器中并未进行ACL授权行为。
此外,上图中部分目录在文件权限的第十一位有一个小点,其代表 该 文件/目录 存在“SELinux的安全标签”
SELinux:Secure Enhanced Linux,是美国国家安全局(NSA=The National Security Agency)和SCC(Secure Computing Courporation)开发的LInux的一个强制控制的安全模块。2000年以GNU GPL发布,Linux内核2.6版本后继承在内核中。
何为ACL
ACL的全称是 Access Control List (访问控制列表) ,一个针对文件/目录的访问控制列表。它在UGO权限管理的基础上为文件系统提供一个额外的、更灵活的权限管理机制。它被设计为UNIX文件权限管理的一个补充。
chmod命令可以把文件权限分为u,g,o三个组,而setfacl可以对每一个文件或目录设置更精确的文件权限。 换句话说,setfacl可以更精确的控制权限的分配。比如:让某一个用户对某一个文件具有某种权限。
ACL可以针对单一用户、单一文件或目录来进行r,w,x的权限控制,对于需要特殊权限的使用状况有一定帮助。如,某一个文件,不让单一的某个用户访问。
ACL权限设置方法
命令 setfacl
格式:setfacl [-R] {-m|-x} <u:用户名:{r|w|x}> <文件名或目录名> [-R] 递归目录 [-m] 修改ACL权限 [-x] 删除ACL权限
[root@master ~]# ll /usr/bin/passwd
-rwsr-xr--+ 1 root root 27832 6月 10 2014 /usr/bin/passwd
# 第11位为+号表示已设置ACL权限
# 设置所有普通用户不能修改密码
chmod o-x /usr/bin/passwd;
# 单独给普通用户wuhd赋予修改密码的权限
setfacl -m u:wuhd:x /usr/bin/passwd;
# 删除文件 /usr/bin/passwd 所有ACL权限
setfacl -b /usr/bin/passwd;
# 单独删除某个用户的ACL权限
setfacl -x u:wuhd /usr/bin/passwd;
命令 getfacl
# 查看ACL权限
getfacl /usr/bin/passwd;
输出:
# file: usr/bin/passwd
# owner: root
# group: root
# flags: s--
user::rwx
user:wuhd:--x
group::r-x
mask::r-x
other::r--
参考资料
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容