一、 特殊权限 set_uid

[root@centos701 ~]# ls -l /usr/bin/passwd

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

上面的 s 就是 set_uid 的权限,它能让普通用户临时拥有该命令的所有者身份进行命令的运行。

此权限只是作用在二进制可执行文件上。


设置方法(以授权/usr/bin/ls 为例)

1.直接增加s权限

[root@centos701 ~]# chmod u+s /usr/bin/ls

[root@centos701 ~]# ls -l /usr/bin/ls

-rwsr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls

2. 少了 x 权限变成了大 S,但不影响普通用户执行

[root@centos701 ~]# chmod u=rws /usr/bin/ls

[root@centos701 ~]# ls -l /usr/bin/ls

-rwSr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls


二、特殊权限 set_gid

[root@centos701 ~]# ls -l /usr/bin/ls

-rwxr-sr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls

与 set_uid类似 ,其作用是保证普通用户临时拥有该命令的所有组身份。可作用在文件和目录上。作用在目录上的时候,普通用户在其下创建子目录或者子文件的时候与本目录所属组相同。


设置方法

[root@centos701 ~]# chmod g+s /usr/bin/ls


三、特殊权限 stick_bit (防删除位)

[root@centos701 ~]# ls -ld /tmp/

drwxrwxrwt. 11 root root 4096 10月 26 09:34 /tmp/

上面的t 表示 stick_bit 表示,通过权限可得任何用户都可以对其读写,但在有 t 的时候。

谁的文件谁做主,只有创建者和 root才能进行删除操作(由其所属父目录决定是否具有防删除功能),同时,只要对目录有w 权限,即可删除目录下任何文件。


设置方法

[root@centos701 ~]# chmod o+t /usr/bin/ls


四、软链接文件(彩色)

类似于 windows 的快捷方式,只占用很少的磁盘空间。但路径越长软链接文件越大,软链接最多的在/lib64/下

[root@centos701 ~]# ls -l /bin

lrwxrwxrwx. 1 root root 7 10月 17 21:56 /bin -> usr/bin

[root@centos701 ~]# ls -l /sbin

lrwxrwxrwx. 1 root root 8 10月 17 21:56 /sbin -> usr/sbin


设置方法

ln -s [源文件路径(支持相对和绝对)] [目标路径(支持相对和绝对)]   

尽量使用绝对路径,如:给/tmp/yum.log 做一个软链接到/root/111/yum.log

[root@centos701 ~]# ln -s /tmp/yum.log /root/111/yum.log

[root@centos701 ~]# ls -l !$

lrwxrwxrwx. 1 root root 12 10月 26 22:19 /root/111/yum.log -> /tmp/yum.log

该方法同样适用于文件夹的软链接。


老师技巧分享:

[root@centos701 ~]# df -h

文件系统        容量  已用  可用 已用% 挂载点

/dev/sda3        26G  1.8G   25G    7% /

devtmpfs        479M     0  479M    0% /dev

tmpfs           489M     0  489M    0% /dev/shm

tmpfs           489M  6.7M  482M    2% /run

tmpfs           489M     0  489M    0% /sys/fs/cgroup

/dev/sda1       197M  109M   89M   56% /boot

tmpfs            98M     0   98M    0% /run/user/0

系统中有一个进程 aming 一直往/boot/aming.log 下写数据,此时/boot 分区快满了,我们可以考虑把 /boot/aming.log 移动到比较空闲的分区 /下。

1.cp /boot/aming.log /aming.log

2.rm /boot/aming.log ;ln -s /aming.log /boot/aming.log

这样就完成了真实文件从/boot 到/的迁移,并且 aming 进程也不会出错


五、 硬链接文件

不支持对目录做链接,不支持跨分区做文件硬链接(因为每个分区都有一套独立的 inode,会造成 inode 重复),用户创建的链接文件和源文件的 inode 号一样,这两个相互为硬链接

如 :ln 1.txt 1_heard.txt    ---创建好后的硬链接1_heard.txt与1.txt拥有相同的 inode 号


软链接和硬链接的区别:删除链接的源文件后,软链接就会失效,但是硬链接就不会受影响,只会造成 inode 号的改变。