Liunx 管理許可權

2021-09-10 02:07:06 字數 3851 閱讀 2423

1. acl許可權

acl(access control list)用來設定使用者(除所有者,所屬組,其他組之外的使用者或組)針對檔案的讀、寫、執行許可權。

# getfacl 檔名 # 檢視acl許可權

# setfacl 選項 檔名 #設定acl許可權選項

舉例:我們要求 root 是 /acltest 目錄的屬主,許可權是 rwx;tgroup 是此目錄的屬組,tgroup 組中擁有班級學員 zhangsan 和 lisi,許可權是 rwx;其他人的許可權是 0。這時,試聽學員 st 來了,她的許可權是 r-x。

[root@localhost ~]#  mkdir acltest

[root@localhost ~]#  chmod 770 alctest

[root@localhost ~]#  useradd zhangsan

[root@localhost ~]#  useradd lisi

[root@localhost ~]#  groupadd tgroup

[root@localhost ~]#  gpasswd -a zhangsan tgroup #將張三加入troup組

[root@localhost ~]#  gpasswd -a lisi tgroup

[root@localhost ~]# chown root:tgroup acltest #將acltest的所屬組改為tgoup

[root@localhost ~]#  ll -d acltest

drwxrwx---. 2 root tgroup 4096 jan 9 16:17 acltest

[root@localhost ~]#  useradd st

[root@localhost ~]#  setfacl -m u:st:rx acltest # 給使用者st 賦acl許可權

[root@localhost ~]#  ll -d acltest

drwxrwx---+ 2 root tgroup 4096 jan 9 16:17 acltest

[root@localhost ~]#  getfacl acltest

# file: acltest/

# owner: root

# group: tgroup

user::rwx

user:st:r-x

group::rwx

mask::rwx

other::---

#給組新增acl許可權

[root@localhost ~]# groupadd tgroup2

[root@localhost ~]# setfacl -m g:tgroup2:rx acltest

[root@localhost ~]# getfacl acltest

# file: acltest

# owner: root

# group: tgroup

user::rwx

user:st:r-x

group::rwx

group:tgroup2:r-x

mask::rwx

other::---

#設定預設acl許可權

[root@localhost ~]# setfacl -d u:st:rx acltest

[root@localhost ~]# getfacl acltest

# file: acltest

# owner: root

# group: tgroup

user::rwx

user:st:r-x

group::rwx

group:tgroup2:r-x

mask::rwx

other::---

default:user::rwx

default:user:st:r-x

default:group::rwx

default:mask::rwx

default:other::---

#設定遞迴acl許可權

[root@localhost ~]# setfacl -m u:st:rx -r acltest

#刪除指定的acl許可權

[root@localhost ~]# setfacl -d u:st acltest

#刪除所有acl許可權

[root@localhost ~]# setfacl -x acltest

2.setuid、setgid、stick bit 檔案特殊許可權

setuid: 檔案在擁有setuid許可權後,普通使用者在執行該檔案過程中,可以獲得檔案所有者的許可權。表現為:檔案所有者的x(執行)許可權位置出現乙個小寫s。

[root@localhost ~]#ll /usr/bin/passwd

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

setgid:執行者在執行程式的時候,組身份公升級為改程式檔案的所屬組。同樣setgid許可權只在程式執行過程中有效。

表現為:檔案所屬組的x(執行)許可權位置出現乙個小寫s。

[root@localhost ~]# ll /usr/bin/locate

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

sticky bit: 意為粘著位(或粘滯位),也簡稱為 sbit。粘著位只對目錄有效。普通使用者擁有 w 許可權時,可以刪除此目錄下的所有檔案,包括其他使用者建立的檔案。一旦被賦予了粘著位,除了 root 可以刪除所有檔案,普通使用者就算擁有 w 許可權,也只能刪除自己建立的檔案,而不能刪除其他使用者建立的檔案。

表現為:其他組的x(執行)許可權位置出現乙個t

[root@localhost ~]# ll -d /tmp/

drwxrwxrwt 4 root root 4096 1月20 06:17 /tmp/

這幾種檔案特殊許可權的設定:

特殊許可權的設定還是使用chmod 命令。

數字法: 檔案的普通許可權只有三個數字,特殊許可權的設定用4個數字,其中第乙個數字來表示特殊許可權,後三位為普通許可權(讀、寫、執行)。

[root@localhost ~]# chmod 4755 ftest #賦予setuid許可權

[root@localhost ~]# chmod 1755 dtest/ #賦予 sbit許可權

字元法:

通過"u+s"賦予 setuid 許可權,通過"g+s"賦予 setgid 許可權,通過"o+t"賦予 sbit 許可權。

[root@localhost ~]#chmod u+s, g+s, o+t ftest
#設定特殊許可權

[root@localhost ~]# chmod u-s, g-s, o-t ftest
#取消特殊許可權

注: setuid 只對二進位制程式檔案有效,setgid 可以對二進位制程式檔案和目錄有效,但是 sbit 只對目錄有效。使用者只有在具備x許可權時,特殊許可權才有效,不然即使賦予特殊許可權也沒有任何意義。

3. chattr 命令 修改檔案系統的許可權屬性

chattr只有root使用者可以使用,凌駕於rwx基礎功能之上的授權

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

選項:

[root@localhost ~]# chattr +i ftest

[root@localhost ~]# chattr -i ftest

4. lsattr 命令 檢視檔案系統屬性

# lsattr 選項 檔名

選項:

TrustedInstaller管理許可權

trustedinstaller.exe實際上是 windows modules installer 這個服務的程序,路徑位於c windows servicing trustedinstaller.exe。當進行windows update,或者安裝某些微軟發布的安裝包時,windows modu...

3 管理許可權

授予物件許可權 在oracle9i前,授予物件許可權是由物件的所有者來完成的,如果用其它的使用者來操作,則需要使用者具有相應的 with grant option 許可權,從oracle9i開始,dba,sys,system 可以將任何物件上的物件許可權授予其它使用者.授予物件許可權是用grant命...

Linux 組管理 許可權

許可權說明 常用 命令 groupadd g 777 組名 建立組並制定gid。命令 groupdel 組名 刪除乙個組。命令 usermod g 組名 使用者名稱 新增使用者到組內。命令 chmod 777檔名 修改檔案許可權 命令 chmod o t 檔名 只能本人與root可以刪除檔案。使用者...