Я использую оболочку 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
для получения дополнительной информации об этом.