自从我开始在 Ubuntu 中编写 bash 脚本以来,我一直很好奇,我一直想知道是否有办法以 root 身份登录或运行 sudo 命令,而无需在终端中提示您手动输入密码。
是否可以将密码硬编码到一行中,例如“echo mypassword”并让 sudo 读取 echo 命令而不是为自己键入?
我环顾四周,如果您将 root 设置为没有密码,这是我不想要的。
我刚刚在玩 bash,看看我是否可以以 root 身份登录并仅通过 bash 脚本在 root 中运行命令:
#!/bin/bash
echo mypassword | sudo apt-get install frozen-bubble
Run Code Online (Sandbox Code Playgroud)
这只是出于我纯粹的好奇心,只是想知道如果可能的话如何实现它。谢谢。
如果这是相关的,我使用的是 Ubuntu 9.04。
您不应该对密码进行硬编码。如果你想在没有密码的情况下使用 sudo,你必须编辑 sudoers 文件。要编辑 sudoers,请键入命令
$ sudo visudo
Run Code Online (Sandbox Code Playgroud)
Visudo 使用 vi 作为编辑器。如果您不熟悉 vi,可以将环境变量 VISUAL 或 EDITOR 设置为您喜欢的编辑器,例如。VISUAL=nano. 以下环境变量仅在 visudo 配置为--with-env-editor
在 sudoers 文件中,您应该放置行
your_username ALL=(ALL) NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)
或者
%some_groupname ALL=(ALL) NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)
或者(小心,这会为所有用户启用 sudo 无需密码)
ALL ALL=(ALL) NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请使用 man sudoers
| 归档时间: |
|
| 查看次数: |
9275 次 |
| 最近记录: |