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
本文转自方向对了,就不怕路远了!51CTO博客,原文链接: http://blog.51cto.com/jacksoner/1972644,如需转载请自行联系原作者