我想运行以下示例bash脚本,该脚本需要命令的sudo密码
#!/bin/bash
kinit #needs sudo password
vi hello.txt
Run Code Online (Sandbox Code Playgroud)
在运行上面的脚本时,它要求输入密码.
我如何在命令本身中传递用户名和密码,还是有更好的方法可以跳过在脚本中传递密码?
因此,如果您可以访问完整系统,则可以更改sudoers文件以允许某些sudo命令以密码运行.
在命令行上运行visudo
找到您的用户并将行更改为如下所示:
pi ALL =(ALL)NOPASSWD:/ path/to/kinit,/ path/to/another/command
应该这样做.再试一次!
希望有所帮助
你不能 - 至少,不是你的想法.
你有几个选择:
sudo -v.凭据将暂时缓存,让您有时间运行脚本.其中一个或多个肯定会让你到达你想去的地方 - 而不是你想要去的地方.
您不应该传递用户名和密码。这是不安全的,如果更改密码,它将不起作用。
你可以使用这个:
gksudo kinit # This is going to open a dialog asking for the password.
#sudo kinit # or this if you want to type your password in the terminal
vi hello.txt
Run Code Online (Sandbox Code Playgroud)
或者您可以在 root 下运行脚本。但请注意,vi 也将以 root 身份运行,这意味着它可能会创建属于 root 的文件,这可能不是您想要的。
| 归档时间: |
|
| 查看次数: |
19063 次 |
| 最近记录: |