Linux中使用者許可權的「基本許可權和特殊許可權」

2021-10-03 07:10:54 字數 3400 閱讀 7463

acl檔案許可權管理: 設定不同使用者,不同的基本許可權(r、w、x)。物件數量不同。

ugo設定基本許可權: 只能乙個使用者,乙個組和其他人

setfacl -m u:alice:rw /home/test.txt

setfacl:命令

-m:設定

u:alice:使用者或組

rw :許可權

/home/test.txt:檔案物件及其所在位置

1、準備檔案:

[root@cyb ~]# touch /home/test.txt

[root@cyb ~]# ll /home/test.txt

-rw-r–r-- 1 root root 0 10-26 13:59 /home/test.txt

2、設定acl

[root@cyb ~]# getfacl /home/test.txt(檢視檔案有哪些acl許可權)

[root@cyb ~]# setfacl -m u:alice:rw /home/test.txt(設定使用者alice,jack許可權)

[root@cyb ~]# setfacl -m u:jack:- /home/test.txt

[root@cyb ~]# setfacl -m o::rw /home/test.txt(設定其他人的許可權)

3、如何刪除acl

[root@qianfeng ~]# ll /home/test.txt (檢視test.txt中的許可權)

-rw-rw-r–+ 1 root root 0 10-26 13:59 /home/test.txt

[root@cyb ~]# getfacl /home/test.txt(這個也是檢視有哪些acl許可權)

[root@cyb ~]# setfacl -m g:hr:r /home/test.txt(給組增加讀的許可權)

[root@cyb ~]# setfacl -x g:hr /home/test.txt (刪除組hr的acl許可權)

[root@cyb ~]# setfacl -b /home/test.txt (刪除test.txt所有acl許可權)

acl許可權中有個"mask"的選項,它就是acl許可權的最大許可權,現在是rwx,當你設定某個使用者或組的acl許可權時,要跟mask的許可權「相與」之後產生的許可權才是該使用者的最終許可權,也就是加入mask的最大許可權是rx,但是你給st使用者設定的是rwx許可權,此時st使用者它的許可權只有rx的許可權,因為與最大許可權「相與」得出的結果就是rx。

生產環境中,常用於臨時降低使用者或組(除屬主和其他人)的許可權

1.準備測試使用者和組

useradd xujingyuan

useradd cuiyanbing

groupadd hr

touch /tmp/file1.txt

2.設定facl許可權。

setfacl -m u:xujingyuan:rwx /tmp/file1.txt

setfacl -m u:cuiyanbing:rw /tmp/file1.txt

setfacl -m g:hr:r /tmp/file1.txt

3.檢視許可權列表。測試成功。

getfacl /tmp/file1.txt

4.切換使用者。驗證許可權讀寫執行成功。

su - xujingyuan

su - cuiyanbing

5.設定mask許可權為空。切換使用者測試,使用者寫和執行失效。

setfacl -m m::— /tmp/file1.txt

getfacl /tmp/file1.txt

su - xujingyuan

su - cuiyanbing

6.為什麼使用者還可以讀取檔案呢。

因為mask無法影響屬主和其他使用者許可權。

去除掉其他人許可權。再次使用alice和jack使用者訪問檔案。發現讀取無法完成。

chmod o-r /tmp/file1.txt

高階許可權的型別

suid,(sgid)針對檔案/程式時,具備臨時提公升許可權。

事例

設定suid,使普通使用者通過suid臨時提權,檢視超管root使用者的檔案。

1.為cat程式新增上suid許可權

[root@cyb ~]# ll /usr/bin/cat(檢視cat中的結果)

[root@cyb ~]# chmod u+s /usr/bin/cat(改變許可權)

[root@cyb ~]# ll /usr/bin/cat(檢視cat中的結果)

分析兩次結果有何不同之處

2.使用普通使用者執行cat,暫時獲得root許可權

[alice@cyb ~]$ cat /root/file1.txt

(觀察出現的結果)

[root@cyb ~]# chmod u-s /usr/bin/cat(去除cat的suid許可權除去。)

[root@cyb ~]# ll /usr/bin/cat(檢視suid許可權是否去除)

常用於鎖定某個檔案,拒絕修改。

**注釋:**給檔案加上chattr i 的屬性之後,root都無法對其進行刪除。

新建檔案、目錄的預設許可權會受到umask的影響,umask表示要減掉的許可權。

觀察系統預設的掩碼:

[root@cyb ~]# umask

0022

修改檔案abc.txt和目錄def的掩碼

示例2:修改shell umask值(臨時)

[root@cyb ~]# umask 000

[root@cyb ~]# mkdir def

[root@cyb ~]# touch abc.txt

[root@cyb ~]# ll -d def abc.txt

drwxrwxrwx. 2 root root 4096 3月 11 19:44 def

-rw-rw-rw-. 1 root root 0 3月 11 19:44 abc.txt

注釋:

現在的程序掩碼是0000,用0777-0000=0777,所以目錄和檔案是滿許可權,但是系統預設不會給檔案執行的許可權,所以abc.txt的許可權是666。

linux中使用者使用許可權

由於linux是個多人多任務的系統,因此可能常常會有多人同時使用這部主機來進行工作的情況發生,為了考慮每個人的隱私權以及每個人喜好的工作環境,因此,這個所有者的角色就顯的相當的重要了。在某些情況下,檔案所有者可以將檔案設定成只有所有者可以訪問和修改檔案的許可權,那麼其他人就不能訪問和修改這個檔案了。...

關於Linux系統中使用者許可權問題

linux檔案許可權針對的物件分三類 互斥的關係 1.user 檔案的擁有者 2.group 檔案擁有者所在的組,但不包括user 3.other 其它使用者,即user和group以外的 linux用乙個3位二進位制數對應著檔案的3種許可權 1表示有該許可權,0表示無 第1位 讀 r 100 4 ...

Linux中使用者 組 許可權管理

眾所周知,linux是乙個多使用者 多工的系統。而當很多使用者同時登入時,系統是怎樣管理使用者,並給他們賦予相應的許可權呢?linux中有三類使用者 超級使用者 uid為0 系統使用者 偽使用者 非登入 僅執行服務程式 centos6.x中uid為1 499 登入使用者 普通使用者 使用者解析庫檔案...