在之前有讲过一个 samba 无法连接的情况, 这次碰到的是 samba 依赖被弄坏后还原.
注: 可能不是很详细, 因为时间原因, 可能不够完整或缺少记录和截图. 作为记录和参考.
问题: 因为对 Ubuntu 系统不太了解, 使用服务器的同事 直接百度执行了某些命令导致 很多依赖被改变, samba 无法连接.
解决:
1. 目前服务器主要功能是编译, 访问. 尝试了下编译, 编译 OK, 相关环境没坏. SSH 访问也正常. 如果都出问题 可能要重装, 这里尽量去解决.
2. 尝试 ldd 和 重装 获得错误信息.
发现两个依赖变化了, 导致安装不了.
- //ldd:
- ~# ldd /usr/sbin/smbd
- ~# ldd /usr/sbin/nmbd
- // 安装:
- ~# apt-get install -f samba
3. 卸载这两个依赖, 然后重新安装.
- // 卸载依赖, eg:
- ~# apt-get autoremove samba-common
- // 重新安装,
- ~# apt-get install samba --reinstall
4. 重启服务后, 仍然无法访问
- // 重启服务
- ~# service smbd restart
- ~# service nmbd restart
5. 接下来只能查看 log, 具体分析了.
log 在 /var/log/samba/, 先清空下这个目录的 log, 然后再执行相关 查看.
log.smbd -> smbd 服务启动时 可以看的 log
log.nmbd -> nmbd 服务启动时 可以看的 log
log.192.168.149.100 -> 远程连接反问的 log, ip 对应那台客户端的 ip.
这些 log 清空后再执行看, 都很短, 很容易看到问题点.
下面简单列几个这次碰到的, 从 log 里看到的问题:
Failed to initialize the registry: WERR_CAN_NOT_COMPLETE
--> 删除 registry.tdb 即可
- rm -rf /var/lib/samba/registry.tdb
- Ignoring unknown parameter "valid user"
--> 配置文件 / etc/samba/smb.conf 文件中配置共享时的问题, valid user 这个参数 改成 valid users 即可.
正常启动后, 一般服务端是 OK 的
init_smb_request: invalid wct number 255
--> 应该是客户端的问题, 具体原因不太清楚. 重启连接的电脑就可以 (之前能正常访问).
如果不行, 看下是否是 win10, win10 需要勾选 SMB 1.0(在开头提到的那篇又讲). 与服务端版本可能也有关, 得具体看.
Got user=[xxxx] domain=[xxxxx] workstation=[xxxxx] len1=24 len2=224
--> 访问客户端输入的用户 域名等信息, 看是否正确.
来源: http://www.bubuko.com/infodetail-3367514.html