如何在 /etc/fstab 中使用 CIFS 的凭证文件?

thr*_*ody 5 fstab cifs

我在 Server 18.04 上的 fstab 有问题。我正在尝试挂载多个 Windows Server 网络共享。如果我将用户名和密码放入 fstab 的每一行并执行sudo mount -a,它就可以正常工作。但是,当我尝试使用“凭据”文件时,一切都变成了梨形。

所以这:

//server/share /mount/point cifs ro,auto,user=user,password=password 0 0
Run Code Online (Sandbox Code Playgroud)

…工作正常。

但是,如果我尝试这样做:

//server/share /mount/point cifs ro,auto,credentials=/etc/.smbcredentials 0 0
Run Code Online (Sandbox Code Playgroud)

....smbcredentials包含以下内容:

user=username  
password=password  
domain=domain  
Run Code Online (Sandbox Code Playgroud)

……这不起作用。sudo mount -a -v输出以下内容:

/ : ignored  
/boot/efi : already mounted  
none : ignored  
domain=mydomain  
,prefixpath=Projects/XYZ,pass=********.168.1.10,unc=\server\share,user=username  
mount error(13): Permission denied  
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Run Code Online (Sandbox Code Playgroud)

168.1.10是我要挂载的共享所在的服务器的部分 IP 地址。密码似乎被连接到服务器的 IP 上。

那么,我做错了什么?任何帮助将非常感激。

Org*_*ble 11

我的工作凭证文件位于我的 ~ 文件夹中,如下所示

username=[username]
password=[password]
Run Code Online (Sandbox Code Playgroud)

它的权限是-rw-------并且由我的用户拥有。

对应的fstab行是

//[URL]/[sharename] /media/[mountpoint] cifs vers=3.0,credentials=/home/[username]/.sharelogin,iocharset=utf8,file_mode=0777,dir_mode=0777,uid=[username],gid=[username],nofail 0 0
Run Code Online (Sandbox Code Playgroud)

我不使用“域”,但这并不意味着您不需要它。