我处于必须在 unix 用户组或 sudo 之间做出选择来解决问题的情况。
为了提供一些背景信息,Linux 应用程序以用户 X 的身份安装。安装过程中会复制一些脚本并为用户 X 创建具有执行/写入权限的某些日志目录。
现在,用户 Y 的另一个应用程序需要启动 X。它需要以用户 Y 的身份运行应用程序。并且它应该能够执行启动脚本并写入用户 X 有权限的日志文件。
为了解决这个问题,我想到了两个解决方案:
使用 sudo/su 以用户 Y 身份运行应用程序。这意味着,我需要在启动脚本中输入密码,这可能不符合要求。我们可以为启动脚本授予只读权限,但仍然如此。
将用户 Y 和 X 添加到一个组,并授予他们正确的组权限以完成此操作
我个人认为 2 更好,更灵活,并且不需要将密码输入启动脚本,这可能会成为生产系统的问题。
请让我知道您的想法以及您是否有更好的想法。
答案1
sudo 旨在替代切换用户(仅在需要时提升权限),而 su 则用于切换用户 - 这两个功能在这里都不是必需的。除非您确实需要 root,否则使用组和文件系统级权限是更好的选择 - 它会更简单、更安全。