(八)權限管理

第一節 ACL權限的簡介與開啟

1.ACL權限簡介

解決用戶身份不足的情況下,文件對用戶的權限無法分配的問題

2.查看分區ACL權限是否開啟

dumpe2fs -h /dev/sda3

#dumpe2fs命令是查詢指定分區詳細文件系統信息的命令,查看Default_mount_options選項后是否指定開啟ACL權限

選項:

-h? ? ? 僅顯示超級塊中信息,而不顯示磁盤塊組的詳細信息

注意:是否支持ACL權限取決于文件所在的分區

3.臨時開啟分區ACL權限

mount -o remount,acl /

#重新掛載根分區,并掛載加入acl權限

4.永久開啟分區ACL權限

vi /etc/fstab

UUID=c2ca6f57-b15c-43ea-bca0-f239083d8bd2 ?? /??? ext4? ? defaults,acl ? ?? 1 1

#加入acl

mount -o remount /

#重新掛載文件系統或重啟系統,使修改生效


第二節 查看與設定ACL權限

1.查看ACL權限的命令

getfacl 文件名? ? ? ? #查看acl權限

2.設定ACL權限的命令

setfacl 選項 文件名

選項:

-m? ? ? 設定ACL權限

-x? ? ? 刪除指定的ACL權限

-b? ? ? 刪除所有的ACL權限

-d? ? ? 設定默認的ACL權限

-k? ? ? 刪除默認的ACL權限

-R? ? ? 遞歸設定ACL權限

3.給用戶設定ACL權限

實例命令 給用戶st賦予r-x權限使用"u:用戶名:權限"格式

useradd zhangsan

useradd lisi

useradd st

groupadd tgroup

mkdir /project

chown root:tgroup /project/

chmod 770 /project

setfacl -m u:st:rx /project

4.給用戶組設定ACL權限

groupadd tgroup2

setfacl -m g:tgroup2:rwx project/

為組tgroup2分配ACL權限,使用"g:組名:權限"格式


第三節 最大有效權限和刪除ACL權限

1.最大有效權限mask

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

修改最大有效權限

setfacl -m m:rx 文件名

#設定mask權限為r-x,使用"m:權限"格式

2.刪除ACL權限

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

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

setfacl -b 文件名? ? ? ? ? ? 會刪除文件的所有ACL權限


第四節 默認的ACL權限和遞歸ACL權限

1.遞歸ACL權限

遞歸是父目錄在設定ACL權限時,所有的子文件和子目錄也會擁有相同的ACL權限

setfacl -m u:用戶名:權限 -R 文件名

2.默認ACL權限

默認ACL權限的作用是如果給父目錄設定了默認的ACL權限,那么父目錄中所有的新建的子文件都會繼承父目錄的ACL權限

setfacl -m d:u:用戶名:權限 文件名

注意:遞歸的ACL權限和默認的ACL權限只能針對目錄進行設定


第五節 文件特殊權限

1.SetUID的功能與條件

1)只有可以執行的二進制程序才能設定SUID權限

2)命令執行者要對該程序擁有x(執行)權限

3)命令執行者在執行改程序時獲得改程序文件屬主的身份(在執行程序的過程中靈魂附體為文件屬主)

4)SetUID權限只在該程序執行過程中有效,也就是說身份改變只在程序執行過程中有效

實例應用

passwd命令擁有SetUID權限,所以普通用戶可以修改自己的密碼

ll /usr/bin/passwd

-rwsr-xr-x 1 root root 258980 2月 22 2012 /usr/bin/passwd

cat命令沒有SetUID權限,所以普通用戶不能查看/etc/shadow文件內容

ll /bin/cat

-rwxr-xr-x 1 root root 47976 6月 22 2012 /bin/cat

2.設定SetUID的方法

4代表SUID

chmod 4755 文件名

chmod u+s 文件名

3.取消SetUID的方法

chmod 755 文件名

chmod u-s 文件名

4.危險的SetUID

關鍵目錄應嚴格控制寫權限,比如"/" "/usr"等

用戶的密碼設置要嚴格遵守密碼三原則

減水劑

對系統中默認應該具有SetUID權限的文件作一列表,定時檢查有沒有這之外的文件被設置了SetUID權限

5.SetGID針對文件的作用

只有可執行的二進制文件程序才能設置SGID權限

命令執行者要對改程序擁有x(執行)權限

命令在執行程序的時候,組身份升級為該程序文件的屬組

SetGID權限同樣只在該程序執行過程中有效,也就是說組身份改變只在程序執行過程中有效

ll /usr/bin/locate

-rwx--s--x 1 root slocate 35612 8月 24 2010 /usr/bin/locate

ll /var/lib/mlocate/locate.db

-rwx-r---- 1 root slocate 1838850 1月 20 0429 /var/lib/locate/locate.db

#/usr/bin/locate是可執行二進制程序,可以賦予SGID

#執行用戶lamp對/usr/bin/lamp命令擁有執行權限

#執行/usr/bin/locate命令時,組身份會升級為slocate組,而slocate組對/var/lib/locate/locate.db數據庫擁有r權限,所以普通用戶可以使用locate命令查詢mlocate.db數據庫

#命令結束,lamp用戶的組身份返回為lamp組

6.SetGID針對目錄的作用

普通用戶必須對此目錄擁有r和x權限,才能進入此目錄

普通用戶在此目錄中的有效組會變成此目錄的屬組

若普通用戶對此目錄擁有w權限時,新建的文件的默認屬組是這個目錄的屬組

7.設定SetGID

2代表SGID

chmod 2755 文件名

chmod g+s 文件名

命令實例

cd /tmp/

mkdir dtest

chmod g+s dtest

ll -d dtest/

chmod 777 dtest

su - lamp

cd /tmp/dtest

touch abc

ll

8.取消SetGID

chmod 755 文件名

chmod g-s 文件名

9.SBIT粘著位作用

粘著位目前只針對目錄有效

普通用戶對該目錄擁有w和x權限,即普通用戶可以在此目錄擁有寫入權限

如果沒有粘著位,因為普通用戶擁有w權限,所以可以刪除此目錄下所有文件,包括其他用戶創建的文件。一旦賦予了粘著位,除了root可以刪除所有文件,普通用戶就算擁有w權限也只能刪除自己建立的文檔,但是不能刪除其他用戶建立的文件

注意:一般不會將三個權限同時賦予一個文件或目錄,因為這樣將有權限分配未被實現。

命令實例

ll /tmp/

drwxrwxrwt 3 root root 4096 12月 13 11:22 /tmp/

/tmp目錄擁有SBIT權限,因此一個普通用戶在該目錄下的文件不能被其他普通用戶刪除

10.設置與取消粘著位

設置粘著位

chmod 1755 目錄名

chmod o+t 目錄名

取消粘著位

chmod 777 目錄名

chmod o-t 目錄名


第六節 文件系統屬性權限chattr權限

1.chattr命令格式

chattr [+-=] [選項] 文件或目錄名

+:增加權限

-:刪除權限

=:等于某權限

選項:

i:如果對文件設置i屬性,那么不允許對文件進行刪除,改名,也不能添加和修改數據,如果對目錄設置i屬性,那么只能修改目錄下文件的數據,但是不允許建立和刪除文件(相當于鎖定了文件,而且對root用戶也生效)

a:如果對文件設置a屬性,那么只能在文件中增加數據,但是不能刪除也不能修改數據,如果對目錄設置a屬性,那么只允許在目錄中建立和修改文件,但是不允許刪除(相當于鎖定了原有數據,允許新添加數據)

i屬性和a屬性可以避免誤操作,i屬性相對于a屬性更加嚴格。

2.查看文件系統屬性

lsattr 選項 文件名

選項:

-a 顯示所有文件和目錄

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


第七節 系統命令sudo權限

1.sudo權限

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

sudo的操作對象是系統命令

2.sudo使用

visudo

實際修改的是/etc/sudoers文件

root? ALL=(ALL)? ALL

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

%wheel ALL=(ALL) ALL

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

注意:這里的第二個字段是被管理的主機的ip地址,寫ALL代表本機

3.授權sc用戶可以重啟服務器

visudo

sc ALL= /sbin/shutdown -r now

被授予的命令寫的越詳細被賦予的權限就越小,這樣做越安全

4.普通用戶執行sudo賦予的命令

su - sc

sudo -l? ? 查看可用的sudo命令

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

注意:不要將類似于vim的命令通過sudo賦予普通用戶,這樣普通用戶將可以修改任何文件,這樣做是及其危險的

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,936評論 6 535
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,744評論 3 421
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 176,879評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,181評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,935評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,325評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,384評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,534評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,084評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,892評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,067評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,623評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,322評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,735評論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,990評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,800評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,084評論 2 375

推薦閱讀更多精彩內容