Ubuntu shell脚本 - root授权

时间:2012-01-18 13:56:37

标签: linux ubuntu sudo

每次启动计算机时,我都会使用shell脚本执行一系列表扬。

脚本中的一个命令是

sudo insmod blablabla

此命令需要以root身份运行,因此双击.sh文件并选择运行不是一个选项,我必须选择在终端中运行,然后在终端中输入密码。

有没有办法解决这个问题?

另外,如果是的话,如果我将脚本添加到启动过程中它是否可以工作,那么我不必每次都运行它?

3 个答案:

答案 0 :(得分:3)

考虑创建一个在启动时运行的启动脚本。 man update-rc.d获取指示。任何系统启动脚本都以root身份运行。

另一种方法是使用“cron”使用“@reboot”字段启动脚本。您可以man 5 crontab获取有关如何格式化cron选项卡的说明。 Root有一个cron选项卡,可以运行... root。 :)

请注意,此处提供的大多数解决方案至少需要有关如何在命令行上进行操作的基本知识。对于管理unix和linux系统的大多数人来说,你“双击.sh文件”的想法是陌生的(或至少不常见)。

答案 1 :(得分:2)

利用sudoers以普通用户身份运行命令。请参阅sudoers

上的Ubuntu社区wiki

答案 2 :(得分:2)

您可能需要考虑使用insmod而不是使用modprobe来向您的内核添加模块。除了其他优点之外,modprobe还有一个配置文件/etc/modprobe.conf,您可以在其中指定要在引导时加载的模块。查看modprobe.conf man page了解更多详情。