Linux_權限管理

目錄

一、文件基本權限

設定

作用

其他權限命令

二、默認權限

三、ACL權限

簡介與開啓

查看與設定

最大權限與刪除

默認權限與遞歸權限

四、sudo權限

五、文件特殊權限

SetUID

SetGID

Sticky BIT

六、不可改變位權限


本文爲慕課網Tony老師視頻筆記,Tony老師的課通俗易懂,幽默風趣,Linux入門或鞏固基礎的話,推薦看一下!https://www.imooc.com/u/279399/courses?sort=publish

一、文件基本權限

設定

-rw-r--r--
- 文件類型(-文件 d目錄 l軟連接文件)
rw-          r--          r--
u所有組 g所屬組 o其他人
r讀 w寫 x執行

chmod [選項] 模式 文件名
選項
-R 遞歸
模式
[ugoa][+-=][rwx]
[mode=421]

作用

權限對文件的作用
r:讀取文件內容
w:編輯新增修改文件內容(但是不包含刪除文件
x:可執行

權限對目錄的作用
r:可以查詢目錄下的文件名(ls)
w:具有修改目錄結構的權限。如新建文件和目錄,刪除此目錄下文件和目錄,重命名此目錄下文件和目錄,剪切(touch rm mv cp)
x:可以進入目錄

其他權限命令

修改文件的所有者
chown 用戶名 文件名

修改文件所屬組
chgrp 組名 文件名

二、默認權限

查看系統默認權限
umask
0022
第一位0:文件特殊權限
022:文件默認權限
注意:
1.文件最高權限爲666(文件不能一建立就可以執行,需要後續賦予執行權限)
2.目錄最高權限爲777
3.權限不能使用數字進行換算,而必須使用字母
4.umask定義的權限,是系統默認權限中準備丟棄的權限

三、ACL權限

簡介與開啓

當基本權限不夠用的時候可以開啓ACL權限,針對某個用戶賦予權限

查看分區ACL權限是否開啓
dumpe2fs命令是查詢指定分區詳細文件系統信息的命令
dumpe2fs -h /dev/sda5
-h 僅顯示超級塊中信息,而不顯示磁盤快組的詳細信息

臨時開啓ACL權限
重新掛載根分區,並掛載加入acl權限
mount -o remount,acl /

永久開啓ACL權限
vi /etc/fstab
加入acl
UUID...ext4 default,acl
mount -o remount /

查看與設定

查看ACL權限
getfacl 文件名

設定ACL權限
setfacl 選項 文件名
選項:
-m 設定ACL權限
-x 刪除指定的ACL權限
-b 刪除所有的ACL權限
-d 設定默認ACL權限
-k 刪除默認ACL權限
-R 遞歸設定ACL權限
setfacl -m u:lw:rx /av

最大權限與刪除

最大有效權限mask
mask是用來指定最大有效權限的。如果我們給用戶賦予了ACL權限,是需要和mask的權限“相與”
才能用戶的真正權限


修改最大默認權限
設定mask權限爲r-x。使用“m:權限”格式
setfacl -m m:rx 文件名

刪除ACL權限
刪除指定用戶的ACL權限
setfacl -x u:用戶名 文件名
刪除指定用戶組的ACL權限
setfacl -x g:組名 文件名

默認權限與遞歸權限

遞歸ACL權限
遞歸是父目錄在設定ACL權限時,所有的子文件和子目錄也會擁有相同的ACL權限
setfacl -m u:用戶名:權限 -R 文件名

默認ACL權限
默認ACL權限的作用是如果給父目錄設定了默認ACL權限,那麼父目錄中所有新建的子文件都會繼承父目錄的ACL權限
setfacl -m d:u用戶名:權限 文件名

四、sudo權限

sudo權限
root把本來只能超級用戶執行的命令賦予普通用戶執行
sudo操作對象是系統命令

sudo使用
實際上修改的是/etc/sudoers文件
visudo

root ALL=(ALL) ALL
用戶名 被管理的主機地址=(可使用的身份)授權命令(絕對路徑)
# %wheel ALL=(ALL)ALL
#%組名 被管理的主機地址=(可使用的身份)授權命令(絕對路徑)
普通用戶可以重啓服務器
user1 ALL=/sbin/shutdown -r now

普通用戶執行sudo賦予的命令
su 命令
sudo /sbin/shutdown -r now

查看可用的sudo命令
sudo -l

五、文件特殊權限

SetUID

SetUID的功能
1、只有可執行的二進制程序才能設定SUID權限
2、命令執行者要對該程序擁有x權限
3、命令執行者在執行該程序時或得該程序文件屬主的身份(在執行文件的過程中靈魂附體爲文件的屬主)
4、SetUID權限只在該程序執行過程中有效,也就是身份改變只在程序執行過程中有效

設定SetUID的方法
4代表SUID
chmod 4755 文件名
chmod u+s 文件名

取消SetUID的方法
chmod 0755 文件名
chmod u-s 文件名

password命令擁有SetUID權限,所以普通用戶可以修改自己的密碼
cat命令沒有SetUID權限,所以普通用戶不能查看/etc/shadow文件內容

危險的SetUID
1、關鍵目錄應嚴格控制寫權限。比如"/"、"/usr"等
2、用戶密碼設定要嚴格遵守密碼三原則
3、對系統中默認應該具有SetUID權限的文件作一列表,定時檢查有沒有這之外的文件被設置了SetUID

SetGID

SetGID針對文件的作用
1、只有可執行的二進制程序才能設定SGID權限
2、命令執行者要對該程序擁有x權限
3、命令執行者在執行該程序時候,組身份升級爲該程序文件的屬組
4、SetGID權限同樣只在該程序執行過程中有效,也就是說組身份改變只在執行過程中有效

SetGID針對目錄的作用
1、普通用戶必須對此目錄擁有r和x權限,才能進入目錄
2、普通用戶在此目錄中的有效組會變成此目錄的屬組
3、若普通用戶對此目錄擁有w權限時,新建文件的默認屬組是這個目錄的屬組

設定SetGID
2代表SGID
chmod 2755 文件名
chmod g+s 文件名

取消SetGID
chmod 0755 文件名
chmod g-s 文件名

Sticky BIT

SBIT粘着位作用
1、粘着位目前只對目錄有效
2、普通用戶對該目錄擁有w和x權限,即普通用戶可以在此目錄擁有寫入權限
3、如果沒有粘着位,因爲普通用戶擁有w權限,所以可以刪除此目錄下的所有文件
包括其他用戶建立的文件。一旦賦予了粘着位,只有root可以刪除所有文件,
普通用戶只能刪除自己建立的文件

設置與取消粘着位
設置
chmod 1755 目錄名
chmod o+t 目錄名

取消
chmod 0755 目錄名
chmod o-t 目錄名

六、不可改變位權限

chattr [+-=] [選項] 文件或目錄名
+:增加權限
-:刪除權限
=:等於某權限
選項
a等價於append
i等價於insert

查看文件系統屬性
lsattr 選項 文件名
選項:
-a:顯示所有文件和目錄
-d:若目標是目錄,僅列出目錄本身的屬性,而不是子文件的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章