私が管理しているサーバーに問題があります。アカウント(特に私のアカウント)に正しいグループがないようです。問題は、次のコマンドシーケンスを見ると最も簡単に説明できると思います。
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 -
ユーザー名を指定すると正常に動作します。groups
id
間違ったグループは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
問題を解決する方法が見つからない場合は、ファイルをバックアップしてデフォルトのファイルを復元します。ケースを再インストールしてみてください。