我的机器上有两个组, groupa和groupb ,在groupa我有两个用户user1a和user2a 。
我想授予组的成员权限访问groupb资源(运行命令,查看文件等)。 我想这可能涉及到使用visudo ,但我可能是错的。
我想达到的是相当于:
usermod -a -G groupb user1a usermod -a -G groupb user2a
但要在组级别上执行,以便如果将来将user3a添加到groupa ,用户也会自动获得groupb 。
正如你可能已经猜到的,Unixpipe理员不是我的主要操作区域!
我如何去做呢?
提前致谢
丰富
你不能像在Active Directory中那样做嵌套组。 前面的问题得到了一个指向Linux受托人的答案。
我认为这是不能做到的,除了定义你自己的useradd包装并强制使用它,或者定期检查一下cgrouppact的cron脚本,并在必要时将它们添加到groupb中。
使用sudo来实现这一点,需要用户用sudo -g groupb前缀所有的命令。 用户不会在groupb组中,用户将只具有切换到该组的权限并运行命令。 visudo是编辑sudoers文件的命令,该文件控制谁可以使用sudo来执行什么操作。
这样做至less需要1.7.0,并打开1.7.4p3版本的安全漏洞
%groupa ALL = (:groupb) ALL
将用户手动添加到两个组可能会更好。 PAM向导可能能够自动执行该过程,但只能用于loginshell或使用PAM识别用户的应用程序,而不是直接读取/ etc / group和/ etc / passwd