91

我想sudo在 Ubuntu 启动时(在任何人登录之前)运行一个命令:

sudo searchd

我该怎么做?

4

3 回答 3

195

您可以在/etc/rc.local启动结束时执行的脚本中添加命令。

写之前的命令exit 0。之后写的任何东西exit 0都不会被执行。

于 2012-03-13T11:47:32.843 回答
9

/etc/init/tty*.conf使用 shellscript 作为参数编辑 tty 配置:

(...)
exec /sbin/getty -n -l  theInputScript.sh -8 38400 tty1
(...)

这是假设我们正在编辑 tty1 并且读取输入的脚本是 theInputScript.sh。

警告这个脚本是以 root 身份运行的,所以当你向它输入东西时,你有 root 权限。还将路径附加到脚本的位置。

重要提示:脚本完成后,必须调用 /sbin/login 否则您将无法登录终端。

于 2012-03-13T11:57:22.763 回答
1

很好的答案。您还可以使用“ Crontab ”设置作业(即命令)以获得更大的灵活性(它提供了运行脚本、登录输出等的不同选项),尽管它需要更多时间来理解和正确设置:

使用“@reboot”,您可以在启动时运行一次命令。

总结
$ sudo crontab -e -u root

并使用您的命令在文件末尾添加一行,如下所示:

@reboot sudo searchd
于 2020-04-15T10:43:05.260 回答