私は 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