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

相关内容