現象:/tmp占用400M的空間(裡面全部是亂七八糟的東西)
動作:刪除/tmp目錄
後果:造成只能啟動到控制台模式
應急搶救:
1 創建目錄:
#mkdir /tmp
結果系統在控制台模式登錄和X windows模式登錄狀態間反復切換,不能進入系統。
2 改變權限:
#chmod a+rwx,o+t /tmp
即為:
drwxrwxrwt 4 root root 4096 9月 16 15:18 tmp
系統恢復正常。
具體分析原因如下:
正常情況下,/tmp目錄的權限是:
drwxrwxrwt 4 root root 4096 9月 16 15:18 tmp
它表示所有的用戶都可以在其中建立文件(或目錄),即任何人都對tmp目錄擁有“寫權限”,但是除非tmp目錄的所有者和文件的所有者,其他人不能在/tmp目錄下改寫(或刪除、重命名)別人的文件(或目錄)。
如果你刪除了系統的tmp目錄,又用mkdir /tmp建立這個目錄,那麼根據umask的規定,默認建立的目錄的權限是:
drwxr-xr-x 3 root root 4096 9月 16 15:31 tmp
那麼其他人就不能在/tmp目錄下建立文件了;
這時,系統將出現故障(如:不能啟動或不能進入x windows);
如果你用:
#chmod a+w /tmp ##改變/tmp目錄的權限為:
drwxrwxrwx 3 root root 4096 9月 16 16:34 tmp
那麼任何人都可以刪除別人在/tmp目錄下的文件了,包括刪除root在/tmp目錄下建立的文件;
如果用:chmod o+t /tmp為/tmp目錄加了粘滯位t,那麼其他人就不能在tmp目錄下改寫(或刪除、重命名)別人的文件(或目錄),起到了/tmp目錄的作用。
另外,“suid”和“sgid”特殊標志位可以使普通用戶運行一個程序,使這個程序訪問或修改只有文件所有者或root用戶才能直接訪問或修改的文件,當然前提是這個普通用戶對這個文件的某個部分擁有相應的權限。