![如何在 CLI 中添加密码选项?](https://linux22.com/image/834327/%E5%A6%82%E4%BD%95%E5%9C%A8%20CLI%20%E4%B8%AD%E6%B7%BB%E5%8A%A0%E5%AF%86%E7%A0%81%E9%80%89%E9%A1%B9%EF%BC%9F.png)
我在 Google 上搜索了很多次,但还是没找到如何添加密码选项,这样我就不用手动输入密码了。我创建了以下别名:
alias int='sudo service network-manager restart'
但我不想每次都输入密码,是否有一些命令可以将我的密码传递给别名?
答案1
将密码回显到命令中是可行的,但只能在绝对没有安全问题的极端情况下使用。
但是,我认为更好的解决方案是在 /etc/sudoers 中制定一条新规则,以允许某些命令(sudo service network-manager restart
在本例中)无需密码即可执行。请参阅以下答案这个问题了解如何去做。
答案2
这是我使用的:
alias nm='echo "abcdefg" | sudo -S service network-manager restart'
其中“abcdefg”代表我的实际密码。我是这台电脑的唯一用户,没有其他人可以访问它。所以我不太担心安全问题。
从sudo
手册页中:
-S(stdin)选项使 sudo 从标准输入而不是终端设备读取密码。密码后面必须跟一个换行符。