Users
特定使用者的組資訊報告錯誤
我管理的伺服器有問題。一個帳戶(特別是我的帳戶)似乎沒有正確的組。我認為通過查看以下命令序列最容易證明問題:
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
所以問題是 user.x 的組在登錄後(通過 SSH)被錯誤地報告。如果再次模擬登錄 (
su -
) 或使用groups
orid
命令提供使用者名,則可以正常工作。不正確的組會導致各種問題,例如無法 sudo。我怎樣才能解決這個問題?
可能相關的更多資訊:
- 伺服器是一個 NIS 客戶端,每 15 分鐘同步一次
- 這個問題很少見,但不是唯一的,目前有 2 個使用者在過去半年中獲得了它
- 這個問題似乎只發生在經常通過 SSH 進入機器的使用者身上
問題是組資訊首先從 nis 中提取,然後從 nis 的本地副本中提取(由 ypserv 製作)
解決方案是更改 /etc/nsswitch.conf 從
group: compat
到:
group: files nis compat
在創建 shell 時設置組權限。第一個
groups
僅顯示輸出user.x
的 shell 是在添加其他組之前創建的嗎?如果是這樣,只需註銷並重新登錄。