![セッションで「ログアウト」すると、新しく追加されたセカンダリグループがアクティブになるのはなぜですか? [コピー]](https://linux33.com/image/51512/%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A7%E3%80%8C%E3%83%AD%E3%82%B0%E3%82%A2%E3%82%A6%E3%83%88%E3%80%8D%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%E6%96%B0%E3%81%97%E3%81%8F%E8%BF%BD%E5%8A%A0%E3%81%95%E3%82%8C%E3%81%9F%E3%82%BB%E3%82%AB%E3%83%B3%E3%83%80%E3%83%AA%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E3%81%8C%E3%82%A2%E3%82%AF%E3%83%86%E3%82%A3%E3%83%96%E3%81%AB%E3%81%AA%E3%82%8B%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
私は次の質問をしました ユーザー補助グループが追加されましたが、「groups(1)」に変更は表示されません。今日早く。今、この答えがなぜ機能するのか知りたいです。走った後
adduser user group
なぜユーザーログアウトする必要があります(ウィンドウマネージャがない状況でこれが何を意味するのかわかりません)。またはその理由は何ですか?新しいグループ(1)電話する必要がありますか?
答え1
マンページを見ると、資格adduser
子プロセスがリアルタイムで変更をすぐに反映しない理由を理解することができます。
抜粋
fork(2)によって生成された子プロセスは、親プロセスのユーザーとグループIDのコピーを継承します。 execve(2)中に、プロセスの実際のユーザーとグループIDと補足グループIDは、execve(2)で説明されているように変更できます。
では、これはどういう意味ですか?
ログオフすると、後続のすべてのプロセスが生成される親プロセスが終了します。デスクトップなどのすべてこの基本プロセスには、/etc/passwd
&を読み込むためのグループ情報が含まれています/etc/group
。
環境でグループ情報を取得する方法に役立つ別のファイルには、次/etc/nsswitch.conf
の行が含まれます。
passwd: files
shadow: files
group: files
これは、前述のファイルからパスワード、グループなどに関する情報のみを読むようにシステムに指示します。
これらの行は、この情報を取得するために他のソース(NIS、LDAPなど)を使用するようにシステムに簡単に指示できます。
nsswitch.conf
マニュアルページを見ると、nsswitch.conf
システムがユーザー名、グループ、パスワードで構成されるさまざまな「データベース」の内容を取得する方法がわかります。
抜粋
FILES
A service named SERVICE is implemented by a shared object library named
libnss_SERVICE.so.X that resides in /lib.
/etc/nsswitch.conf configuration file
/lib/libnss_compat.so.X implements `compat' source for glibc2
/lib/libnss_db.so.X implements `db' source for glibc2
/lib/libnss_dns.so.X implements `dns' source for glibc2
/lib/libnss_files.so.X implements `files' source for glibc2
/lib/libnss_hesiod.so.X implements `hesiod' source for glibc2
/lib/libnss_nis.so.X implements `nis' source for glibc2
/lib/libnss_nisplus.so.2 implements `nisplus' source for glibc 2.1
NOTES
Within each process that uses nsswitch.conf, the entire file is read only
once; if the file is later changed, the process will continue using the
old configuration.
このコメントを見ると、このファイルと同様の状況が反映され、nsswitch.conf
リアルタイムで変更できないという意味です。
答え2
ログイン時にグループメンバーシップを読むために必要です。これらの情報はすべてセッションとともに保存され、再読み込みされません。