Добавить всех пользователей в одной группе в другую группу?


8

У меня есть несколько пользователей в группе, aaи мне нужно дать им права на запись в папку, которая сейчас есть tomcat:tomcatdeploy.

Простой способ сделать это - добавить всех пользователей в tomcatdeployгруппу, один за другим.

Можно ли сказать, что члены группы aaтакже автоматически становятся участниками tomcatdeploy, каким-то образом добавив aaгруппу в tomcatdeployгруппу?

Или это попытка раздвинуть схему разрешений UNIX слишком далеко?

Ответы:


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

Вы не упомянули, на какой платформе вы работаете, но система Linux за последние 5 лет (или, вероятно, более) поддерживает ACL в дополнение к традиционным разрешениям файловой системы Unix. Используя ACL, вы можете добавить 2-ю группу в каталог с правами записи:

$ setfacl -m group:2ndtomcatdeploy:rwx target_directory

Вы можете использовать getfaclдля отображения ACL, и ls -lв конце обычной строки символьного режима будет отображаться знак «+».

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.