samba smbpasswd NT_STATUS_ACCESS_DENIED gid_to_sid:winbind 找不到 gid 100 的 sid

samba smbpasswd NT_STATUS_ACCESS_DENIED gid_to_sid:winbind 找不到 gid 100 的 sid

我正在運行 SLES 11.4,當用戶嘗試使用smbpasswd.作為 root,如果我smbpasswd為使用者帳戶執行此操作,那麼就可以了。一旦smbpasswd設定完畢,samba 伺服器就可以正常運作,使用者可以存取或不存取他們應該存取的所有內容。在開啟日誌記錄等級 10 專門寫入 時/var/log/samba.log,我發現了這一點:

gid_to_sid: winbind failed to find a sid for gid 100
LEGACY: gid 100 -> sid S-1-22-2-100

Forcing Primary Group to 'Domain Users' for ron

該日誌檔案是為了在命令提示字元下執行以下操作而產生的,我自己以 Linux 中的常規使用者身分登入。它以看起來成功的方式結束,但 smbpasswd 沒有改變。

ron/Desktop> smbpasswd
Old SMB password:
New SMB password:
Retype new SMB password:

cli_negprot: SMB signing is mandatory and the server doesn't support it.
machine 127.0.0.1 rejected the negotiate protocol. Error was : NT_STATUS_ACCESS_DENIED.
Password changed for user ron

ron/Desktop>

有人知道問題是什麼以及如何糾正它嗎?我正在嘗試盡可能簡單地運行 samba 伺服器,共享一個資料夾並在本地完成所有 samba 密碼。

答案1

因此,如果您正在測試,作為非 root 用戶,在使用 smbpasswd 時,您必須使用長度為 5 個字元或更長的密碼。當我使用 4 個時失敗,但 5 個或更多有效。作為 root,您可以smbpasswd <username>成功地使用任何字元長度。所以要注意這一點。

我的 /etc/samba/smb.conf 檔案是這樣的,它解決了問題,特別是server signing = auto 似乎obey pam restrictions沒有影響,我透過多次更改所有密碼要求{參見下圖}並重新啟動 smb 和 nmb 進行驗證,似乎是什麼讓這一切順利進行的是server signing = auto

在此輸入影像描述

[global]
        workgroup = abc.com
        passdb backend = tdbsam
        map to guest = Bad User
        usershare allow guests = No
        add machine script = /usr/sbin/useradd  -c Machine -d /var/lib/nobody -s /bin/false %m$
        domain master = No
        security = user
        wins support = No
        log file = /var/log/samba.log
        log level = 10
#       client signing = auto
        server signing = auto      {need this to allow users to use smbpasswd successfully}

#       obey pam restrictions = Yes
#       pam password change = Yes

相關內容