gpt4 book ai didi

linux - 隐藏明文密码不显示在 bash 脚本中?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:50:56 25 4
gpt4 key购买 nike

我有以下 bash 脚本来重新启动 Debian 中的网络管理器。该脚本按应有的方式工作,但并不像我希望的那样。当脚本要求输入 sudo 密码时,我可以使用 echo 传递它,但它会在脚本执行时在终端中显示密码,这使得它在美学上不如我想。无论如何让脚本输入密码,但在脚本调用 sudo 密码时不显示密码文本?

在提交此问题之前,我尝试了尽可能多的关于 Stack Overflow 的建议,以及 Stack Exchange

脚本如下:

#!/bin/bash 
clear
echo "Restarting service Network Manager"
echo""
sleep 1
echo -e "\033[0;31m......................................\033[0m"
echo -e "\033[0;31m......................................\033[0m"
sleep 1
echo""
sudo service network-manager restart
sleep 2
echo <Password>
sleep 2
echo "Service Network Manager Restarted"
sleep 1
echo ""
echo "Relinquishing control of terminal to user..."
sleep 7
clear

最佳答案

删除 echo <Password>线?我很确定它除了显示密码外什么都不做,如 sudo显然(通过 /etc/sudoers 中的适当条目)无需您提供密码即可工作。 (您使用 echo 写入终端的内容不会传递给任何其他进程。)

一般来说,可以使用sudo -S制作sudo期待 stdin 上的密码。但一般来说,如果您必须在脚本中硬编码密码,那么您在某些方面就做错了。

关于linux - 隐藏明文密码不显示在 bash 脚本中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45071805/

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