我有两台机器运行 Ubuntu 22.04 LTS。第一台是家庭服务器,使用 SMB 进行网络附加存储。第二台是台式机,我想为其创建网络附加存储的永久挂载。
这种方法的问题在于,当以这种方式挂载存储时,某些应用程序无法写入存储。显然,我需要创建一个永久挂载点,以便始终挂载并进行身份验证。
我一直在关注这个关于如何做的教程 https://wiki.ubuntu.com/MountWindowsSharesPermanently
采取的措施
安装 cifs 并设置挂载点...
sudo apt install cifs-utils
sudo mkdir /media/storage
创建凭证文件~/.smbcredentials
...
gedit ~/.smbcredentials
内容...
username=MY_SERVER_USERNAME
password=MY_SERVER_PASSWORD
domain=SERVER
权限...
chmod 600 ~/.smbcredentials
笔记:我其实从来不知道领域指的是,我是否只使用“SERVER”,即机器的名称,这似乎可行,但我不知道这是否正确。
/etc/fstab
在...创建条目
//SERVER/storage /media/storage cifs credentials=/home/user/.smbcredentials,iocharset=utf8,sec=ntlm 0 0
此时,我已经设置了我的凭据,在 fstab 中有一个条目,并且 Ubuntu 识别该共享,但是当我尝试访问它时,出现了以下信息:
mount:cifs 权限被拒绝
没有什么有用的理由导致我无法访问。
我尝试过的方法
显然 SMB 不再支持sec=ntlm
?因此将条目更改/etc/fstab/
为几乎作品:
//SERVER/storage /media/storage cifs credentials=/home/user/.smbcredentials,iocharset=utf8,nofail 0 0
现在我可以访问共享,但我只有读取权限。
问题
- 如何设置网络共享的永久挂载,以便拥有完全的读/写访问权限?
- 如果
sec=ntlm
不再起作用,我该如何找出应sec=
该做什么? - 什么应该
domain
我的凭证文件中的条目是什么?
答案1
使用 v22.04(就此而言是 20.04),我在 fstab 中设置了一个 SMB 共享,以使用以下命令访问我的 Synology 视频 NAS 共享,该命令运行正常:
//192.168.1.117/video /media/NAS/video cifs username=[user],password=[password],rw,uid=1000,gid=500
当然,将方括号中的凭据替换为您自己的凭据,并将您的 NAS 的 IP 地址以及 uid 和 gid 替换为适合您的用户的值……(此外,如果它有效,请将凭据文件恢复到 fstab 中的行以保证安全性)。
也许可以先尝试不使用 smbcreditials 文件,如上例所示,然后将凭证文件添加到 fstab(如果可行)(以替换打开的用户名和密码凭证来微调您的条目。创建挂载点时已采取的其他步骤似乎是正确的。
我建议,如果保持 smb 凭证打开有效,则首先复制经过验证的行,然后简单地注释掉(#)打开以查看凭证的行,然后在解析 smb 凭证文件时删除该行以保留您所做的操作。
答案2
遇到了同样的问题。我刚刚删除了“sec=ntlm”和“domain=xxx”,现在可以访问我们的 NAS 了。也没有使用 uid 或 gid...