CenOS6.6常用命令《五》

權限管理
5.1ACL權限
5.1.1ACL權限簡介

5.1.2查看分區ACL權限是否開啓
[root@localhost ~]# dumpe2fs -h /dev/sda1
~dumpe2fs 命令是查詢指定分區詳細文件系統的命令
選項:
-h 僅顯示超級塊中信息,而不顯示磁盤塊組的詳細信息









先看一下你的系統有哪些分區 用 df -h命令
[root@localhost ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root 18G 3.8G 13G 24% /tmpfs 503M 72K 503M 1% /dev/shm/dev/sda1 477M 27M 426M 6% /boot

然後你可以使用上面的命令查看狀態






5.1.3臨時開啓分區ACL權限
[root@localhost ~]# mount -o remount,acl/
~重新掛載根分區,並且掛載加入acl權限


mount 掛載命令,只是命令生效,臨時的關機重啓就沒了


5.1.4永久開啓分區ACL權限
[root@localhost ~]# vi  /etc/fstab
UUID=16fabb09-945f-4819-a98b-a3f108cbaaa4 /boot                   ext4    defaults,acl        1 2
~加入acl
[root@localhost ~]# mount -o remount/
~重啓掛載文件系統或重啓系統,是修改生效


這是系統開機自動掛載文件
5.1.5查看與設定acl權限
查看acl命令
[root@localhost ~]# getfacle 文件名
~查看acl權限


設定acl權限的命令


[root@localhost ~]# setfac 選項l 文件名
選項:
-m		設定acl權限
-x		刪除指定的acl權限
-b		刪除所有的acl權限
-d		設定默認acl權限
-k		刪除默認acl權限
-r		遞歸設定acl權限


給用戶設定acl權限


給用戶組設定acl權限
[root@localhost ~]#  groupadd tgroup2
[root@localhost ~]# setfacl -m g:tgroup2:rwx progect/
~爲組tgroup2分配acl權限。使用“g:組名:權限”格式










最大有效權限mask
~mask 是用來指定最大有效權限的。如果給用戶賦予了ACL權限,是需要和mask的權限“相與”才能得到用戶的真正權限
修改最大有效權限
[root@localhost ~]#setfacl -m m:rx 文件名
~設定mask權限爲r-x.使用“m:權限”格式


刪除acl權限


[root@localhost ~]#setfacl -x u:用戶名 文件名
~刪除指定用戶的acl權限
[root@localhost ~]#setfacl -x g:組名 文件名 
~刪除指定用戶組的acl權限
[root@localhost ~]#setfacl -b 文件名
~刪除文件的所有acl權限



遞歸acl權限







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

這樣會有一個問題,在你執行這個遞歸命令之前在目錄下的文件會被賦予權限,那你執行完之後在重新創建的文件怎麼辦,它不肯能會有相應的權限吧。
默認acl權限
~默認acl權限的作用是如果給父目錄設定了默認acl權限,那麼父目錄中所有新建的子文件都會繼承父目錄的acl權限
~setfacl -m d:u:用戶名:權限 文件名

這個默認的只有新的文件有用,原來有的還是需要用遞歸。
5.2文件特除權限
5.2.1SetUID
~只有可以執行的二進制程序才能設定SUID權限
~命令執行者要對該程序擁有x(執行)權限
~命令執行者在執行該程序是獲得該程序文件屬主身份(在程序執行的過程中靈魂附體爲文件的屬主)
~SetUID權限只在改程序執行過程中有效,也就是說省份改變只在程序執行過程中有效
~passwd命令擁有SetUID權限,所有普通可修改自己的密碼

[root@localhost ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 25980 2月  22 2012 /usr/bin/passwd

~cat 命令沒有SetUID權限,所以普通用戶不能查看/etc/shadow文件內容[root@localhost ~]# ll /bin/cat
-rwxr-xr-x. 1 root root 47976 10月 15 2014 /bin/cat











設定SetUID方法
~4代表SUID
~chmod 4755文件名
~chmod u+s 文件名
取消SetUID的方法
~chmod 755文件名
~chmod u-s 文件名
危險的SetUID
~關鍵目錄應嚴格控制寫權限。比如“/”、“/usr”登
~用戶的密碼設置要嚴格遵循密碼三原則
~對系統中默認應該具有SetUID權限的文件作一列表,定時檢查有沒有這之外的文件被設置了SetUID權限
5.2.2SetGID
SetGID針對目錄的作用
~普通用戶必須對此目錄擁有r和x權限,才能進入此目錄
~普通用戶在此目錄中的有效組會變成此目錄的屬組
~若普通用戶對此目錄擁有w權限時,新建的文件是默認屬組是這個目錄的屬組
[root@localhost ~]# ll /usr/bin/locate
-rwx--s--x. 1 root slocate 35548 10月 10 2012 /usr/bin/locate
[root@localhost ~]# ll /var/lib/mlocate/mlocate.db 
-rw-r-----. 1 root slocate 3235865 2月   6 03:16 /var/lib/mlocate/mlocate.db



設定SetGID的方法
~2代表SGID
~chmod 2755文件名
~chmod g+s 文件名
取消SetGID的方法
~chmod 755文件名
~chmod g-s 文件名


5.2.3Sicky BIT
SBIT黏着位作用
~黏着位目前只針對目錄有效
~普通用戶對改目錄擁有w和x權限,普通用戶可以在此目錄擁有寫入權限
~如果沒有黏着位,因爲普通用戶擁有w權限,所以可以刪除此目錄下所有文件,包括其他用戶建立的文件。一但賦予了黏着位,除了root可以刪除所有文件,普通用戶就算有w權限,也只能刪除自己建立的文件,但是不能刪除其他用戶建立的文件

設定黏着位
~1代表SBID
~chmod 1755文件名
~chmod o+t 文件名
取消黏着位
~chmod 777文件名
~chmod o-t 文件名
5.3文件系統屬性chattr權限
chattr命令格式
[root@localhost ~]# chattr[+-=][選項]文件或目錄名
+:曾經權限
-:刪除權限

=:等於某個權限

選項:
~i:如果對文件屬性設置i屬性,那麼不允許對文件進行刪除,修改名稱,也不能添加和修改數據;如果對目錄設置i屬性,那麼只能修改目錄選文件的數據,但不允許建立和刪除文件。
~a:如果對文件設置a屬性,那麼只能在文件中增加數據,但是不能刪除也不能修改數據;如果對目錄設置a屬性,那麼只允許在目錄中建立和修改文件,但不允許刪除。

查看文件系統屬性

[root@localhost ~]#lsattr選項 文件名
選項:
-a顯示所有文件和目錄
-d若目標是目錄,僅列出目錄本身的屬性,而不是子文件的

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

[root@localhost ~]# visudo
~實際修改的是/etc/sudoers文件
root          ALL=(ALL)                              ALL
~用戶名       被管理主機的地址=(可使用的身份)      授權命苦(絕對路徑)

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









發佈了30 篇原創文章 · 獲贊 26 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章