Linux文件与目录的权限设置:SUID SGID STICKY_BIT

Linux文件与目录的权限设置:SUID SGID STICKY_BIT

 

 

 

 

 

一、文件和目录权限的基础知识:

 

-rwxrwxrwx. 1 root root   0 May 29 00:59 test

 

说明:

---- 文件和目录的第1个字段的第2个字符至第10个字符,为文件权限设置字符串。

---- 文件所有者权限owner(红色):第2个字符至第4个字符。 

---- 文件的属组权限group(绿色):第5个字符至第7个字符。

---- 文件的其他人权限other(蓝色):第8个字符至第10个字符。  

 

 

 

 

二、SUID(set user id,4,u+s)

 

1、功能:将文件的非所有者用户的权限,短暂提升为文件owner权限。

 

2、使用条件(同时满足所有条件):文件为二进制可执行文件suid_file;二进制可执行文件的非所有者用户至少拥有suid_file文件的可执行权限x。

 

3、使用范围:suid只能用于文件。

 

4、设置过程:

---- suid权限代表数字为4,符号为s;s替代文件的owner的x权限。

---- touch suid_file

---- chmod 4777 suid_file

---- 结果:-rwsrwxrwx. 1 root root 0 May 29 00:59 suid_file

 

5、总结:suid只能用于文件,不能用于文件夹(目录)。suid把非所有者权限短暂提升为所有者权限

 

 

 

 

三、SGID(set group id,2,g+s)

 

1、功能:在具有sgid权限的文件夹下,建立的文件或文件夹与具有sgid属性的父级文件夹具有相同的属组。

 

2、使用条件(同时满足条件):用户至少拥有文件夹的可执行权限x;具有sgid权限的文件夹具有可执行权限。

 

3、使用范围:文件和文件夹,常用于文件夹

 

4、设置过程:

---- sgid权限代表数字为2,符号为s,s替代group的x权限。

---- groupadd horse

---- mkdir sgid_folder

---- chown .horse sgid_folder

---- chmod 2777 sgid_folder

---- 结果:drwxrwsrwx. 3 root horse  37 May 29 01:28 sgid_folder

---- 说明:在sgid_folder文件夹下面建立的文件或目录的属组默认都是horse。

 

5、总结:sgid对文件和文件夹都有效,常用于文件夹。sgid设置其内的文件及文件夹的默认属组,管理员常常通过属组管理用户权限。

 

 

 

 

 

四、STICKY_BIT(粘滞位,1,o+t)

 

1、功能:具有sticky_bit权限的文件夹里面的文件或文件夹,只有文件或文件夹的所有者和root用户才有权利删除。在共享目录环境中,防止其他用户误删他人建立的文件。

 

2、使用条件:文件夹具有sticky_bit权限;用户至少具有x权限。

 

3、使用范围:文件夹。

 

4、设置过程:

---- sticky_bit权限代表数字为1,代表字符为t;t替代other权限的x位置。

---- mkdir sticky_bit_folder

---- chmod 1777 sticky_bit_folder

---- 结果:drwxrwxrwt. 2 root root    6 May 29 01:58 sticky_bit_folder

---- 说明:在sticky_bit_folder文件夹下建立的文件与文件夹,只能由文件与文件夹的所有者和root账户才能删除,其他人不能删除他人文件或文件夹。

 

5、总结:sticky_bit用于防止他人误删文件

 

 

 

 

 

五、重点说明:

 

1、设置“suid/sgid/sticky_bit”权限的文件、文件夹、用户至少具有x权限,缺少x权限会出现大写"S或者T",出现“S/T”意味着设置不成功。

 

2、同时具有“suid/sgid/sticky_bit”权限的设置方法(没啥实际意义,7= suid4 + sgid2 +sticky_bit1):chmod    7777    file_folder

相关推荐