Linux 特殊权限

Linux 有三个高级权限suid,sgid,sticky。

 

1、suid

suid 属性只能运用在可执行文件上,含义是开放文件所有者的权限给其他用户,即当用户执行该执行文件时,会拥有该执行文件所有者的权限。如果给一个非二进制文件文件附加suid权限,则会显示大写S,属于无效。

latiny 用户能够执行passwd 命令修改自己的密码,修改密码其实就是修改/etc/shadow 这个文件,查看/etc/passwd这个文件的权限,发现除了root其他人没有写权限,但是latiny用户能够成功执行passwd,其原因就在于passwd这个命令的权限是rwsrw----,其中's'的作用就是让执行命令的人具有和该命令拥有者相同的权限

[root@localhost latiny]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd

添加权限命令:

chmod u+s file

chmod 4765 file

 

2、sgid

sgid 属性可运用于文件或者目录,运用在文件的含义是开放文件所属组的权限给其他用户,即当用户执行该执行文件时,会拥有该执行文件所属组用户的权限。如果给一个非二进制文件文件附加sgid权限,则会显示大写S,属于无效。

运用在目录上的含义是,在该目录下所有用户创建的文件或者目录的所属组都和其一样。即如果/home/latiny目录具有sgid权限,且所属组是latiny,则任何用户在/home/latiny下创建的子目录或者文件的所属组都是latiny。

添加权限命令:

chmod g+s directory

chmod 2765 directory

 

3、sticky

sticky 权限只能运用于目录上,含义是该目录下所有的文件和子目录只能由所属者删除,即使其的权限是777或者其他。一个公共目录,每个人都可以创建文件,删除自己的文件,但不能删除别人的文件(仅对目录有效)。

添加权限命令:

chmod o+t directory

chmod 1765 directory

posted @ 2019-06-26 22:58  Latiny  阅读(3843)  评论(0编辑  收藏  举报