linux 特殊权限(linux文件默认权限)
很多朋友对于linux 特殊权限和linux文件默认权限不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
Linux特殊权限 SUID、SGID、Sticky
文件的特殊权限有三种:1、suid;2、sgid;3、sticky,其中,suid和sgid用于累加提升权限,简单来说就是如果原来的用户可以访问,反而切换到的用户或者组不能访问,这时候照样是可以访问的,下面介绍下这三种权限。
SUID:
1、需要注意的是,只对二进制可执行程序有效,不能为普通文件;
2、发起者对程序文件必须拥有执行权限;
3、启动为进程之后,其进程的宿主为原程序文件的宿主;
4、SUID设置在目录上毫无意义。
SGID:
可以应用在二进制文件和作用在文件夹下,当作用在二进制文件下时,作用和SUID相似,只不过SUID是把发起者临时变为文件的所有者,而SGID是把进程的发起者变成源程序文件的属组,默认情况下,用户创建文件时,其属组为此用户所属的主组,当SGID作用在目录下时,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组,通常用于创建一个协作目录。
Sticky:
默认情况下用户可以删除具有写权限的目录中的任何文件,无论该文件的权限或拥有权,如果在目录设置Sticky位,只有文件的所有者或root**可以删除该文件,Sticky位是作用在文件夹的,设置在文件上毫无意义。
linux 文件有哪些特殊权限
文件的特殊权限有三种:1、suid;2、sgid;3、sticky,其中,suid和sgid用于累加提升权限,简单来说就是如果原来的用户可以访问,反而切换到的用户或者组不能访问,这时候照样是可以访问的,下面介绍下这三种权限。
SUID:
1、需要注意的是,只对二进制可执行程序有效,不能为普通文件;
2、发起者对程序文件必须拥有执行权限;
3、启动为进程之后,其进程的宿主为原程序文件的宿主;
4、SUID设置在目录上毫无意义。
SGID:
可以应用在二进制文件和作用在文件夹下,当作用在二进制文件下时,作用和SUID相似,只不过SUID是把发起者临时变为文件的所有者,而SGID是把进程的发起者变成源程序文件的属组,默认情况下,用户创建文件时,其属组为此用户所属的主组,当SGID作用在目录下时,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组,通常用于创建一个协作目录。
Sticky:
默认情况下用户可以删除具有写权限的目录中的任何文件,无论该文件的权限或拥有权,如果在目录设置Sticky位,只有文件的所有者或root**可以删除该文件,Sticky位是作用在文件夹的,设置在文件上毫无意义。
9.15 Linux文件特殊权限(SUID、SGID和SBIT)的设置
已经深入理解了SUID、SGID和SBIT的特殊权限概念,如何实际操作呢?答案在于chmod命令。chmod命令设置权限的方式有两种,数字形式和字母形式。
对于特殊权限的设定,只需在常规权限数字前添加额外的位。例如,SUID权限对应数字4,SGID权限对应数字2,SBIT权限对应数字1。例如,要将一个文件权限从755变为-rwsr-xr-x,只需在755前加上4,即执行chmod 4755命令。
理解权限“755”代表所有者rwx,组成员rx,其他人tx,SUID、SGID和SBIT的特殊性需额外的权限标记。SUID仅对可执行文件有效,SGID对文件和目录有效,而SBIT仅对目录。尝试赋予一个文件7---,虽然无实际意义,但演示了权限的赋予和移除过程。
字母形式的chmod也十分直观,如“u+s”为文件赋予SUID,“g+s”为文件或目录赋予SGID,“o+t”为目录赋予SBIT。例如,chmod u+s ftest验证了字母形式的可用性,但对ftest本身无实际影响。
重要的是,赋予特殊权限时,x权限会转换为s或t。若文件或目录原本无x权限,赋予特殊权限将无效。如对不具备x权限的文件或目录进行设置,可以看到权限位标记为S或T,表示权限设置无效。
最后,虽然文章提供了一些操作实例,但请记住,特殊权限的运用需要结合实际场景,以实现其真正作用。感谢你的关注与支持,更多Linux学习资源请访问我的个人网站:Linux学习指南。