将一个组中的所有用户添加到另一组中?


8

我在一个叫做组的用户中,有些用户aa需要授予他们写入当前文件夹的权限tomcat:tomcatdeploy

这样做的直接方法是将所有用户tomcatdeploy一个一个地添加到组中。

是否可以说通过某种方式将组添加到组中,组的aa成员也自动成为其成员?tomcatdeployaatomcatdeploy

还是试图将UNIX权限方案推得太远?

Answers:


7

您可以使用以下lid命令获取中的用户列表aa,然后在该列表上循环将其添加到tomcatdeploy

for u in $(lid -g -n aa); do usermod -a -G tomcatdeploy $u; done

for u in $(lid -g -n aa); do usermod -a -G tomcatdeploy $u; done(我想你的意思是$u在usermod中,而不仅仅是u
asoundmove

接得好!我只是在答案中修复了代码。
贾斯汀·埃斯蒂尔

10

您没有提到您使用的平台,但是最近5年(或可能更长)内的Linux系统除了支持传统的Unix文件系统权限外,还支持ACL。通过使用ACL,您可以将第二组添加到具有写访问权的目录中:

$ setfacl -m group:2ndtomcatdeploy:rwx target_directory

您可以getfacl用来显示ACL,并ls -l在通常的符号模式字符串的末尾显示一个“ +”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.