特殊權限
SUID
作用:臨時賦予用戶二進制文檔的擁有者的權限(主要用於讓普通用戶可以使用某些特殊命令)
chmod u+s file(增加s權限)
chmod u-s file(減去s權限)
使用限制與環境:
1、僅對於二進制文件有效;
2、執行者必須對文件擁有x權限(否則即使設置了SUID,由於你對文件根本無法執行SUID此時也無效,此時權限位顯示S);
3、權限只是在執行過程中擁有。
PS:例如passwd命令,路徑/usr/bin/passwd,權限爲"-rwsr-xr-x"。(passwd命令會修改"/etc/shadow")
PS:SUID只可用於二進制文件,不可用於shell script文件。
SGID
對於文件
作用:臨時賦予用戶二進制文檔的擁有組的權限(多用於讓普通用戶可以使用某些特殊命令,和suid類似)
chmod g+s file(增加s權限)
chmod g-s file(減去s權限)
使用限制與環境:
1、僅對於二進制文件有效;
2、執行者必須對文件擁有x權限(否則根本無法執行文件,更別談SGID賦予權限,此時權限位顯示S);
3、權限只是在執行過程中擁有。
PS:例如locate命令,路徑/usr/bin/locate,權限爲"rwx--s--x"。 (locate命令會讀取"/var/lib/mlocate/mlocate.db")
對於目錄
作用:臨時將用戶的effective group修改成該目錄的的羣組
chmod g+s dir(增加s權限)
chmod g-s dir(減去s權限)
使用限制與環境:
1、使用者必須對該目錄擁有x權限(否則無法進入,更別談SUID賦予權限,此時權限位顯示S);
2、若用戶對此目錄擁有w權限,由於effective group被修改成該目錄的group,所以用戶在此目錄下創建任何文件,屬組該目錄的用戶組。
SBIT
作用:限制目錄下不同用戶之間對於其他用戶文檔或目錄的編輯權限。
chmod o+t dir(增加t權限)
chmod o-t dir(減去t權限)
使用限制與環境
1、只能針對目錄;
2、必須有x和w權限(否則無法進入和編輯,更不用談sbit權限,此時權限位顯示T);
3、用戶自身創建的文檔和目錄,只有自己和root可以編輯(重命名、修改內容、複製、刪除等)
2、查詢文件類型與文件位置命令
軟硬鏈接文件
1.硬鏈接
一般情況下,文件名和inode號碼是"一一對應"關係,每個inode號碼對應一個文件名。但是,Unix/Linux系統允許,多個文件名指向同一個inode號碼。
這意味着,可以用不同的文件名訪問同樣的內容;對文件內容進行修改,會影響到所有文件名;但是,刪除一個文件名,不影響另一個文件名的訪問。這種情況就被稱爲"硬鏈接"(hard link)。
2.軟鏈接
除了硬鏈接以外,還有一種特殊情況。
文件A和文件B的inode號碼雖然不一樣,但是文件A的內容是文件B的路徑。讀取文件A時,系統會自動將訪問者導向文件B。因此,無論打開哪一個文件,最終讀取的都是文件B。這時,文件A就稱爲文件B的"軟鏈接"(soft link)或者"符號鏈接(symbolic link)。
這意味着,文件A依賴於文件B而存在,如果刪除了文件B,打開文件A就會報錯:"No such file or directory"。這是軟鏈接與硬鏈接最大的不同:文件A指向文件B的文件名,而不是文件B的inode號碼,文件B的inode"鏈接數"不會因此發生變化。
3.創建硬鏈接和軟鏈接
ln ms ms_hard 創建ms文件的硬鏈接ms_hard
ln -s ms ms_soft 創建ms文件的軟連接ms_soft
4.不同點
1、硬鏈接inode號不變,軟鏈接會變。原文件修改之後,硬鏈接和軟鏈接都會被修改;
2、刪除原文件之後,硬鏈接可以繼續使用,軟鏈接就不能使用了;
3、硬鏈接不能指向目錄;軟鏈接可以指向目錄;
4、硬鏈接不能跨分區;軟鏈接可以跨分區。