1. acl許可權簡介與開啟
目前linux中只有擁有者,所屬組,其他人,給所有者和所屬組分配rwx的許可權,其他人沒有許可權,這時出現了一種情況需要給乙個使用者提供讀和執行和許可權,那麼應該怎麼做呢?
acl 是 access control list 的縮寫,稱為訪問控制列表,包含了對乙個物件或一條記錄可進行何種操作的許可權定義。
功能描述:dumpe2fs命令查詢指定分割槽詳細檔案系統資訊語法:dumpe2fs -h /dev/sda3
-h 僅顯示超級塊中資訊而不顯示磁碟塊組的詳細資訊
注意:為檔案分配acl許可權需要它所在的分割槽支援才可以分配
使用命令後檢視default mount options中是否有acl
功能描述:重新掛載根分割槽同時加入acl許可權語法:mount -o remount,acl /
注意:臨時生效
vim /etc/fstab2. 檢視與設定acl許可權該檔案定義了儲存裝置和分割槽整合到整個系統的方式,mount 命令會讀取這個檔案,確定裝置和分割槽的掛載選項
在根分割槽的defaults預設是開啟了acl許可權的,如果電腦中的default沒有開啟acl許可權可以在defaults後面新增,acl
注意:修改了配置檔案需要重啟,載入配置檔案
功能描述:檢視acl許可權語法:getfacl 檔名
功能描述:設定acl許可權3. 最大有效許可權與刪除acl許可權通過getfacl可以得到acl相關資訊,其中存在乙個mask欄位,mask用於指定最大有效許可權,如果給使用者賦予了acl許可權,是需要和mask的許可權相與才能得到真正許可權(對擁有者無效)語法:setfacl [-mxbdkr] 檔名
-m 設定acl許可權
-x 刪除指定acl許可權
-b 刪除所有acl許可權
-d 設定預設acl許可權
-k 刪除預設acl許可權
-r 遞迴設定acl許可權
例子:setfacl -m u:username:rx /project 給username使用者賦予rx許可權,格式為」u:使用者名稱:許可權」
setfacl -m g:groupname:rwx /project 給groupname組分配acl許可權
功能描述:修改最大有效許可權語法:setfacl -m m:rx /project/
功能描述:刪除指定使用者或指定組的acl許可權語法:setfacl -x u:使用者名稱/g:組名 檔名
功能描述:刪除檔案的所有acl許可權4. 預設acl許可權和遞迴acl許可權語法:setfacl -b 檔名
功能描述:遞迴設定acl許可權(遞迴是父目錄在設定acl許可權時,所有現有的子檔案和子目錄檔案也會擁有相同的acl許可權)語法:setfacl -m u:使用者名稱:許可權 -r 目錄
功能描述:如果給父目錄設定了預設acl許可權,那麼父目錄中所有新建的子檔案都繼承父目錄的acl許可權1. setuid語法:setfacl -m d:u:使用者名稱:許可權 目錄
只有可執行的二進位制程式才能設定suid許可權命令的執行者需要擁有程式的執行許可權
命令執行者在執行擁有suid許可權的程式時會暫時性獲得該程式檔案的屬主身份
setuid許可權只在該程式執行過程中有效
例如普通使用者可以修改自己的密碼,但是實際上可以看到/etc/shadow的許可權是000,只有root使用者可以操作,究其原因是因為/usr/bin/passwd這個命令的所有者的許可權為rws即存在suid許可權,所以普通使用者在執行時可以通過獲得/usr/bin/passwd的所有者即root的身份,從而對/etc/shadow進行操作
功能描述:設定suid語法:chmod 4755 檔名
uchmod u+s 檔名
注意:4代表suid,2代表sgid,1代表sbit
功能描述:取消suid2. setgid語法:chmod 755 檔名
chmod u-s 檔名
針對檔案時:只有可執行的二進位制程式才能設定sgid許可權
命令執行者要對程式擁有執行許可權
命令執行在執行程式的時候,組身份公升級為該程式檔案的屬組
setgid許可權同樣只在程式執行過程中有效
針對目錄時:
普通使用者必須對此目錄擁有讀和執行許可權才能進入目錄
普通使用者在此目錄中的有效組會變成目錄的屬組
若普通使用者對此目錄具有寫許可權時,新建的檔案的缺省屬組是這個目錄的陣列,但擁有者仍然是普通使用者
普通使用者雖然對locate查詢的資料庫mlocate.db沒有讀的許可權,但是locate具有sgid的作用,使用時使用者的組身份會公升級為slocate,從而對mlocate.db具有讀的許可權
功能描述:設定/取消sgid3. sticky bit粘著位語法:chmod 2755/755 [目錄/檔名]
chmod g+s/g-s [目錄/檔名]
粘著位目前只對目錄有效普通使用者對該目錄擁有寫和執行許可權
如果沒有粘著位,因為普通使用者擁有寫許可權,所以可以刪除此目錄下所有檔案,包括其他使用者建立的檔案;一旦賦予了粘著位,除了root可以刪除所有檔案,普通使用者就算擁有寫許可權也只能刪除自己建立的檔案
執行許可權:root功能描述:設定/取消粘著位
語法:chmod 1755/755 目錄名
chmod o+t/o-t 目錄名
功能描述:設定或去除檔案系統屬性語法:chattr [+-=] [ia] [檔案/目錄]
+ 增加許可權
- 刪除許可權
= 等於某許可權
i 如果對檔案設定,則不允許對檔案進行刪除,改名也不能新增和修改資料;如果對目錄設定,那麼只能修改目錄下檔案的資料,不能建立和刪除檔案
a 如果對檔案設定a屬性,那麼只能在檔案中增加資料(不能使用vi),不能刪除和修改資料;如果對目錄設定,那麼只允許在目錄中建立和修改檔案內容,但不允許刪除
注意:對root使用者也生效!!
功能描述:檢視檔案系統屬性sudo許可權能夠使得root把本來只能超級使用者執行的命令賦予普通使用者執行,其操作物件是系統命令語法:lsattr [-ad] 檔名
-a 顯示所有檔案和目錄
-d 若目標是目錄,則僅列出目錄本身屬性而不是子檔案的
語法:visudo格式:usernmae(使用者名稱)/%groupname(組名) all(被管理主機的位址)=(all(可使用身份)) all(授權命令,使用絕對路徑)
注意:visudo實際修改的是/etc/sudoers檔案
被管理主機位址並不是指**ip,而是命令執行的位置或者說被管理的計算機,通常本機的ip或all
例子:visudo
dw all= /sbin/shutdown -r now 是dw使用者可以重啟伺服器
功能描述:使用root賦予的命令語法:sudo 命令(絕對路徑)
例子:sudo /sbin/shutdown -r now
注意:使用sudo -l 可以檢視可用的sudo命令
Linux許可權管理
預設許可權 特殊許可權 suid 以檔案的所屬使用者身份執行而非執行檔案的使用者 sgid 以檔案所屬組身份執行 sticky 許可權 對檔案的影響 對目錄的影響 suid 以檔案的所屬使用者身份執行而非執行檔案的使用者 無 sgid 以檔案所屬組身份執行 在該目錄中建立的任意新檔案的所屬組與該目錄...
Linux許可權管理
linux許可權管理 1 檔案訪問許可權 1 檔案訪問者的分類 a 檔案和檔案目錄的所有者 u user b 檔案和檔案目錄的所有者所在的組的使用者 g group c 其它使用者 o others 2 檔案訪問許可權的種類 a 基本許可權 i.讀 r 4 read 對檔案而言,具有讀取檔案內容的許...
linux 許可權管理
linux許可權管理 1 檔案訪問許可權 1 檔案訪問者的分類 a 檔案和檔案目錄的所有者 u user b 檔案和檔案目錄的所有者所在的組的使用者 g group c 其它使用者 o others 2 檔案訪問許可權的種類 a 基本許可權 i.讀 r 4 read 對檔案而言,具有讀取檔案內容的許...