security - 在 bash 文件中隐藏/加密密码以防止意外看到它

标签 security bash unix passwords

抱歉,如果之前有人问过这个问题,我确实检查过但找不到任何东西......

Unix 中是否有函数可以在批处理文件中加密解密密码,以便我可以将其通过管道传输到 bash 文件中的其他一些命令?

我意识到这样做并不能提供真正的安全性,更多的是防止有人在我肩上查看脚本时意外看到密码 :)

我在 Red Hat 5.3 上运行。

我有一个脚本可以做类似的事情:

serverControl.sh -u admin -p myPassword -c shutdown

我想做这样的事情:

password = decrypt("fgsfkageaivgea", "aDecryptionKey")
serverControl.sh -u admin -p $password -c shutdown

这不会以任何方式保护密码,但确实可以防止有人不小心看到它。

最佳答案

OpenSSL 提供了一个 passwd命令可以加密但不能解密,因为它只做散列。您还可以下载类似 aesutil 的内容因此您可以使用功能强大且众所周知的对称加密例程。

例如:

#!/bin/sh    
# using aesutil
SALT=$(mkrand 15) # mkrand generates a 15-character random passwd
MYENCPASS="i/b9pkcpQAPy7BzH2JlqHVoJc2mNTBM=" # echo "passwd" | aes -e -b -B -p $SALT 
MYPASS=$(echo "$MYENCPASS" | aes -d -b -p $SALT)

# and usage
serverControl.sh -u admin -p $MYPASS -c shutdown

关于security - 在 bash 文件中隐藏/加密密码以防止意外看到它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3318853/

相关文章:

PHP 无法打开流 : Too many open files

macOS (10.13 High Sierra) 不再在 com.apple.screensaver 中存储屏幕保护程序设置

php - 是否向普通用户显示 mysqli_errno 是否安全?

.net - 我什么时候需要 .NET 中的 SecureString?

linux - 如何使用文本文件中的给定参数对文本文件中的每一行重复一个命令(Bash?)

linux - 多个 ssh 命令中的 cat 不起作用

mysql - 如何以正确的格式将MySQL查询结果输出为CSV?

c++ - 数据报 Unix 套接字上的 ECONNREFUSED

mysql - 为唯一用户提供多密码的数据库设计

linux - 从 BALASB_1234_05_16_2012 :14:31:37. tar 文件名读取 05_16_2012