一、 特殊权限 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 号的改变。