Linux常用命令之

您所在的位置:网站首页 取消acl命令 Linux常用命令之

Linux常用命令之

2024-03-02 16:10| 来源: 网络整理| 查看: 265

文件访问控制列表(ACL)

ACL可以为某个文件单独设置该文件具体的某用户或组的权限,不走三类权限位 默认 ACL 权限的作用是:如果给父目录设定了默认 ACL 权限,那么父目录中所有新建的子文件都会继承父目录的 ACL 权限。但是要加 -R ※ACL权限更高,会先查看ACL再看传统的权限。如果没有ACL才会走三类权限位 ※如果一个用户在ACL的user中一个权限,他所在的ACL的group中是另外一个权限,会按照user权限来

• getfacl 获取文件的访问控制信息 • setfacl设置文件的acl -m修改文件的acl -x取消用户或组对文件的权限 语法: • setfacl –m u:用户名:权限 设置某用户名的访问权限 • setfacl –m g:组名:权限 设置某个组的访问权限

例1:想要实现这个↓需求 user1:rwx,user2:rw-,user3:r-x,user4:r--,user5:--x,user6:-w-, 传统权限无法满足上述要求,这时就可以用↓命令进行权限添加

建一个名字为1的文件,查看文件1的权限↓

getfacl 1 file: 1 owner: root group: root user::rw- group::r-- other::r--

设置权限

setfacl -m u:user1:rwx 1 setfacl -m u:user2:rw 1 setfacl -m u:user3:rx 1 setfacl -m u:user4:r 1 setfacl -m u:user5:x 1 setfacl -m u:user6:w 1

修改后看文件1的权限↓

getfacl 1 file: 1 owner: root group: root user::rw- user:user1:rwx user:user2:rw- user:user3:r-x user:user4:r-- user:user5:--x user:user6:-w- group::r-- mask::rwx other::r--

例2:

有组A(groupA)和组B(groupB)两个组,文件1所属于A组,如果通过三类权限位设置文件权限,其他用户没有任何权限,而B组为其他用户,因此无法对文件1进行任何操作。这时可以通过ACL给组B设置权限: setfacl -m g:groupB:r 1 B组里的所有成员就有读权限了

• setfacl –x u:用户名 //取消某用户的访问权限 • setfacl –x g:组名 //取消某个组的访问权限 ❉↑这时是将这个user或group的ACL整个删除,如果只是想删除某一个权限,还是需要setfacl -m来进行重新设置

例3:

mkdir /caiwubu touch /caiwubu/zhangben su - qin #qin非文件的创建者 rm /caiwubu/zhangben #权限不足,因此无法删除文件 #用root用户或者是文件的创建者进行↓ setfacl -m u:qin:rwx -R /caiwubu #修改文件夹的user权限并且子继承父文件夹权限。 #如果不加-R,那么只有caiwubu这个文件夹的qin的权限为rwx, #里面的文件夹和文件原来是什么权限还是什么权限 getfacl /caiwubu/zhangben # file: caiwu/zhangben # owner: root # group: root #user::rw- #user:qin:rwx #group::r-- #mask::rwx #other::r-- su - qin rm /caiwubu/zhangben #可以删除 setfacl -x u:qin -R /caiwubu #删除权限 #这样子文件夹的权限也被删,如果不加R,那么只有该文件夹的该用户ACL删了,而子文件夹还是有曾经赋予这个用户的权限

setfacl -m d:u:qin:rwx /caiwubu d:default,即将caiwubu这个文件夹的权限对qin开放rwx权限,getfacl /caiwubu的时候会发现有一条default:user:qin:rwx。即在/caiwubu文件夹里新建的文件夹以及文件对qin的权限都为rwx,但是之前已经存在的文件及文件夹的权限在修改ACL权限之前是什么现在还是什么 setfacl -x u:qin /caiwubu/zhangben 取消qin这个用户对该文件的acl权限

❀如果这个文件给两个及两个以上的用户设定了ACL,取消其中一个用户的权限可以用这个命令。但是如果这个文件只给一个用户设定了ACL且想删除ACL,或者想把该文件里所有的ACL权限都删除的话,需要用↓的命令 setfacl -b /caiwubu/zhangben

关于权限列的.和+: ls -lZ: ①drwxrwxrwt. root root system_u:object_r:tmp_t:s0 tmp ②dr-xr-xr-x root root system_u:object_r:boot_t:s0 boot ③drwxrwxr-x+ root root unconfined_u:object_r:admin_home_t:s0 DCGH-DIR Linux权限列的点不是无意义字符 ・在开启SELinux的情况下创建的目录和文件有这个点,权限列有这个点说明该目录或文件设置了SELinux相关的权限① ・在禁用SELinux权限之后,在之前开启SELinux权限时创建的文件或目录保持原来的权限不便,权限列的点依然显示,而新创建的目录或文件在权限列无这个点显示② ・权限列中最后一个位置如果是加号,说明这个目录或文件已经设置了ACL权限相关的内容。如果加号存在,则已经有点的目录或文件中的点的显示会被覆盖,但原来的SELinux属性保持不变

SElinux

安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。在使用了 SELinux 的操作系统中,决定一个资源是否能被访问的因素除了看某个资源是否拥有对应用户的权限(读、写、执行)之外,还需要判断每一类进程是否拥有对某一类资源的访问权限。这样一来,即使进程是以 root 身份运行的,也需要判断这个进程的类型以及允许访问的资源类型才能决定是否允许访问某个资源。进程的活动空间也可以被压缩到最小。即使是以 root 身份运行的服务进程,一般也只能访问到它所需要的资源。即使程序出了漏洞,影响范围也只有在其允许访问的资源范围内。安全性大大增加。

SELinux 有三种工作模式 enforcing:强制模式。违反 SELinux 规则的行为将被阻止并记录到日志中 permissive:宽容模式。违反 SELinux 规则的行为只会记录到日志中。一般为调试用 disabled:关闭 SELinux


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3