我想让一个用户拥有超级强大的权力,拥有几乎所有的root权限,但无法触及root用户(更改root的密码)。
我的目标是让用户“B”管理我的 Web 服务器。问题是用户 B 需要能够对其他用户的一些文件运行chown
和命令。chmod
我尝试将 B 放在根组中或者使用 visudo,但这还不够。
我正在使用 Centos 6 系统。
如果有人有想法!
答案1
最好的办法是使用适当配置的 /etc/sudoers 文件。
如果您希望bob
能够更改用户fred
、joe
和的文件的权限和所有者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 身份运行命令。