我在安装 samba4 时遇到了麻烦。很长一段时间以来,它一直运行正常。我使用 webmin 来配置用户,尽管该模块只支持 samba3,但它运行正常。
最近,我无法从我的 Windows 工作站连接到我配置的共享。我研究了日志和文档。我提高了日志记录级别以进行调试,并得到了一些有趣的条目。
[2016/04/24 12:01:08.574053, 2] ../source3/param/loadparm.c:2686(lp_do_section)
Processing section "[bigstorage]"
[2016/04/24 12:01:08.574194, 2] ../source3/param/loadparm.c:2686(lp_do_section)
Processing section "[homes]"
[2016/04/24 12:01:08.584319, 2] ../source3/auth/auth.c:305(auth_check_ntlm_password)
check_ntlm_password: authentication for user [tiny] -> [tiny] -> [tiny] succeeded
[2016/04/24 12:01:08.585051, 1] ../source3/auth/token_util.c:430(add_local_groups)
SID S-1-5-21-998636918-4013062214-3753039175-1105 -> getpwuid(3000012) failed
我停止了 smbd 服务并以 root 身份在命令行上以交互模式运行:
smbd -S -d=3 -i
当我尝试从我的笔记本电脑(mint 17.3)列出共享时,我得到以下信息:
chris@minty-laptop ~ $ smbclient -L=thinky
WARNING: The "syslog" option is deprecated
Enter chris's password:
session setup failed: NT_STATUS_UNSUCCESSFUL
这是来自 smbd 命令的标准输出:
这是 /etc/samba/smb.conf 文件:
当我尝试在已经运行了很长时间而没有问题的 Windows 机器上打开映射网络驱动器时,也会发生同样的情况。
Google 上没有找到太多与此问题相关的内容,尽管它看起来与许多其他问题类似。除非我感到困惑...任何指导或建议都值得感激。
干杯
克里斯
答案1
太老了,但至少我可以以访客身份发帖。今天我遇到了这个问题,我创建了第二个用户并开始进行故障排除。
错误:
[dev@centos8 share]$ smbclient -U user1 //localhost/User1
Unable to initialize messaging context
Enter WORKGROUP\user1's password:
session setup failed: NT_STATUS_UNSUCCESSFUL
User2 工作正常,不知道为什么。发现 SAMBA 默认使用 tdbsam 作为凭证存储,它实际上只是一个位于 的本地文件/usr/local/samba/private/passdb.tdb
。
您可以使用该命令pdbedit -Lv
查看所有 SAMBA 用户的列表。
我的问题一开始就很清楚,用户 1 和用户 2 之间的唯一区别是用户 1 的主组 SID 有一个 (NULL SID) 值:
Primary Group SID: (NULL SID)
。
由于该组丢失,这是一个明显的危险信号,表明权限将会出现混乱。