Como prefixar cada comando no shell com “sg - grp -c”?

Como prefixar cada comando no shell com “sg - grp -c”?

Estou usando o shell bash. Quero executar todos os comandos de um usuário específico para serem executados como um comando de grupo específico no shell. Como eu posso fazer isso? Qualquer coisa pode ser feita em ~/.bashrc ?

Responder1

Se um usuário quiser passar o resto de sua sessão em algum grupo, ele poderá executar newgrp, como em:

newgrp somegroup

Ele pode ou não ser solicitado a fornecer uma senha, dependendo das permissões. Veja man newgrppara detalhes.

O grupo em que o usuário se encontra ao iniciar sua sessão é determinado pelo quarto campo de sua linha do /etc/passwdarquivo. Se você não quiser mexer diretamente nesse arquivo, existem utilitários de sistema para modificá-lo com segurança. Um é usermod:

usermod -g somegroup someuser

( somegroupdeve existir antes de você executar isso.) Depois de executar o acima, na próxima vez que someuserfizer login, ele estará, por padrão, em somegroup.

Para obter informações sobre como interpretar os campos do /etc/passwdarquivo, consulte man 5 passwd (o "5" é importante). Os grupos e seus números de grupo correspondentes são definidos no /etc/grouparquivo. Veja man 5 grouppara mais informações sobre isso.

informação relacionada