當用戶屬於超過16個組時,無法讀取或寫入NFS或Samba共享

問題:

一個隸屬於16個以上組的用戶無法寫入NFS/NAS/Samba共享。 在Samba 10級調試日誌中,可能會看到以下消息

  • [2011/10/20 17:53:03.290707, 0] lib/util.c:1468(smb_panic) PANIC (pid 6543): sys_setgroups failed

這有什麼原因嗎?

原因:

  • NFSv3對一個用戶所屬的組數敏感。 進一步調查表明它只能識別前16個組
  • 如果某用戶是16個以上AD組的成員,這些AD組又映射到Zone中的Unix組,則將從第17個組開始拒絕訪問。
  • 用戶將沒有任何權限對需要第17個組成員身份的NAS共享執行讀/寫/執行操作。

解決方法:

減少組的數量或使用adsetgroups命令(參見用法手冊頁)更改組的順序。

對於Samba,有兩種選擇:

  1. 將每個AD用戶的啓用組數減少到16個以下
  2. 在smb.conf的[global]部分中,設置以下內容
    • ignore syssetgroups error = Yes
    • (這意味着組將不被應用。如果用戶希望實施組成員關係,那麼這將是一個問題,但是samba可以工作。)
  3. 使用支持65535組的OS平臺,例如現代Linux(2.6內核)。

注意事項:

  • 這是一個臨時解決方案。 對於本地用戶,將根據/etc/group文件中定義組的順序返回這些組。
  • 例如,如果在/etc/groups中以遞增順序定義了Group01-Group16,則運行groups命令將以相同的順序顯示組。 混合文件中的順序將相應地反映在命令中。 對於AD用戶,它取決於順序,並且是字母

決議:

在撰寫本文時,減少組數或使用NFS V4(據報道沒有此限制)是唯一已知的解決方案。

有關更多參考,也請參考以下內容:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章