Назад | Перейти на главную страницу

Неявно добавлять пользователей в группу в UNIX через членство во второй группе

У меня на машине две группы, groupa и groupb - в groupa У меня два пользователя, user1a и user2a.

Я хотел бы подарить членам groupa привилегии для доступа groupb ресурсы (запускать команды, просматривать файлы и т. д.). Я думаю, это, вероятно, связано с использованием visudo, но я могу ошибаться.

То, что я хотел бы достичь, эквивалентно:

usermod -a -G groupb user1a
usermod -a -G groupb user2a

но делать это на уровне группы, чтобы, если в будущем user3a добавлен к groupa, пользователь также автоматически получает привилегии для groupb.

Как вы уже догадались, администратор Unix не является моей основной сферой деятельности!

Как мне это сделать?

заранее спасибо

Богатый

Вы не можете создавать вложенные группы из коробки, как в Active Directory. А предыдущий вопрос получил ответ, указывающий на Попечители Linux.

Я думаю, что это невозможно сделать, кроме как путем определения вашей собственной оболочки для useradd и обеспечения ее использования или, возможно, с помощью сценария cron, который периодически проверяет членов groupa и, при необходимости, добавляет их в groupb.

Использование sudo для достижения этого требует, чтобы пользователь префикс всех своих команд с sudo -g groupb. Пользователь не будет в groupb group, пользователю будет просто разрешено переключаться в эту группу и выполнять команды. visudo это команда для редактирования файла sudoers, который определяет, кому разрешено использовать sudo для чего.

Для этого требуется не менее 1.7.0 и открывается эксплойт безопасности в версиях до 1.7.4p3

%groupa ALL = (:groupb) ALL

Возможно, лучше просто вручную добавить пользователя в обе группы. Мастер PAM может автоматизировать этот процесс, но он будет работать только для оболочек входа или приложений, которые используют PAM для идентификации пользователя, а не для чтения / etc / group и / etc / passwd напрямую.