Linux學習 許可權管理

2022-03-13 06:46:29 字數 3124 閱讀 9512

1 acl許可權

1.1 簡介與開啟

1.1.1 acl許可權是什麼

access control list 訪問控制表

解決傳統的(owner,group,others)身份不足的情況

可以設定 特定使用者或使用者組 對於 乙個檔案或目錄 的操作許可權

1.1.2 檢視系統(根分割槽)是否支援acl    一般預設都是支援的,不用手動開啟

df -h   檢視有哪些分割槽  找到根分割槽

dupme2fs /dev/sda5  | grep acl

default mount options:    user_xattr acl  預設掛載選項,支援acl

1.1.3 臨時開啟分割槽的acl許可權

mount -o remount, acl /

1.1.4 永久開啟分割槽的acl許可權

#vi /etc/fstab

在跟分割槽的defaults後面新增,acl     #注意:寫錯了會使系統崩潰,慎用!

#mount -o remount /   重新掛載根分割槽, 或者重啟系統, 使之生效

1.2 檢視與設定

1.2.1 檢視acl

#getfacl檔名

1.2.2 設定acl許可權

#setfacl選項 檔名

-m 設定

-x  刪除指定

-b  刪除所有

-d  設定預設

-k  引數預設

-r  遞迴設定

給使用者設定acl許可權

#setfacl -m u:userx:rx project/

給使用者組設定acl許可權

#setfacl -m g:groupx:rwx project/

1.3 最大有效許可權與刪除

1.3.1 最大有效許可權mask

使用者的實際許可權=設定的acl許可權&&mask  邏輯與

mask預設為rwx,此時 實際許可權=設定許可權

1.3.2 刪除acl許可權

#setfacl -x g:groupx project/  刪除指定使用者或組

#setfacl -b project/        刪除所有的acl許可權

1.4 預設與遞迴acl許可權

1.4.1 遞迴acl許可權  -- 針對現有的

#setfacl -m u:使用者名稱:許可權 -r 目錄名

1.4.2 預設acl許可權  -- 針對新建的

#setfacl -m d:u:使用者名稱:許可權 目錄名

給父目錄設定預設acl許可權,那麼父目錄中新建的子檔案都會繼承該許可權

2 檔案特殊許可權

2.1setuid-- owner

針對 可執行的 二進位制 程式

執行者有x許可權     #否則會出現s,不能正確執行

執行者 暫時獲得 程式檔案所屬者的身份(靈魂附體)

例子:passwd檔案

設定setuid

#chmod 4755 檔名

#chmod u+s 檔名

取消setuid

#chmod 755 檔名

#chmod u-s 檔名

危險的setuid! 不要自己隨意設定suid檔案。

2.2setgid-- group

針對二進位制檔案的作用,和suid相似    也比較危險!

可執行 二進位制程式   x許可權  

組身份 —> 程式檔案的所屬組    暫時

例子: locate

針對目錄的作用

普通使用者 r+x許可權   普通使用者在此目錄的有效組 --> 此目錄的屬組

新建的檔案 缺省屬組是這個目錄的屬組

設定: chmod 2755    g+s   

取消: chmod 755      g-s

2.3sticky bit-- others

sbit粘著位的作用 -- 只針對目錄

普通使用者 w+x許可權 如果目錄有粘著位,普通使用者就算有w許可權,也只能刪除自己建立的檔案,不能刪除其他使用者的檔案

例子 /tmp/

設定:chmod 1755    o+t

取消:chmod 755      o-t

3 檔案系統屬性chattr許可權

chattr[+-=] [i a] [檔案或目錄]      防止誤操作  對於root使用者,也同樣適用

i  對於檔案:不許刪除,改名,不能新增和修改資料,  相當於把檔案鎖起來了

對於目錄:只能修改目錄下檔案的資料,但不允許建立和刪除檔案  修改資料不能用vi,只能echo >>方式追加    

a 對於檔案:這能增加資料,不能刪除和修改資料

對於目錄:只允許建立和修改檔案,不允許刪除檔案

lsattr選項 檔名 檢視檔案系統屬性 

-a 顯示所有檔案和目錄

-d 若目標是目錄,僅列出目錄本身的屬性

4 系統命令sudo許可權

superuser do就是讓超級使用者來做 

root把本來只能超級使用者執行的命令賦予普通使用者執行

sudo的操作物件是系統命令

#visudo修改/etc/sudoers檔案 

注意:被管理主機的位址 寫all 或 本機ip(訪問ip,而不是**ip)

例子:

Linux學習之許可權管理

特殊許可權管理 acl許可權管理 隱藏許可權管理 chmod 更改檔案的許可權 u 設定屬主的許可權 chmod u r file g 設定屬組的許可權 chmod g x file o 設定其他人的許可權 chmod o w file a 設定所有人的許可權 chmod a r file chmo...

linux學習筆記之許可權管理

umask 目錄 777 umask 檔案 666 umask touch後的許可權 umask 023 檔案預設不具有執行許可權 touch a.txt mod 643 可執行,自動加1。變為644。對目錄 mkdir bb mod 754不改變 suid sgid sticky 只能刪除自己建立...

Linux學習之許可權管理命令

1 許可權管理命令 chmod 只有管理員 和 檔案或目錄所有者可以更改許可權。u代表user,g代表group,o代表other,a代表all 許可權 r代表read,w代表write,x代表exec 表示新增許可權,表示刪除許可權,表示重新賦值許可權 例如 chmod g w one 表示給目錄...