Linux文件特殊权限、FACL、sudo

suid 属主有s权限,意味着任何用户在执行此程序时,不以发起者的身份运行,而是以程序所有者的身份执行。

sgid:属组有s权限,执行此程序时,其进程的属组不再是运行着本人所属的基本组,而是此文件的属组,主要目的不是上述内容,而是在某些场景下,在某个目录中创建的文件属组是目录的属组,而不是用户的基本组。

sticky:附加载other上权限,每个用户只可以删除自己的文件。


FACL用于实现在原有的控制机制之外,再补充一种访问控制功能。


getfacl用以查看文件的访问控制列表

setfacl

-m:设置:setfacl -mu:mysql:rw-  /root/abc

-x:删除setfacl -x  u:mysql  /root/abc


在有了facl之后,文件权限的检查顺序:

1、用户是否为文件属主

2、用户是否匹配特定的访问控制条目

3、用户是否在文件属组

4、用户所在组是否匹配特定的访问控制条目

5、其它。

如果有其他的文件系统,默认acl是没有打开的。

可以使用umount 之后,mount -oacl 来重新挂载。

写入fstab defaults,acl

tune2fs -o acl   /path/to/device   调整卷属性,添加acl特性

tune2fs -o ^acl   /path/to/device  删除acl特性



sudo

用于控制某个用户能够以另外一个用户的身份在哪台主机上执行什么命令

格式:who  which_host=(run_as_xxuser)   commands

建议使用visudo编辑配置文件,有语法检查功能。


别名种类:

用户别名:User_Alias

主机别名:Host_Alias

身份别名:Runas_Alias

命令别名:Cmnd_Alias


别名只能使用大写英文字母,可以使用!取反

User_Alias  名称 = 用户名,%组名,其他用户别名

Host_Alias  名称 = 主机名、ip、网络地址、其他主机别名

Runas_Alias 名称 = 用户名、%组名,其他的Runas组名

Cmnd_Alias  名称 = 命令路径、目录(此目录内的所有命令),其他命令别名


sudo -l  列出可以使用的命令

-k 每次必须输入密码;

tomALL=(root) NOPASSWD: /usr/sbin/useradd PASSWD: /usr/sbin/usermod

User_AliasUSERADMIN = tom %tom

Cmnd_AliasUSERADMINCMND = /usr/sbin/useradd, /usr/sbin/usermod, /usr/sbin/userdel,/usr/sbin/passwd [A-Za-z]*,  !/usr/sbin/passwd root


其他配置详见man 5 sudoers


本文出自 “每天进步1%” 博客,请务必保留此出处http://jackyan.blog.51cto.com/2589874/1392357

Linux文件特殊权限、FACL、sudo,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。