Как добавить к каждой команде в оболочке префикс «sg - grp -c»?

Как добавить к каждой команде в оболочке префикс «sg - grp -c»?

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

Связанный контент