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>

問題が何で、それをどう修正すればよいか知っている人はいますか? 1 つのフォルダーを共有し、すべての Samba パスワードをローカルで管理して、できるだけシンプルに Samba サーバーを実行しようとしています。

答え1

したがって、テストする場合、非ルート ユーザーとして smbpasswd を使用するときは、5 文字以上のパスワード長を使用する必要があるようです。4 文字を使用したときは失敗しましたが、5 文字以上では機能しました。ルートでは、任意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

関連情報