如何让非root用户对任何用户组文件使用chown?

如何让非root用户对任何用户组文件使用chown?

我想让一个用户拥有超级强大的权力,拥有几乎所有的root权限,但无法触及root用户(更改root的密码)。

我的目标是让用户“B”管理我的 Web 服务器。问题是用户 B 需要能够对其他用户的一些文件运行chown和命令。chmod

我尝试将 B 放在根组中或者使用 visudo,但这还不够。

我正在使用 Centos 6 系统。

如果有人有想法!

答案1

最好的办法是使用适当配置的 /etc/sudoers 文件。

如果您希望bob能够更改用户fredjoe和的文件的权限和所有者sara,请将其放入您的 sudoers 文件中。使用此行,bob将需要使用例如来更改的文件的sudo -u fred chmod ...权限。fred

Runas_Alias  USERS = fred, joe, sara
bob          ALL = (USERS): /bin/chmod, /bin/chown

答案2

他们应该能够管理 Web 服务器内容,而无需chown。您可能希望将他们添加到与 Web 服务器运行相同的组中。然后将chown内容分配给所需的用户。在顶层内容目录上设置组粘性位会有所帮助。

通常,最好不要让 Web 服务器写入内容目录。但 Web 服务器使用的缓存和上传目录除外。

我使用的另一种方法是定期安排任务,从版本控制存储库更新内容。当多个用户更新内容时,这种方法很有效。根据版本控制软件,您可以chmod在签入时或签出后进行处理。请参阅有什么版本控制系统可以管理各个方面?一些想法。

答案3

理想情况下,没有人愿意将类似 root 的权限授予非 root 用户。你到底想在这里实现什么...?为什么用户“B”需要更改属于其他用户的文件的所有权和权限?

好吧,如果这就是您想要实现的全部目标,为什么不允许读取这些文件并让用户“B”简单地将它们复制到另一个位置。这将使用户“B”成为文件的所有者,并允许更改权限。

另一个解决方法是使用,sudo以便他们可以以 root 身份运行命令。

相关内容