一、 特殊權限 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 號的改變。