newgrp
グループを変更しようとすると、なぜパスワードを入力するように求められたのかわかりません。どのパスワードを要求しているのかわかりませんが、確かに私のパスワードではありません(ユーザー環境)。
$ id
uid=500(clime) gid=501(www) groups=501(www),500(clime) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
$ newgrp clime
Password: <--- huh?!
私のシステムはCentOS 6.3です。
答え1
newgrp
は、カーネルが一度に1つのグループしか追跡できなかったときから残されたコマンドなので、複数のグループのメンバーである場合は、このコマンドを使用してグループを切り替える必要があります。ユーザーがグループのメンバーとしてリストされていない場合は、グループに切り替えるために入力できるパスワードがグループに割り当てられます。これがシステムからのメッセージです。
答え2
しかし、/etc/group
このファイルにpasswdフィールドがあることに気づかないかもしれません。フィールドは NULL (例::) または*
STAR (例) です。あなたの場合、グループの後者は*
passwdファイルにアスタリスク(アスタリスクなど)でマークされているようです。したがって、システムがグループエントリをグループファイルのNULLではなくパスワードエントリとして扱うとき、コマンドはnewgrp
適切に応答します。
答え3
newgrp(1) は、/etc/passwd および /etc/group という 2 つのファイルを変更します。両方を変更するにはroot権限が必要です。