檔案基本許可權
特殊許可權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 對檔案而言,具有讀取檔案內容的許...