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