天天看点

特殊权限set_uid、set_gid、stick_bit、软链接文件、硬连接文件

linux中除了常见的读(r)、写(w)、执行(x)权限以外,还有3个特殊的权限,分别是setuid、setgid和stick bit

-rwsr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd

所属者多了一个r,这就是setuid

setuid就是:让普通用户拥有可以执行“只有root权限才能执行”的特殊权限,setgid同理指"组"

stick bit (粘贴位)

[root@centos-128 ~]# ls -ld /tmp/

drwxrwxrwt. 8 root root 225 Oct 15 17:26 /tmp/

tmp目录是所有用户共有的临时文件夹,所有用户都拥有读写权限,这就必然出现一个问题,A用户在/tmp里创建了文件a.file,此时B用户看了不爽,在/tmp里把它给删了(因为拥有读写权限),那肯定是不行的。实际上是不会发生这种情况,因为有特殊权限stick bit(粘贴位)权限,正如drwxrwxrwt中的最后一个t;

stick bit (粘贴位)就是:除非目录的属主和root用户有权限删除它,除此之外其它用户不能删除和修改这个目录。也就是说,在/tmp目录中,只有文件的拥有者和root才能对其进行修改和删除,其他用户则不行,避免了上面所说的问题产生。用途一般是把一个文件夹的的权限都打开,然后来共享文件,象/tmp目录一样。

setuid:chmod u+s xxx

setgid: chmod g+s xxx

stick bit : chmod o+t xxx

setuid:chmod 4755 xxx

setgid:chmod 2755 xxx

stick bit:chmod 1755 xxx

最后,在一些文件设置了特殊权限后,字母不是小写的s或者t,而是大写的S和T,那代表此文件的特殊权限没有生效,是因为你尚未给它对应用户的x权限 

软链接文件(相当于window的快捷方式,删除后对文件内容无影响):

ln -s 源文件 目标文件

[root@test ~]# ln -s 1.txt 2.txt

[root@test ~]# ls -la 2.txt 

lrwxrwxrwx 1 root root 5 Oct 23 12:02 2.txt -> 1.txt

硬连接文件(相当于复制一个文件,但是占用了容量)

[root@test ~]# ln 1.txt 2.txt

[root@test ~]# du -sh 1.txt 

4.0K 1.txt

[root@test ~]# du -sh 2.txt 

4.0K 2.txt

本文转自 iekegz 51CTO博客,原文链接:http://blog.51cto.com/jacksoner/1972644,如需转载请自行联系原作者

继续阅读