我想在启动时运行一个需要 sudo 的 bash 命令(~/.config/autostart/myCommand.desktop),但我不想每次都提示我,而是想在命令中包含密码,例如:
sudo --some-flag [PASSWORD] [command]
我已经看到建议更改的答案sudoers
等,但我想知道是否可能有类似我所说的内容。
答案1
使用 sudo 运行启动脚本没有任何意义。 sudo
用于以普通用户身份运行需要 root 权限的命令,而无需以 root 身份登录。它不适用于启动脚本,而这正是 systemd 或 init.d 脚本的用途。
一个相对简单的解决方案是将脚本添加到 root 用户的 crontab 中,如下所示:
sudo crontab -e
添加这一行:
@reboot /path/to/your/script.sh
这将在启动时以根用户身份运行,绕过任何交互式身份验证的需要。