檔案特殊許可權

2021-09-08 13:35:54 字數 2665 閱讀 3374

檔案特殊許可權

liunx學問博大精深,今天我們一起來學習一下比較有意思的三個特殊許可權,雖然我們平時不常用,但是我們必須得知道,因為他們的作用在linux作業系統的管理上起著舉足輕重的作用,我們可不能小看他們喲,我們今天的主句就是suid,sgid,sbit三個許可權的展示。

一.setuid

1.setuid的功能

a>.只有可以執行的二進位制程式才能設定suid許可權;

b>.命令執行者要對該程式擁有x(執行)許可權;

c>.命令執行者在執行該程式時獲得該程式檔案(擁有suid許可權的檔案)屬主的身份(在執行程式的靈魂附體為檔案的屬主);

d>.setuid許可權只在改程式執行過程中有效,也就是說身份改變只在程式執行過程中有效;

案例:passwd命令擁有setuid許可權,所以普通使用者可以修改自己的密碼。cat命令沒有setuid許可權,所以普通使用者不能檢視/etc/shadow檔案內容:

2.設定setuid的方法

4代表suid許可權

3.取消setuid的方法

4.危險的setuid

a>.關鍵目錄應嚴格控制寫許可權。比如「/」,「/usr」等

b>.使用者和密碼設定要嚴格遵守密碼的三原則;

c>.對系統中預設應該具有setuid許可權的檔案作一列表,定時檢查有沒有這之外的檔案被設定了setuid許可權。

一旦你給乙個命令設定了suid許可權,那麼任何乙個普通使用者在執行這個命令編輯檔案是,就會立刻獲得root許可權喲!所以要慎重解決你的操作呢!

二.setgid

1.setgid針對檔案的作用

a>.只有可執行的二進位制才能設定sgid許可權;

b>.命令執行者要對改程式擁有x(執行)許可權;

c>.命令執行在執行程式的時候,組身份公升級為該程式檔案的陣列;

d>.setgid許可權同樣只在改程式執行過程中有效,也就是說組身份改變只在程式執行過程中有效;

從上圖我們可以看出:

a>."/usr/bin/locate"是可執行二進位制程式,可以賦予sgid;

b>.其他使用者對"/usr/bin/locate"命令時,組身份會公升級為slocate組,而slocate組對"/var/lib/mlocate/mlocate.db"資料庫擁有r許可權,所以其他使用者可以使用locate命令查詢mlocate.db資料庫。

c>.命令結束,其他使用者的組身份返回為其原來的組身份。

2.setgid針對目錄的作用

a>.普通使用者必須對此目錄擁有r和x許可權,才能進入此目錄;

b>.普通使用者再次目錄中的有效組會變成此目錄的陣列;

c>.若普通使用者對此目錄擁有w許可權時,新建的檔案的缺省屬組是這個目錄的陣列;

3.設定setgid的方法

2代表sgid許可權

4.取消setgid的方法。

三.skicky bit +

1.sbit粘著位作用

a>.粘著位目前只對目錄有效;

b>.普通使用者對該目錄擁有w和x許可權,即普通使用者可以再次目錄擁有寫入許可權;

c>.如果沒有粘著位,因為普通使用者又有w許可權,所以可以刪除此目錄下所有檔案,包括其他使用者建立的檔案,一旦賦予了黏著位,除了root可以刪除所有檔案,普通使用者就算擁有w許可權,也只能刪除自己建立的檔案,但是不能刪除其他使用者建立的檔案。

2.sbit黏著位的設定與取消

1代表bit許可權。

3.黏著位的應用實戰

總結:

suid:只針對可執行檔案(二進位制檔案),不建議設定且要定時檢查系統中被修改的檔案;

sgid:既可以針對可執行檔案,也可以針對可執行目錄;

sbit:只針對目錄生效;一旦給目錄設定了該許可權,某個使用者在這個目錄下建立的檔案只能尤其自己刪除或是root使用者刪除,其他使用者都是沒有許可權刪除的喲。

檔案特殊許可權

setuid 也叫 suid,它的特點如下 setuid 的典型應用場景是 passwd 命令。普通使用者可以用 passwd 命令修改自己的密碼,修改密碼實際上是修改 etc shadow檔案,而該檔案的許可權是 000,那麼這時就需要普通使用者暫時獲得 root 使用者的身份,來修改 etc s...

檔案特殊許可權

setuid setuid的功能 類似windows中的以管理員身份執行 只有可以執行的二進位制程式才能設定suid許可權 命令執行者要對該程式擁有x 執行 許可權 命令執行者在執行該程式時獲得該程式檔案屬主的身份 setuid許可權只在該程式執行過程中有效,也就是說身份改變只在程式執行過程中有效 ...

檔案特殊許可權

1.suid set uid a.當s這個標誌出現在檔案所有者的x許可權上時,此時就被稱為set uid,簡稱suid的特殊許可權。此許可權的功能與許可權如下 suid僅對二進位制程式有效 執行者對於該程式需要具有x的可執行許可權 本許可權僅在執行該程式的過程中有效 執行者將具有該程式所有者的許可權...