【发布时间】:2016-12-05 07:17:07
【问题描述】:
我有一个 shell 脚本,它在命令中使用明文密码:
--username = 'USER'
--password ='abc100'
我不希望密码在 shell 脚本中以明文形式显示。有没有办法让这个 shell 脚本密码受到保护,或者不以明文形式传递密码并引用另一个受密码保护的文件?
【问题讨论】:
-
听起来像是一个需要密码作为参数的愚蠢命令。你指的是什么命令?
-
是否允许提示用户输入密码?如果是这样,您可以使用
read -s将其存储在命令和变量中 -
@andlrc - 我有一个云调用命令,需要我传递我要登录的云实例的密码。
-
为什么不通过参数传递用户名和密码呢?一直到根?
-
cifs.mount等采用的一种方案是在用户主目录中的已知位置获取文件,该位置对该用户设置为只读。 (例如,[ -r "$HOME/.config/credentials" ] && . "$HOME/.config/credentials"在credentials文件上设置了chmod 0600的权限)您还可以将文件名作为参数传递给脚本。 (当然,该脚本必须以普通用户身份运行才能使该方案工作)