如何使用用户名和密码保护纯文本凭证文件?


12

我正在尝试设置自动安装的网络驱动器。网络驱动器需要用户/密码。在“ mount.cifs”的手册页中,有两种提供用户名/密码的方法。

  1. [不推荐]将用户/密码放在/ etc / fstab中
  2. 创建一个单独的凭证文件并将用户/密码放入凭证文件

“ [选项2]优于在共享文件(例如/ etc / fstab)中使用纯文本格式的密码。请确保正确保护任何凭据文件。

  • 我的背景是:软件开发人员,许多Linux软件开发(安装开发库,安装Eclipse或Java之类的应用程序)。我不是IT或系统管理员的人。
  • 这是我自己的开发机器

考虑到我缺乏IT / sysadmin背景知识,建议的“适当保护任何凭据文件”的标准方法是什么?

(我也将不胜感激,如果有多种方法来保护凭据文件,请按照从最常见到最小的顺序列出并描述取舍方法。)

Answers:


11

您引用的手册页片段看起来是指标准文件所有权和权限所提供的基本安全级别。/etc/fstab系统上的任何用户都可以读取该配置文件。存放敏感信息的更安全场所是拥有权限的文件,仅允许所有者读取。我了解在您的情况下,用户将是root

假设您将文件放入/etc/并命名cifs-cred(以root身份创建和编辑)。那你就用

chmod 600 /etc/cifs-cred

这样可以确保只有所有者(应该是root)才能访问内容。否则,如果这种设置不允许您的系统设置正常运行,则可能意味着某些特殊的系统用户应可以访问该文件。在这种情况下,您可能需要尝试

chmod 660 /etc/cifs-cred

或类似的东西

chown root:wheel /etc/cifs-cred
chmod 660 /etc/cifs-cred

-取决于系统的* nix风格和系统守护程序的配置。


除此之外,如果系统可能受到威胁,则永远不要信任未加密的密码。仅依靠文件权限是很幼稚的-文件内容仅受较小的安全漏洞保护。


1
是否有任何unix.stackexchange.com问题或网站谈论获得相同的输出...但不要“仅依赖文件许可权”吗?
特雷弗·博伊德·史密斯

不幸的是,这部分取决于应用程序。一些程序和应用程序支持哈希密码,而其他程序和应用程序则不支持。我不知道CIFS / SMB的情况如何,但老实说,我怀疑在这种情况下是否有真正安全的选择。您可以查看IT安全性以获取更多信息。
rozcietrzewiacz 2011年

3

只需为安装用户将unix权限设置为rw即可:

cat > ~/cifs.credentials <<EOC
user=UserName
pass=PassWord
EOC
chmod 0600 ~/cifs.credentials

chmod命令后,所有其他用户无权访问此文件

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.