Linux中ls命令的颜色及ACL权限问题

问题描述

本次问题的发现主要来源于两台CentOS服务器中同一份文件的不同展示状态。 001.png

002.png

  • 绿色:可执行或已识别的数据文件【第11位为+号代表已设置ACL权限】
  • 红色:存档文件

003.png

  • 上图中第11位为+号的文件显示为红色主要是由于在该服务器中并未进行ACL授权行为。

004.png

此外,上图中部分目录在文件权限的第十一位有一个小点,其代表 该 文件/目录 存在“SELinux的安全标签”

SELinux:Secure Enhanced Linux,是美国国家安全局(NSA=The National Security Agency)和SCC(Secure Computing Courporation)开发的LInux的一个强制控制的安全模块。2000年以GNU GPL发布,Linux内核2.6版本后继承在内核中。

1639984808348.png


何为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--

参考资料

ls中不同颜色的含义是什么?

Linux读写执行权限(-r、-w、-x)的真正含义

How to change directory permissions in Linux

Linux之SELinux-安全上下文

五分钟学会 Linux ACL 权限的全部内容

setfacl命令的基本用法

Linux-安全-权限管理

Linux 查看文件权限命令ls -l 输出信息每列所代表的含义

© 版权声明
THE END
喜欢就支持以下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容