将 root 权限绑定到 sudo 命令中

将 root 权限绑定到 sudo 命令中

是否可以使用管理员密码执行 sudo 命令?

例子 :

sudo apt-get update -password is 'root' 

这是在 Ubuntu 启动时将命令放入需要 root 权限的应用程序中

答案1

如果您希望在启动时以 root 身份运行特定进程,那么我建议您将其包装在 systemd/init.d 脚本中。对于 systemd,类似下面的操作可能会有效:

[Unit]
Description=Some command

[Service]
User=root
Type=oneshot
ExecStart=/usr/bin/whateverprogram and associated arguments

[Install]
WantedBy=multi-user.target

尽管在上面的例子中我认为用户指令是多余的。

或者,如果不实施某些秘密管理工具(参见 hashicorps vault、ansible 具有类似功能等),您几乎只能选择两个选项:

创建一个 /etc/sudoers.d/somefile,其中包含要以提升的权限运行的所有程序的条目,而无需密码。即。

ALL ALL=/usr/bin/theprogramtorun NOPASSWD

或者如果你根本不关心系统的安全性并且你的用户是 sudoer,你可以尝试编写如下脚本:

echo "thisisaterribleidea" | sudo -S /usr/bin/command

通过命令行以明文形式传递密码

答案2

嗯,最佳做法是:

echo "your password" | sudo --stdin command 

这将首先执行命令,然后填充您在 echo 语句中输入的密码。

相关内容