如何实现点击Ubuntu NAS图标时自动登录Samba共享并显示全部共享文件夹?
如何实现点击Ubuntu NAS图标时自动登录Samba共享并显示全部共享文件夹?
嗨,刚上手Ubuntu遇到这种Samba共享的问题太正常了,我来给你捋清楚怎么解决~
首先得说清楚为啥现在点击NAS图标只能看到print$:你在NAS的smb.conf里设置了access based share enum = yes,这个选项的作用就是只有通过身份验证的用户,才能看到自己有权限访问的共享文件夹——没登录的时候系统不知道你是谁,自然只敢显示默认的print$,这是安全机制在起作用。
要实现像Windows那样点图标就自动登录并显示所有共享,咱们分两步来:
第一步:让Ubuntu记住你的Samba凭证(替代Windows凭证管理器)
Ubuntu也有自己的凭证存储工具,把你的Samba账号密码存进去,下次访问NAS时系统会自动调用:
- 打开系统设置,找到「密码和密钥」(英文是
Passwords & Keys) - 左侧切换到「密码」分类,点击右上角的加号,选择「网络密码」
- 填写信息:
- 名称:随便起个好记的,比如「NAS Samba 登录凭证」
- 用户名:你在NAS上的Samba用户名
- 密码:对应的Samba密码
- 服务器:填NAS的IP地址或者主机名(比如
MYServerIP或者你看到的「Ubuntu NAS」) - 域:如果你的Samba没配置域的话留空就行
- 保存之后,下次访问NAS时系统会自动用这个凭证完成验证,不用手动输入密码了。
第二步:调整Samba配置,让未登录时也能看到共享文件夹(可选)
如果你希望点击NAS图标时,先看到所有共享文件夹列表,再自动登录(和Windows体验完全一致),可以修改NAS上的smb.conf:
- 在NAS上打开终端,编辑配置文件:
sudo nano /etc/samba/smb.conf - 找到
[global]段里的access based share enum = yes,把它改成access based share enum = no - 按
Ctrl+O保存,回车确认,再按Ctrl+X退出编辑器 - 重启Samba服务让配置生效:
sudo systemctl restart smbd nmbd
这样设置后,你点击「Ubuntu NAS」图标时,就能直接看到所有共享文件夹,点击任意一个都会自动用你保存的凭证登录,完全不用手动操作~
额外方案:把共享文件夹永久挂载到本地(适合高频访问)
如果你经常用NAS的共享文件夹,还可以把它挂载成本地文件夹,开机自动加载,就像用本地磁盘一样方便:
- 先创建一个挂载点文件夹:
mkdir ~/NAS_Share - 先创建一个安全的凭证文件(避免密码明文存到系统配置里):
- 编辑凭证文件:
nano ~/.smbcredentials - 写入以下内容:
username=你的Samba用户名 password=你的Samba密码 - 设置权限确保只有你能访问:
chmod 600 ~/.smbcredentials
- 编辑凭证文件:
- 编辑系统挂载配置文件:
sudo nano /etc/fstab - 在文件末尾添加一行(把括号里的内容换成你自己的信息):
(可以用//你的NASIP/共享文件夹名 /home/你的Ubuntu用户名/NAS_Share cifs credentials=/home/你的Ubuntu用户名/.smbcredentials,iocharset=utf8,uid=你的本地用户UID,gid=你的本地用户GID 0 0id 你的Ubuntu用户名命令查看自己的UID和GID) - 保存后执行
sudo mount -a,如果没有报错,就说明挂载成功了,下次开机时会自动加载这个共享文件夹。
备注:内容来源于stack exchange,提问作者fatman




