我正在FreeBSD上编写系统服务,我需要获取用户凭据来验证身份,诸如此类:
./compression_bin -i <input_file> --type=<type> --password=<secret key>
在这里,密钥用于在压缩给定文件之前对用户进行身份验证。当前,秘密密钥显示在历史记录中,这是不好的并且可以被利用。有没有一种方法可以在不显示密码字段的情况下调用以上内容:
./compression_bin -i <input_file> --type=<type> --password=*********
答案 0 :(得分:4)
历史记录将始终记录发出的命令文本。可以想象,您可以返回并修改历史记录文件,但不仅如此,它还提供了一个窗口,您可以在其中读取密码。
此外,这甚至不是最简单的利用。如果在命令行上输入了密码,那么在命令运行时可以通过其他方式读取它,例如从ps
命令的输出中读取该密码,所有用户都可以访问。
因此,请勿将密码用作命令行参数。从文件,标准输入,套接字或其他一些东西中读取它。