gpt4 book ai didi

bash - 在 bash 中混淆存储的密码

转载 作者:行者123 更新时间:2023-11-29 08:56:09 25 4
gpt4 key购买 nike

我有一个 bash 脚本,我需要编写密码才能运行程序。其他人可以看到它。有没有办法以不太明显的方式写密码?即使他可以在 bash 中执行相同的命令并获取密码,他也无法阅读文本。

今天我这样做:

PASSWORD="1234567"
program --pass=$PASSWORD

我想做这个

PASSWORD="10101001001010010101010100101" #binary or other code
NEW_PASS=`decrypt $PASSWORD`
program --pass=$NEW_PASS

有什么想法吗?

最佳答案

你要求的不仅是邪恶的——它根本行不通

要查看您的密码,用户只需运行 bash -x your_script,输出将包括

+program '--pass=decrypted-password-here'

...无论混淆有多有效。

您尝试调用的需要密码的实际程序是什么?您能否将您的密码隐藏在 setuid 包装器后面,这样即使运行它的用户不能,包装器也可以读取密码文件?您能否(借用 DigitalRoss 的建议)设置一个用户帐户,该帐户具有已存储密码的副本(或者,更好的是,证书或 key 对),将其配置为只能运行您的脚本,而不能通过 SSH 运行其他任何东西,并提供应该能够以该用户身份运行 SSH 脚本权限的用户(或仅对该用户执行单个命令等)?

等等

简而言之:以真正的安全为目标,而不是混淆。


现在,如果您确实想要混淆——传统方法是 ROT-16:

obfuscated_password="qrpelcgrq-cnffjbeq-urer"
real_password="$(tr a-zA-Z n-za-mN-ZA-M <<<"$obfuscated_password")"

...但是如果它是您真正关心的密码,请不要混淆 - 使用上面给出的方法之一来避免以用户可读的方式存储密码。

关于bash - 在 bash 中混淆存储的密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9828202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com