Linux 檔案許可權管理練習

2021-10-20 11:39:25 字數 3000 閱讀 6613

建立 user1,user2 和 user3,並建立測試目錄 /data/test:

root@testsvr:~# useradd -m -s /bin/bash user1

root@testsvr:~# useradd -m -s /bin/bash user2

root@testsvr:~# useradd -m -s /bin/bash user3

root@testsvr:~# passwd user1

new password:

retype new password:

passwd: password updated successfully

root@testsvr:~# passwd user2

new password:

retype new password:

passwd: password updated successfully

root@testsvr:~# passwd user3

new password:

retype new password:

passwd: password updated successfully

root@testsvr:~# mkdir /data/test -p

設定 user1 為 /data/test 的所有者以及所有組:

root@testsvr:~# chown user1:user1 /data/test/

root@testsvr:~# ls -ld /data/test/

drwxr-xr-x 2 user1 user1 4096 2月 27 12:24 /data/test/

在所有者和所有組不變的情況下,user2 對檔案有讀寫許可權:

root@testsvr:~# setfacl -m u:user2:rw /data/test

root@testsvr:~# getfacl /data/test/

getfacl: removing leading '/' from absolute path names

# file: data/test/

# owner: user1

# group: user1

user::rwx

user:user2:rw-

group::r-x

mask::rwx

other::r-x

user1 在 /data/test 目錄下建立了四個檔案 a1.sh,a2.sh,a3.sh 和 a4.sh,並設定所有使用者都不能刪除它們,只有 user1 和 root 使用者:

root@testsvr:~# su user1 -c "touch /data/test/a.sh"

root@testsvr:~# ls -ld /data/test/

drwxrwxr-x+ 2 user1 user1 4096 2月 27 12:30 /data/test/

root@testsvr:~# chmod g-w /data/test/

root@testsvr:~# ls -ld /data/test/

drwxr-xr-x+ 2 user1 user1 4096 2月 27 12:30 /data/test/

將 user1 作為 user3 的附加組,並設定 user1 不能訪問 /data/test 目錄及其以下目錄:

root@testsvr:~# usermod -ag user1 user3

root@testsvr:~# id user3

uid=1003(user3) gid=1003(user3) groups=1003(user3),1001(user1)

root@testsvr:~# chmod u=- /data/test/

root@testsvr:~# getfacl /data/test/

getfacl: removing leading '/' from absolute path names

# file: data/test/

# owner: user1

# group: user1

user::---

user:user2:rw- #effective:r--

group::r-x

mask::r-x

other::r-x

* 需要注意的是,我們改了檔案的所有者 user1 不能訪問該目錄的時候,該目錄的 acl 許可權也發生了變化,mask 值發生了改變,因為我們前面有要求,user2 對目錄有讀寫許可權,現在 user2 的有效許可權只有讀了,所以我們需要修改 /data/test 的 mask 許可權:

root@testsvr:~# setfacl -m mask::rwx /data/test/

root@testsvr:~# getfacl /data/test/

getfacl: removing leading '/' from absolute path names

# file: data/test/

# owner: user1

# group: user1

user::---

user:user2:rw-

group::r-x

mask::rwx

other::r-x

這樣,user2 的許可權又變回讀寫了。

清理 /data/test 目錄的所有 acl 許可權:

root@testsvr:~# setfacl -b /data/test/

root@testsvr:~# ls -ld /data/test/

d---r-xr-x 2 user1 user1 4096 2月 27 12:30 /data/test/

* 目錄長列表顯示中的 + 沒有了,表示該目錄的 acl 許可權也沒有了。

檔案許可權管理練習

1.當使用者docker對 testdir 目錄無執行許可權時,意味著無法做哪些操作?無法進入 testdir目錄下 2.當使用者mongodb對 testdir 目錄無讀許可權時,意味著無法做哪些操作?無法 ls a testdir 3.當使用者redis 對 testdir 目錄無寫許可權時,該...

Linux檔案許可權管理

linux下面所有的檔案儲存都是以檔案的形式儲存,用ls指令就可以檢視當前目錄下所有檔案的許可權 這個許可權是你現在使用的登入者身份下的許可權哦,也就是說,你以不同的身份登入時,許可權有可能是不一樣的 舉乙個例子 rw r r 1 root root 43240,sep4 18 23 install...

Linux檔案許可權管理

在linux工作目錄中開啟終端,輸入指令ll,會出現當前目錄中所有檔案的詳細資訊,其中第一列的字段當中就包括了檔案的操作許可權。我們可以看到,第一列出現了10個字元,第乙個字元代表了檔案型別,後面的九個字元就代表的是檔案的操作許可權。首先我們要明白這裡對檔案訪問者進行了分類,前三個字元代表了檔案的所...