为什么创建了Samba用户却查找不到
从您提供的信息来看,虽然pdbedit -a
命令似乎执行成功并显示了用户信息,但随后pdbedit -L
却找不到该用户,这可能是由以下几个原因造成的:
可能的原因
-
Samba服务未正确运行:
-
如果Samba服务没有运行或加载用户数据库有问题,可能导致新用户无法被列出。
-
-
用户数据库权限问题:
-
Samba的用户数据库文件(
passdb.tdb
)可能没有正确的读写权限。
-
-
数据库损坏:
-
Samba的用户数据库可能已损坏。
-
-
缓存问题:
-
有时需要重启Samba服务才能使更改生效。
-
-
用户实际未创建成功:
-
尽管命令返回了信息,但可能由于某些原因用户未被真正写入数据库。
-
解决方法
-
检查Samba服务状态:
systemctl status smb
如果服务未运行,启动它:
systemctl start smb
-
强制重新加载用户数据库:
smbcontrol all reload-config
-
检查数据库文件权限:
ls -l /var/lib/samba/private/passdb.tdb
确保文件属于root且权限正确(通常应为640)。
-
尝试其他查看用户的方法:
smbpasswd -e zsuser # 检查用户是否存在 pdbedit -Lv # 显示更详细的用户列表
-
重建用户数据库索引:
pdbedit -i smbpasswd:/etc/samba/smbpasswd
-
检查日志文件:
tail -f /var/log/samba/log.smbd
查看创建用户时的错误信息。
如果以上方法都不能解决问题,可能需要考虑备份后删除并重新创建Samba用户数据库。