Linux:如何创build一个超级用户?

我有三个用户:

  • USER_1,
  • user_2和
  • user_super。

有两个目录,

  • / root / user_1(chown -R user_1:user_1)
  • / root / user_2(chown -R user_2:user_2)

我希望我的user_super能够修改这些文件,并能够将其恢复到原始状态。

user_1和user_2不能读取/更改每个其他文件,并被监禁到其根文件夹。

我如何去做呢?

PS:user_super应该没有root权限,user_super会在服务器上运行apache,所以它应该尽可能地靠近www-data(Apache)用户。

在目录上设置组粘贴位(chmod g + s),以便新创build的文件inheritance组所有权和组权限。 这将有助于你处理apache托pipe和多个ftp用户。

我们在apache和ftp-users的服务器上绕过了这个问题,方法是使用mod_itk运行apache,并设置虚拟主机使用ftp所有权。

然后在用户user_super中创build一个组超级组

/root/user_1 (chown -R user_1:supergroup) /root/user_2 (chown -R user_2:supergroup) 

这个设置的问题:在大多数实现中,chown只能由超级用户执行。 想要更改他们拥有的文件组的非特权(常规)用户可以使用chgrp。 所以你会认为:完美,我会让user_super将组更改回group user_1或user_2,但chgrp只允许user_super将所有权更改为他所属的一个组。

我想user_super是不是根?

你可以尝试使用sudo。

在sudoers文件中创build条目以允许user-super获取/ root / user-1和/ root / user-2中的文件的所有权,并将所有权归还给用户1和用户2。

然后,user-super会运行第一个sudo chown命令,编辑该文件,然后运行第二个sudo chown命令将其更改回来。 不要让不受限制的sudo chown,而是指定模式。

当设置一个邮件服务器,我需要有一个由虚拟邮箱进程拥有的apache创build邮箱。 所以我所做的是创build一个小脚本来创build脚本,然后将所有权更改为虚拟邮箱进程。 我添加了Apache到sudoers文件,允许它运行脚本。 它运作良好,但为了充分披露,您需要小心地构build脚本,因为安全性错误可能是一个诡计。