在 Linux 中是否可以授予用户像 root 一样对所有文件和目录的读/写访问权限?
编辑我有一个特殊情况。我需要创建一个文件夹结构,在这个结构上我可以授予特殊用户完全访问权限,而不受底层权限的影响。这类似于一个文件夹及其子文件夹上的根用户。
我不确定这是否可行以及如何实现。我读过有关 ACL 的文章,但找不到解决方案。
答案1
当然,我并不是 Linux 的专家,但这是一个奇怪的要求。
你为什么要这么做?这就是 Root 权限的用途……而且这非常危险,因为上述用户可能会造成非常严重的损害?
话虽如此,您可以编写一个使用命令“chmod”修改特定文件夹集的 shell 脚本。这样您就可以重复使用该脚本...
答案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