シェル内のすべてのコマンドの前に「sg - grp -c」を付けるにはどうすればよいでしょうか?

シェル内のすべてのコマンドの前に「sg - grp -c」を付けるにはどうすればよいでしょうか?

私は bash シェルを使用しています。特定のユーザーのすべてのコマンドを、シェル内の特定のグループ コマンドとして実行したいのですが、どうすればいいでしょうか? ~/.bashrc で何かできることはありますか?

答え1

ユーザーがセッションの残りを somegroup で過ごしたい場合、newgrp次のように を実行できます。

newgrp somegroup

権限に応じて、パスワードの入力を求められる場合があります。man newgrp詳細については、を参照してください。

ユーザーがセッションを開始したときに所属するグループは、/etc/passwdファイルのその行の 4 番目のフィールドによって決定されます。そのファイルを直接操作したくない場合は、安全に変更するためのシステム ユーティリティがあります。1 つは次のとおりですusermod

usermod -g somegroup someuser

(somegroupこれを実行する前に存在している必要があります。) 上記を実行した後、 が次回someuserログインすると、デフォルトで になりますsomegroup

ファイル内のフィールドの解釈方法については/etc/passwd、 を参照してくださいman 5 passwd (「5」が重要です)。グループとそれに対応するグループ番号は、ファイルで定義されています/etc/groupman 5 group詳細については、 を参照してください。

関連情報