如何在 `~/.profile` 中使用 sudo 运行命令?

如何在 `~/.profile` 中使用 sudo 运行命令?

运行需要sudoin的命令是一种不好的做法吗~/.profile

如果真的想这样做,我怎样才能让命令在重新启动 Ubuntu 时运行?

  • 通过编辑?使使用我的用户帐户运行的命令sudo不需要密码/etc/sudoers

  • 在命令中使用sudoin ~/.profile, by echo <passwd> | sudo -S <mycommand>?提供我的密码

我还没有验证第一种方法是否有效,因为我仍在学习如何做到这一点。

第二种方式似乎引起了严重的安全问题,这可能是我最不想走的方式。

谢谢。

答案1

如果您将该命令放入 ~/.profile 中,则每次启动登录 shell 时都会运行该命令。某些终端模拟器允许您为每个终端窗口使用登录 shell。您希望您的命令经常运行吗?

如果您希望允许在不输入密码的情况下使用 sudo 执行该命令,请使用该visudo命令 with sudo visudo(或者,要使用您最喜欢的编辑器,请使用sudo -E visudo)。
不要直接编辑 /etc/sudoers

添加这样一行:

tim  ALL=(ALL) NOPASSWD: /path/to/my/command

sudoers 文件中的顺序很重要,因此将其添加到此行下方:root ALL=(ALL:ALL) ALL

但是,如果您只希望它在系统启动时运行,请将其添加到中/etc/rc.local,您不必担心 sudo。

相关内容