特定のユーザーのグループ情報報告エラー

特定のユーザーのグループ情報報告エラー

私が管理しているサーバーに問題があります。アカウント(特に私のアカウント)に正しいグループがないようです。問題は、次のコマンドシーケンスを見ると最も簡単に説明できると思います。

Last login: sometime from somewhere
user.x@srv:~$ groups
user.x
user.x@srv:~$ groups user.x
user.x : user.x grp1 grp2
user.x@srv:~$ su - user.x
Password:
user.x@srv:~$ groups
user.x grp1 grp2
user.x@srv:~$ exit
user.x@srv:~$ groups
user.x

したがって、問題は、SSHを介してログインした後にuser.xのグループが誤って報告されることです。 login() を再シミュレートするか、command を介してsu -ユーザー名を指定すると正常に動作します。groupsid

間違ったグループはsudoを使用できないなど、さまざまな問題を引き起こす可能性があります。この問題をどのように解決できますか?

関連性がある可能性がある追加情報:

  • サーバーはNISクライアントであり、15分ごとに同期されます。
  • この問題はまれですが、固有の問題ではありません。現在、過去6ヶ月間、2人のユーザーがこの問題に遭遇しました。
  • この問題は、定期的にSSH経由でコンピュータに接続しているユーザーにのみ発生するようです。

答え1

問題は、グループ情報が最初にnisから抽出され、次にnisのローカルコピー(ypservで作成)から抽出されることです。

解決策は/etc/nsswitch.confを次のように変更することです。

group: compat

到着する:

group: files nis compat

答え2

グループ権限は、シェルの作成時に設定されます。最初のシェルの出力には、groups次のものだけが表示されますuser.x。そのシェルは他のグループを追加する前に作成されましたか?その場合は、ログアウトしてもう一度ログインしてください。

答え3

ユーザーシェルの設定に問題があるようです。シェルの定義方法を確認し/etc/passwd/etc/profileユーザーのログインスクリプトにエラーがないかどうかを確認してください(例.bashrc.bash_loginなど)。.profile問題を解決する方法が見つからない場合は、ファイルをバックアップしてデフォルトのファイルを復元します。ケースを再インストールしてみてください。

関連情報