
Linux 中是否可以授予使用者對所有檔案和目錄(如 root)的讀取/寫入存取權限?
編輯我有一個特殊的案例。我需要建立一個資料夾結構,在該結構上我可以授予特殊使用者完全存取權限,而與底層權限無關。它類似於一個資料夾及其子資料夾的根用戶。
我不確定這是否可能以及如何實現。我正在閱讀 ACL,但找不到解決方案。
答案1
誠然我不是 Linux 的專家,但這是一個奇怪的請求。
為什麼想這麼做?這就是根權限的用途......而且這非常危險,因為所說的用戶可能會造成相當嚴重的損害?
話雖這麼說,您可以編寫一個 shell 腳本,使用命令“chmod”來修改特定的資料夾集。這樣你就可以重複使用該腳本......
答案2
建立新用戶:
adduser -u 0 -o -g 0 -G 0,1,2,3,4,6,10 -M nameofuser
解釋:
- adduser:在linux伺服器中新增使用者的命令
- -u 0-o:將新用戶值設為0
- -g 0:設定用戶群組號碼為0
- -G 0,1,2,3,4,6,10: 設定使用者對群組的存取權限 0 = root, 1 = bin, daemon = 2, 3 = sys, adm = 4, 6 = disk, 10 = Wheel
- -M:不為新使用者建立主目錄
- nameofuser:新使用者名稱
檢查新用戶是否有像root用戶一樣的存取權限和新資訊:
[root@centos ~]# id root
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
[root@centos ~]# id nameofuser
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
答案3
我需要建立一個資料夾結構,在該結構上我可以授予特殊使用者完全存取權限獨立於底層權限。它類似於一個資料夾及其子資料夾的根用戶。
透過「獨立於底層權限」位,似乎只是假裝擁有 root 存取權限就足夠了。在這種情況下你可以使用 fakeroot:
$ mkdir direc
$ cd direc
$ fakeroot
# touch some-file
# touch common-file
# chown user:user common-file
# ls -l
-rw-r--r-- 1 user user 0 Jun 11 22:56 common-file
-rw-r--r-- 1 root root 0 Jun 11 22:55 some-file
看起來你已經設定了所有者,並且預設情況下文件由root擁有。然而,如果你退出 fakeroot,你會發現他們並沒有真正的 root 擁有權。
# exit
$ ls -l
-rw-r--r-- 1 user user 0 Jun 11 22:56 common-file
-rw-r--r-- 1 user user 0 Jun 11 22:55 some-file