gpt4 book ai didi

linux - 密码实际上隐藏在 Linux/Unix shell 中的 'read -s' 中吗?

转载 作者:太空宇宙 更新时间:2023-11-04 09:16:47 25 4
gpt4 key购买 nike

#!/bin/bash

read -p " Enter Username :" USERNAME
read -p " Enter Password :" -s PASSWORD

ps -ef 不显示任何细节,它隐藏了密码。但是,从信息安全的角度来看,这真的是一种安全的方法吗?

提前致谢!

最佳答案

是的,只要使用 SSH 等安全传输方式或在本地传输 session ,它就应该是安全的。 read 是一个 shell 内置命令,这很有帮助。

正在运行的 bash session 中的变量值不会导出到 bash 进程本身的环境中。

需要注意的一件事:如果您export PASSWORD 环境变量,然后启动外部命令,变量的内容将被公开(并且可见,例如 ps e).

你可以这样测试:

read -s PASSWORD
export PASSWORD
sleep 999

搜索“ sleep ”进程,您将看到 PASSWORD 及其值。环境变量不是将数据传递给进程的保密方式。

如果您想处理存储在环境变量中的 secret 数据,请确保您坚持使用 shell 内置命令,例如 echo

关于linux - 密码实际上隐藏在 Linux/Unix shell 中的 'read -s' 中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46687564/

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