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

如何在 /etc/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

…工作正常。

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

//server/share /mount/point cifs ro,auto,credentials=/etc/.smbcredentials 0 0

.smbcredentials包含以下内容:

user=username  
password=password  
domain=domain  

…这不起作用。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)

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

那么,我做错了什么?任何帮助都将不胜感激。

答案1

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

username=[username]
password=[password]

它的权限是-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

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

答案2

遇到同样的问题,使用以下命令检查错误:

tail -f /var/log/kern.log

---> 内核:[7917.935203] CIFS VFS:未指定用户名

$ sudo apt install cifs-utils

帮我修好了..

答案3

我在使用凭证文件在 Ubuntu 18.04 上安装 QNAP NAS Samba 共享时遇到了麻烦。经过几个月的反复尝试,以下方法终于奏效了。

  1. 找到您的 Ubuntu 用户名,并在您的 QNAP nas 上创建一个同名用户,使用您选择的密码,并对您的共享文件夹拥有适当的 R/W 权限。所以我的 Ubuntu 用户名是,username所以我在 QNAP 上创建了一个名为的用户username,并使用 LastPass 生成了一个随机密码。
  2. 创建一个文件来保存 Samba 登录凭据:nano ~/.samba_credentials
  3. 添加以下行:
username=your_shared_linx_and_qnap_username
password=the_qnap_user_password_you_chose
domain=WORKGROUP

下面是我的样子:

username=username
password=last_pass_password
domain=WORKGROUP

域选项可能是可选的,但 Windows 10 默认工作组是可选的,WORKGROUP因此只要您不更改它,它就应该可以工作。如果您确实更改了它,您可能知道什么是工作组以及您将其更改为什么值。

  1. 创建您的共享将本地安装的文件夹。mkdir /media/username/storage
  2. 然后编辑/etc/fstab文件以通过 CIFS 自动挂载 QNAP Samba 共享:
  3. //nas1da09d.local/files /media/username/storage cifs credentials=/home/username/.samba_credentials,uid=username,noperm,rw 0 0

答案4

使用相同凭据挂载多个 smb 驱动器时,您必须为每个挂载创建一个凭据文件。换句话说,您不能将一个凭据文件用于多个挂载。

为每个安装创建一个新文件

sudo nano /etc/.smbcredentials1
sudo nano /etc/.smbcredentials2
sudo nano /etc/.smbcredentials3

将您的凭据添加到每个文件

username=username
password=password
domain=WORKGROUP

然后对文件进行 chmod 以进行保护

sudo chmod 0600 .smbcredentials1 .smbcredentials2 .smbcredentials3 

然后将每个文件用作每个挂载的凭证 sudo nano /etc/fstab

//server/share /mount/point cifs ro,auto,credentials=/etc/.smbcredentials1 0 0
//server/share /mount/point cifs ro,auto,credentials=/etc/.smbcredentials2 0 0
//server/share /mount/point cifs ro,auto,credentials=/etc/.smbcredentials3 0 0

然后挂载

sudo mount -a -v

这可能会解决你的问题。

相关内容