fstab 和 cifs 安装,是否可以在 fstab 之外存储身份验证信息?

fstab 和 cifs 安装,是否可以在 fstab 之外存储身份验证信息?

我目前正在使用 cifs 在 /etc/fstab 中挂载一些网络共享(需要身份验证)。它工作得很好,但我想将身份验证详细信息(用户名/密码)移出 fstab,并能够将其 chmod 为 600(因为如果我要更改其权限,fstab 可能会出现问题)。我想知道是否可以这样做(多用户系统,不希望所有用户都能查看这些权限)。

从:

//server/foo/bar /mnt/bar cifs username=user,password=pass,r 0 0

到:

//server/foo/bar /mnt/bar cifs <link to permissions>,r 0 0

(或类似的东西)。谢谢。

答案1

来自 mount.cifs 手册页:

凭证=文件名
    指定包含用户名和/或密码的文件。该文件的格式为:

                         用户名=值
                         密码=值
   这比将密码以明文形式保存在共享文件(例如 /etc/fstab)中更好。请务必妥善保护所有凭证文件。

答案2

使用凭证选项,例如:

http://www.justlinux.com/nhf/Filesystems/Mounting_smbfs_Shares_Permanently.html

网站示例:

cd
echo username=mywindowsusername > .smbpasswd
echo password=mywindowspassword >> .smbpasswd
chmod 600 .smbpasswd

在命令中替换您的 Windows 用户名和密码。除 root 之外,其他任何人都无法读取此文件的内容。

创建后,您可以修改 /etc/fstab 文件中的行,使其如下所示:

//servername/sharename /mountdirectory smbfs credentials=/home/myhomedirectory/.smbpasswd 0 0

/etc/fstab 中的示例:

//server/share/   /mnt/localmountpoint   cifs   credentials=/root/.creda

janneb 的帖子和手册页链接显示了凭证文件中需要包含的内容。

答案3

所以我正在收集这两个答案

  1. 创建文件,例如 /root/.cifs

    username=value
    password=value
    domain=value (optional)
    
  2. 设置权限600(rw-权限)以保护您的凭据

    # chmod 600 /root/.cifs
    
  3. 传递credentials=/root/.cifs给你的命令而username=不是password=

答案4

可以尝试cifscloak

python3 -m pip install cifscloak

... 请参阅 READMEhttps://github.com/sudoofus/cifscloak

相关内容