Users

特定使用者的組資訊報告錯誤

  • September 3, 2011

我管理的伺服器有問題。一個帳戶(特別是我的帳戶)似乎沒有正確的組。我認為通過查看以下命令序列最容易證明問題:

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 -) 或使用groupsorid命令提供使用者名,則可以正常工作。

不正確的組會導致各種問題,例如無法 sudo。我怎樣才能解決這個問題?

可能相關的更多資訊:

  • 伺服器是一個 NIS 客戶端,每 15 分鐘同步一次
  • 這個問題很少見,但不是唯一的,目前有 2 個使用者在過去半年中獲得了它
  • 這個問題似乎只發生在經常通過 SSH 進入機器的使用者身上

問題是組資訊首先從 nis 中提取,然後從 nis 的本地副本中提取(由 ypserv 製作)

解決方案是更改 /etc/nsswitch.conf 從

group: compat

到:

group: files nis compat

在創建 shell 時設置組權限。第一個groups僅顯示輸出user.x的 shell 是在添加其他組之前創建的嗎?如果是這樣,只需註銷並重新登錄。

引用自:https://unix.stackexchange.com/questions/19683