我正在运行 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