一、set_uid
set_uid其实是一种特殊权限,我们看一个文件:
它的所有者的x权限位被s代替了。那么这个s代表什么意思呢?它代表执行这条命令的普通用户,能暂时拥有这个命令所有者的身份。
举个例子来说,我们可以通过passwd命令来修改密码。我们再来看看密码存放的文件:
二、set_gid
set_gid作用在文件时的意义和set_uid基本一样,只是普通用户在执行它时获得的是文件的所属组的身份。
set_gid作用于目录时,目录下新建的文件和目录的组名都会和该目录一致:
[root ~]# chown :suntingpeng 1
[root ~]# ls -ld 1 drw-rwsrw- 4 suntingpeng suntingpeng 4096 Oct 26 00:22 1 [root ~]# touch 1/1.txt [root ~]# ls -l 1 total 12 -rw-r--r-- 1 root suntingpeng 0 Oct 26 22:30 1.txt drwxr-xr-x 3 suntingpeng suntingpeng 4096 Oct 26 00:01 4 drwxrwxr-- 2 root root 4096 Oct 26 00:22 5 -rw-rw-r-- 1 root root 2 Oct 26 00:24 5.txt [root ~]#发现设置了set_gid之后,在1目录下新建的1.txt的所属组变成了suntingpeng。
三、stick_bit
防删除位。它的作用就是:我的文件你不能删除。但是你可以修改。/tmp/目录就有这个防删除位,在其他用户的可执行权限位的地方。
四、软连接
软链接相当于windows里的快捷方式。他的生成方式:
软连接的特点是,占用空间小。在生成软连接时,尽量使用绝对路径,这样在移动软连接时,链接就不会失效。
五、硬链接
硬链接和原来的文件占用同一个inode地址:
目录是不能做硬链接的,因为目录有自己的inode体系。
硬链接不能跨分区,因为每个分区都有自己的inode体系。