在 shell 中安全地传递参数

时间:2021-03-05 13:14:49

标签: python linux shell security command-line

从命令行将敏感信息作为参数传递给脚本有多安全?例如,我有一个 Python 脚本,我要将用户名和密码作为参数传递。

python collect.py --username <username> --password <password>

上面的例子安全吗?在处理敏感的命令行参数时,最好的设计模式是什么?

1 个答案:

答案 0 :(得分:3)

您可以使用 getpass() 模块中的 getpass

from getpass import getpass

password = getpass("Password: ")

这将提示输入,但是当您输入内容时,它不会显示在命令行中。这很好,因为您的输入在命令历史记录中不可见。要回答您的问题,您的解决方案的缺点是整个命令将在命令历史记录中可见。

请注意,使用 getpass(),您的程序将在您启动后提示输入密码,而不是在开始时将其作为 --password 旁边的参数传递。

相关问题