我的机器上有两个组,groupa
并且groupb
-groupa
我有两个用户,user1a
和user2a
。
我想授予groupa
特权成员访问groupb
资源(运行命令、查看文件等)的权限。我认为这可能涉及使用visudo
,但我可能错了。
我想要实现的目标相当于:
usermod -a -G groupb user1a
usermod -a -G groupb user2a
但要在组级别上进行,以便如果将来user3a
添加groupa
,用户也会自动拥有权限groupb
。
正如您可能已经猜到的那样,Unix 管理不是我的主要操作领域!
我该怎么办?
提前致谢
富有的
答案1
答案2
我认为这是不可能的,除非通过为 useradd 定义自己的包装器并强制使用它,或者通过 cron 脚本定期检查 groupa 的成员并在必要时将它们添加到 groupb。
答案3
使用 sudo 实现这一点需要用户在所有命令前加上前缀sudo -g groupb
。用户不会属于该groupb
组,用户只具有切换到该组并运行命令的权限。 visudo
是编辑 sudoers 文件的命令,该文件控制谁被允许使用 sudo 做什么。
执行此操作至少需要 1.7.0 并打开安全漏洞适用于 1.7.4p3 及以下版本
%groupa ALL = (:groupb) ALL
手动将用户添加到两个组可能更好。PAM 向导可能能够自动执行该过程,但它仅适用于使用 PAM 识别用户而不是直接读取 /etc/group 和 /etc/passwd 的登录 shell 或应用程序