檔案系統訪問控制列表

2021-08-18 17:07:31 字數 2846 閱讀 4413

案例引入: 系統中有兩個使用者tom,jerry,tom在公共目錄中希望讓jerry訪問(讀寫),你作為管理員應該如何實現?

講解引入: tom使用者建立的檔案的屬主和屬組(基本組)都是tom,這就意味著jerry不屬於tom的基本組,就不能應用於組許可權,

此時jerry訪問時會應用其他other許可權,如果要讓jerry能夠實現讀寫,那必須給other許可權,這樣就很不安全了!

我們還可以把tom檔案的屬主改為jerry,但是普通使用者是沒有許可權更改的

[root@xiaoke ~]# useradd tom

[root@xiaoke ~]# useradd jerry

[root@xiaoke ~]# su - tom

[tom@xiaoke ~]$ cd /tmp/

[tom@xiaoke tmp]$ touch a.tom

[tom@xiaoke tmp]$ exit

[root@xiaoke ~]# su - jerry

[jerry@xiaoke ~]$ cd /tmp/

[jerry@xiaoke tmp]$ chown jerry:jerry a.tom

顯示結果: chown: 正在更改"a.tom" 的所有者: 不允許的操作

這怎麼辦呢?這就體現了檔案系統訪問控制列表的意義了!

解決方法:

facl: filesystem access control list

意義: 利用檔案擴充套件屬性,儲存了額外的訪問控制許可權

命令:setfacl:設定facl

-m:設定額外許可權

格式: -m u:uid:perm //設定使用者為perm許可權

-m g:gid:perm //設定組為perm許可權

-m d:u:uid:perm //主要針對目錄操作,將目錄擴充套件許可權向下繼承

-m d:g:gid:perm //主要針對目錄操作,將目錄擴充套件許可權向下繼承

-x:取消額外許可權

格式: -x u:uid

-x g:gid

getfacl:獲取facl

舉例: [root@xiaoke ~]# mkdir /backup

[root@xiaoke ~]# cd /backup/

[root@xiaoke backup]# cp /etc/inittab ./

[root@xiaoke backup]# getfacl inittab

顯示結果: # file: inittab

# owner: root

# group: root

user::rw-

group::r--

other::r--

另一案例:設定使用者hadoop對檔案inittab讀寫許可權

[root@xiaoke ~]# useradd hadoop

[root@xiaoke ~]# su - hadoop

[hadoop@xiaoke ~]$ cd /backup/

[hadoop@xiaoke backup]$ echo 123 > inittab

顯示結果:-bash: inittab: 許可權不夠

解決方法:

[root@xiaoke backup]# setfacl -m u:hadoop:rw inittab

[root@xiaoke backup]# getfacl inittab

顯示結果: # file: inittab

# owner: root

# group: root

user::rw- //冒號中間為空,代表是缺省屬主

user:hadoop:rw- //額外指定使用者

group::r--

mask::rw-

other::r--

驗證: [root@xiaoke backup]# su - hadoop

[hadoop@xiaoke ~]$ echo 123 >> /backup/inittab

[hadoop@xiaoke ~]$ tail -2 /backup/inittab

顯示結果: id:3:initdefault:

123同樣的對屬組設定也是類似

[root@xiaoke backup]# setfacl -m g:mygroup:rw inittab

[root@xiaoke backup]# getfacl inittab

顯示結果: # file: inittab

# owner: root

# group: root

user::rw-

user:hadoop:rw-

group::r--

group:mygroup:rw- //注意組要事先存在

mask::rw-

other::r--

注意: [root@xiaoke backup]# ls -l

顯示結果: -rw-rw-r--+ 1 root root 888 3月   9 06:41 inittab

備註: 乙個檔案要是有擴充套件屬性的話,ls -l顯示結果會看到+這個符號

注意: 乙個有著擴充套件屬性的檔案,通過複製或歸檔乙個檔案時,這個擴充套件屬性很可能不能歸檔,除

非使用特定選項或命令。

取消許可權:

1.取消使用者許可權

[root@xiaoke backup]# setfacl -x u:hadoop inittab

[root@xiaoke backup]# getfacl inittab

2.取消組許可權

[root@xiaoke backup]# setfacl -x g:mygroup inittab

[root@xiaoke backup]# getfacl inittab

檔案系統訪問控制列表

案例引入 系統中有兩個使用者tom,jerry,tom在公共目錄中希望讓jerry訪問 讀寫 作為管理員應該如何實現 講解引入 tom使用者建立的檔案的屬主和屬組 基本組 都是tom,這就意味著jerry不屬於tom的基本組,就不能應用於組許可權 此時jerry訪問時會應用其他other許可權,如果...

特殊許可權 檔案系統訪問控制列表

1 程序以某使用者的身份執行,程序是發起此程序使用者的 因此以此使用者的身份和許可權完成操作 2 許可權匹配模型 1 判斷程序的屬主,是否為被訪問的檔案屬主 如果是,則應用屬主的許可權 否則進入第2步 2 判斷程序的屬組,是否屬於被訪問的檔案屬組 如果是,則應用屬組的許可權 否則進入第3步 3 應用...

2 檔案系統訪問控制列表

案例引入 系統中有兩個使用者tom,jerry,tom在公共目錄中希望讓jerry訪問 讀寫 你作為管理員應該如何實現?講解引入 tom使用者建立的檔案的屬主和屬組 基本組 都是tom,這就意味著jerry不屬於tom的基本組,就不能應用於組許可權,此時jerry訪問時會應用其他other許可權,如...