linux許可權管理

2021-08-07 14:56:48 字數 4032 閱讀 8093

檔案基本許可權

1.檢視 ls -l

-rw-r--r--

- 常見檔案型別(-檔案 d目錄 l軟鏈結檔案)

rw- u所有者 r--g所屬組 r--o其他人

r 讀 w 寫 x 執行

2.修改 chmod

chmod [選項] 模式 檔名

選項:-r 遞迴

模式[ugoa][+-=][rwx]

[mode=421]

例:chmod u+x test 所有者加上執行許可權

chmod g-w,o-w test 所屬組和其他人去除寫許可權

chmod chmod u=rwx test 所有者可讀可寫可執行

chmod chmod u=rw test 所有人可讀可寫

許可權數字表示

r = 4 w = 2 x = 1

rwxr-xr-x

7 5 5

例:chmod 755 test

常用許可權:777 最高許可權

644 檔案讀寫許可權

755 檔案可執行許可權

3.許可權作用

對檔案作用

r 讀取檔案內容 (cat more head tail)

w 編輯 新增檔案內容(但是不包含刪除當前檔案許可權,需要對上級目錄擁有w許可權才可以刪除下級檔案)

x 執行檔案

對目錄作用

r 可以查詢目錄下檔名 (ls)

w 修改目錄結構,如:新增和目錄,刪除此目錄下檔案和目錄,重新命名,複製,剪下

x 可以進入目錄 (cd)

/*對檔案來講:最高許可權是x許可權

對目錄來講:最高許可權是w許可權

*/4.許可權其他命令

chown 使用者名稱 檔名 改變檔案或目錄所有者

例:chown user1 test

例:chown user1:user1 test

chgrp 組名 檔名 改變檔案或目錄所屬組

chgrp user1 test

5.檔案預設許可權

umask 檢視預設許可權

0022

第一位 檔案特殊許可權

022 檔案預設許可權

檔案預設不能建立為執行檔案,必須手動賦予許可權

所有檔案預設許可權最大為666

預設許可權需要換成字母再相減(不是數字直接相減)

建立檔案之後的預設許可權為666-umask值

目錄預設最大許可權為777

預設許可權需要換成字母再相減(不是數字直接相減)

建立目錄之後的預設許可權為777-umask值

臨時修改umask 0002

永久修改 vi/etc/profile

特殊許可權

acl許可權(解決使用者身份不夠用的情況)

dumpe2fs -h /dev/sda*

查詢指定分割槽詳細檔案系統資訊的命令

臨時開啟

mount -o remount,acl /

永久開啟acl defaults後面增加

vi /etc/fstab uuid=*******... / ext4 defaults,acl

mount -o remount / 重新掛載

1.檢視acl許可權

getfacl 檔名

2.設定acl許可權命令

setfacl 選項 檔名

選項:-m 設定acl許可權

-x 刪除指定的acl許可權

-b 刪除所有acl許可權

-d 設定預設acl許可權

-k 刪除預設acl許可權

-r 遞迴設定acl許可權

例:setfacl -m u:user1:rx test

getfacl test

3.最大有效許可權 mask

acl許可權需要與mask進行與運算

setfacl -m m:rx test 設定最大有效許可權

4.刪除acl許可權

setfacl -x u:使用者名稱 檔名

setfacl -x g:組名 檔名

setfacl -b 檔名

刪除檔案的全部acl許可權

5.遞迴設定acl許可權 -r

(x許可權對目錄與檔案的作用是不一樣的,注意遞迴時許可權溢位問題)

setfacl -m u:user:rx -r test/

6.預設acl許可權(父目錄設定預設許可權,以後新建的子目錄自動繼承)

setfacl -d u:user:rx test/

sudo許可權

普通使用者臨時獲取root許可權

visudo 命令設定sudo許可權

root all=(all) all

使用者 被管理主機的位址=(可使用的身份) 授權命令(絕對路徑)

%wheel all=(all) all

組名 被管理主機的位址=(可使用的身份) 授權命令(絕對路徑)

例:user1 all=/sbin/shutdown -r now 授權普通使用者可以任何主機上重啟伺服器

user1 all=/usr/bin/passwd 授權修改使用者密碼(有風險,可直接修改root密碼)

user1 all=/usr/bin/passwd [a-za-z]*, !/usr/bin/passwd "", !/usr/bin/passwd root (需要過濾root)

寫的越詳細越能限制許可權大小

sudo -l

檢視可執行命令

例:sudo /sbin/shutdown -r now 普通使用者使用,需要驗證user1密碼

檔案特殊許可權

setuid

需要二進位制可執行檔案才設定suid

需要使用者對該檔案擁有x執行許可權

作用執行該檔案時會臨時將身份變成檔案所有者

例:ll /usr/bin/passwd 普通使用者執行passwd命令 臨時獲得root許可權 可修改密碼

(身份轉換只在執行的過程中有效)

設定chmod 4755 test

chmod u+s test

4代表suid

取消chmod 0755 test

chmod u-s test

setgid

除檔案外還可對目錄作用

檔案執行該檔案時會臨時將身份變成檔案所屬組

例:ll /urs/bin/locate命令 普通使用者執行時公升級為slocate組身份,對/var/lib/mlocalte/mlocate.db用有讀許可權

(身份轉換只在執行的過程中有效)

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

任何使用者在此目錄下建立的檔案所屬組都屬於設定使用者的所屬組

設定chmod 2755 test

chmod g+s test

2代表sgid

sticky bit

只對目錄有作用

普通使用者對此目錄擁有w和x許可權

作用限制777目錄許可權刪除目錄下不是自己的檔案

例:/tmp 目錄 任何使用者可檢視,防止誤刪除,設定sbit

設定sbit

chmod 1777 test

chmod o+t test

1代表sbit

取消sbit

chmod 0777 test

chmod o-t

不可改變位許可權 chattr

chattr [+-=] [選項] 檔案或目錄名

+ 增加許可權

- 刪除許可權

= 等於某許可權

常用選項

i 插入insert

i 檔案 無法進行刪除,增加,修改檔案

目錄 不能新建刪除檔案,只能修改目錄下檔案的資料

例:chattr +i test

a 檔案 只能增加資料,不能刪除,不能修改(不能使用vi)

目錄 只能新建和修改檔案,不能刪除

例:chattr +a test

檢視lsattr [選項] 檔名

選項:

-a 顯示所有檔案和目錄

-d 若目標是目錄,僅列出目錄本身的屬性,而不是子檔案的

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 對檔案而言,具有讀取檔案內容的許...