我目前正在使用 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
所以我正在收集这两个答案
创建文件,例如 /root/.cifs
username=value password=value domain=value (optional)
设置权限
600
(rw-权限)以保护您的凭据# chmod 600 /root/.cifs
传递
credentials=/root/.cifs
给你的命令而username=
不是password=