Я использую оболочку Bash. Я хочу выполнить все команды определенного пользователя, чтобы они выполнялись как определенная групповая команда в оболочке. Как мне это сделать? Можно ли что-нибудь сделать в ~/.bashrc?
1 ответ
Если пользователь хочет провести остаток своего сеанса в некоторой группе, он может запустить newgrp , например:
newgrp somegroup
Он может или не может быть запрошен пароль в зависимости от разрешений. Смотрите man newgrp для деталей.
Группа, в которой находится пользователь, когда он начинает сеанс, определяется четвертым полем его строки в /etc/passwd . Если вы не хотите использовать этот файл напрямую, существуют системные утилиты для его безопасного изменения. Одним из них является usermod:
usermod -g somegroup someuser
(somegroup должна существовать, прежде чем вы запустите это.) После выполнения выше, в следующий раз, someuser журналы в, он будет, по умолчанию, будет в somegroup
Для получения информации о том, как интерпретировать поля в /etc/passwd , смотрите man 5 passwd (важно "5"). Группы и соответствующие им номера групп определены в /etc/group . Смотрите man 5 group для получения дополнительной информации об этом.
