【问题标题】:How to hide password in bash script?如何在 bash 脚本中隐藏密码?
【发布时间】:2013-04-16 22:40:12
【问题描述】:

我正在编写包含smbget -u user -p password smb://host/share/file 命令的脚本。有没有办法在这个脚本中隐藏密码参数?脚本将在由多个用户共享的计算机上使用。我想让他们有机会在不显示我的密码的情况下下载文件。

【问题讨论】:

  • 没有。充其量你可以混淆它,但由于它只是一个脚本,有人总是可以做echo $password。无法通过 bash 脚本安全地向某人提供您的密码,而他们无法通过破坏来获取 PW。如果每个人都可以访问此文件,为什么不直接将该共享设置为没有密码的只读共享?

标签: linux bash passwords hide smb


【解决方案1】:

Marc 提供的评论是正确的。您可以通过使用 mount.cifs(如果需要,可能通过 AutoFS)并在挂载期间利用 credentials 选项来解决此问题 - 该选项允许您将密码存储在非用户可读的位置。

mount.cifs //some/server /mnt/somewhere -o credentials=/root/credentials_file ...

您的脚本可以挂载此位置并为用户检索文件(或仅授予用户对该位置的访问权限)。您需要在您的 /etc/fstab 文件中有一个适当的条目或使用 AutoFS 进行配置以使其与您的脚本一起使用。

另一种方法是使用可以编译的东西编写脚本 - 由于许多其他原因它不安全,但可能适合您的账单。

【讨论】:

    猜你喜欢
    • 2010-10-10
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多