如何在Ubuntu主机上查询Samba成功共享的路径
嗨,碰到Samba共享突然失效的问题确实闹心,我来给你说几个实用的命令,帮你搞清楚哪些共享是真正生效的——毕竟有时候配置文件里写了,但实际因为各种问题没被服务加载:
第一步:先排查配置文件的有效性
首先用testparm命令校验你的smb.conf配置,它会解析整个配置文件,告诉你哪些共享能被正常识别,还会标出语法错误、路径不存在、权限设置不合理这类导致共享失效的问题。
推荐加-s参数用简洁模式输出,只看关键的生效配置:testparm -s如果某个共享在
smb.conf里写了,但testparm没把它列出来,或者直接提示了错误,那这个共享肯定不会被服务加载。第二步:查看服务器实际对外提供的共享
用smbclient连接本地Samba服务器,直接列出当前服务真正对外暴露的共享列表——这个结果就是客户端能看到的内容:smbclient -L localhost -U %这里
-U %是匿名登录,如果你的共享需要身份验证,把%换成你的Ubuntu用户名就行(比如-U mike)。返回的列表里,只有成功被smbd服务加载的共享才会出现,配置有问题的共享根本不会在这里显示。额外:检查临时创建的共享
如果有人通过图形界面或者net usershare命令创建了临时共享(不是写在smb.conf里的),可以用这个命令查看:net usershare list进阶:查看共享的实时连接状态
要是你想确认这些共享有没有被客户端连接,或者当前的使用情况,用smbstatus命令能看到详细的连接会话、打开的文件等信息:smbstatus
这套操作下来,你就能明确区分「配置里写了但没生效」和「真正在运行的共享」,也就能判断问题出在服务器端还是客户端啦~
备注:内容来源于stack exchange,提问作者spraff

