You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何实现点击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的共享文件夹,还可以把它挂载成本地文件夹,开机自动加载,就像用本地磁盘一样方便:

  1. 先创建一个挂载点文件夹:mkdir ~/NAS_Share
  2. 先创建一个安全的凭证文件(避免密码明文存到系统配置里):
    • 编辑凭证文件:nano ~/.smbcredentials
    • 写入以下内容:
      username=你的Samba用户名
      password=你的Samba密码
      
    • 设置权限确保只有你能访问:chmod 600 ~/.smbcredentials
  3. 编辑系统挂载配置文件:sudo nano /etc/fstab
  4. 在文件末尾添加一行(把括号里的内容换成你自己的信息):
    //你的NASIP/共享文件夹名 /home/你的Ubuntu用户名/NAS_Share cifs credentials=/home/你的Ubuntu用户名/.smbcredentials,iocharset=utf8,uid=你的本地用户UID,gid=你的本地用户GID 0 0
    
    (可以用id 你的Ubuntu用户名命令查看自己的UID和GID)
  5. 保存后执行sudo mount -a,如果没有报错,就说明挂载成功了,下次开机时会自动加载这个共享文件夹。

备注:内容来源于stack exchange,提问作者fatman

火山引擎 最新活动