linux下文件的特殊权限s和t

来源:互联网 发布:java maven 非web项目 编辑:程序博客网 时间:2024/03/29 15:33
linux下的权限s和权限t是针对执行权限来讲的。

s权限:是为了让一般使用者临时具有该文件所属主/组的执行权限。就比如/usr/bin/passwd在执行它的时候需要去修改/etc/passwd和/etc/shadow等文件,这些文件除了root外,其他用户都没有写权限,但是又为了能让普通用户修改自己的密码,只能时临时让他们具有root的权限。所以这个s权限就是用来完成这个特殊任务的。s权限只能应用在二进制的可执行文件上。

如果你不想让普通用户修改自己的密码,只需要[root@localhost ~]# chmod u-s /usr/bin/passwd  或者[root@localhost ~]# chmod 0755 /usr/bin/passwd

0755最前面的0表示不使用任何特殊权限,该位上的数字可以是0,1(--t),2(-s-),3(-st),4(s--),5(s-t),6(ss-),7(sst)


t权限:t权限只针对目录生效,它表示只能让所属主以及root可以删除(重命名/移动)该目录下的文件。比如/tmp目录本来就是任何用户都可以读写,如果别人可以任意删除(重命名/移动)自己的文件,那岂不是很危险。所以这个t权限就是为了解决这个麻烦的。下面举一个例子,说明一下这个权限的用法:

1.首先让我们增加一个新的用户


2.将work目录的权限更改为1777,是其他用户不能删除(重命名/移动)该目录下的文件。


3.切换到其他用户尝试删除文件


4.由上图可以看到无法删除  那么我们去掉t权限再来看一看



0 0