切换到“角色”帐户,稍后使用“sudo”和“ssh”代理转发 - 可能吗?

切换到“角色”帐户,稍后使用“sudo”和“ssh”代理转发 - 可能吗?

我想为一些通常不需要 root 权限的管理任务创建“角色”帐户。例如,假设有一名www-admin用户在 中维护文件/var/www

在我看来,这是解决文件权限问题最简单的方法:它可以确保承担此角色的每个人都以权限/所有权创建文件,以便具有此角色的其他人都可以编辑/读取,而无需使用组可写访问模式。

用户可以使用sudo su www-admin --preserve-environment --shell /bin/bash或类似命令切换到该角色。

我遇到两个问题:

  1. 有时,www-admin角色需要执行sudo任务。但切换到角色后,sudo会要求输入角色帐户的密码。我不想设置它并与所有人共享。我可以让 sudo 询问原来的用户的密码?

  2. 切换到角色后,用户可能需要使用 SSH,例如签出 git 存储库。但是,SSH 身份验证套接字的权限(当然)设置为“角色”用户 ID 无法从中读取。

我确信这在多人管理团队中是一个相当常见的问题。您如何解决这个问题?

另外,我注意到sudo手册页上写着“调用用户的真实(非有效)用户 ID...”。那么,如果真实用户 ID 和有效用户 ID 之间存在差异,这有帮助吗...?

答案1

也许最好是完全避免转换“角色”?

相反,您可以使用 ACL 来确保某些共享文件集可以在无需任何切换的情况下进行编辑。

另外,您还可以使用 ACL 强制限制“守护进程”在需要时具有 R/O 访问权限。

sudo可以说它主要是克服标准 UNIX 用户/组/其他访问模型(以及另一个可以描述为“root”或“nobody”的模型)的一种方法,同时它仍然被广泛使用,现代 UNIX 系统已经获得了比上述模型更细粒度的访问模型。

答案2

  1. 有时,www-admin角色需要执行sudo任务。但切换到角色后,sudo会要求输入角色帐户的密码。我不想设置它并与所有人共享。我可以让 sudo 询问原来的用户的密码?

为什么不

  • www-管理员用户一个~/bin/带有相应命令的文件夹,所有命令都带有苏伊德权限?

或者

  • 编辑/etc/sudoers并赋予NOPASSWD各种命令属性www-管理员用户。然后www-管理员可以通过运行这些须藤无需使用任何密码。

相关内容