ユーザーを新しいグループに追加する場合、そのユーザーが /nologin ユーザーである場合、ユーザー グループの権限はいつアクティブになりますか?

ユーザーを新しいグループに追加する場合、そのユーザーが /nologin ユーザーである場合、ユーザー グループの権限はいつアクティブになりますか?

Web サーバーを実行するためのサービス レベル アカウントがあり、このユーザーは で設定されています/sbin/nologin

通常、ユーザーをグループに追加する場合、新しいグループ権限を使用するにはログアウトしてログインする必要があります。

このユーザーを別のグループに追加して権限の一部を拡張したいのですが、Web サーバーのユーザーがログインしないので、ユーザーはいつ、どのようにして新しいグループの権限にアクセスできるようになるのでしょうか?

答え1

プロセスのグループは、プロセスのプログラムを実行する前に、ルートからターゲットユーザーに変更するプログラムによって設定されます。ユーザーがログインすると、ユーザーを変更するプログラムはログインプログラム(login、、、 …)であり、プロセスのプログラムはユーザーのシェルです。システムユーザーで実行されるデーモンの場合、ユーザーsuを変更するプログラムは、またはDebianのなどの他のツールでsshdある可能性があります。sustart-stop-daemonたとえば、start-stop-daemon常にプロセスに補助グループを追加します。ユーザー変更プログラムには、ユーザー データベースからのプライマリ グループとグループ データベースからの補助グループの両方を設定するロジックが必要です。

答え2

CentOS 6 では がnscd実行されている可能性があります。 上位レベルのコマンド ( などusermod) でグループ所有権を変更していない場合は、 を実行して /etc/gshadow も更新されるようにする必要があります。が実行されているgrpconv場合は、を追加してローカル グループ キャッシュを無効にします。プライマリ GID を変更した場合は を実行します。nscdnscd -i groupnscd -i passwd

で結果を確認してくださいid -a $ACCOUNT

その後、サービスを再起動します。

答え3

su - ; /etc/init.d/NAME stop; /etc/init.d/NAME start; をお勧めします。

「/etc/init.d/NAME restart」だけでは不十分かもしれません。

関連情報