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

Tim*_*Tim 3 bash sudo configuration profile sudoedit

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

如果真的想这样做,如何在重新启动 Ubuntu 时运行命令?

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

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

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

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

谢谢。

gle*_*man 5

如果你把命令放在 ~/.profile 中,它会在你每次启动登录 shell 时运行。某些终端模拟器允许您为每个终端窗口使用登录 shell。你想让你的命令经常运行吗?

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

添加如下一行:

tim  ALL=(ALL) NOPASSWD: /path/to/my/command
Run Code Online (Sandbox Code Playgroud)

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

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