2014-02-10 50 views
0

我一直在做很多研究,但还没有找到任何真正解决我的问题的东西。给一个bash脚本suid权限

我写了一个bash脚本,可以自动更改某些进程的nice值。这个脚本需要在启动时运行(我目前在启动应用程序中),并且需要suid权限才能真正更改nice值。我已经尝试了一些与chmod的东西,并将文件的所有权改为root,但似乎没有任何工作。脚本运行时,我不断收到“权限被拒绝”。

它运行正常,当我使用手动启动它的终端:sudo ./myfile 但在启动时启动时

我使用Ubuntu

回答

0

起初复制你的脚本/etc/init.d 则不起作用(红帽基于服务器的centos等)

chmod +x script.sh 
chkconfig --add script.sh 
chkconfig --levelscript.sh on 

对于Debian基于像Ubuntu: help help2 help3

尝试:

cp /path/to/your/script.sh /etc/init.d/ 
chmod +x /etc/init.d/yourscript.sh 
update-rc.d yourscript defaults 

运行级别是任务的逻辑组。传统上你有五个运行级别。

0 boot 
1 single user 
2 not used 
3 multiuser 
4 not used 
5 gui 
6 reboot 
+0

我刚刚编辑它到我原来的帖子,但我运行Ubuntu的。 – user244985

+0

我回答并完成了它 – MLSC

+0

似乎在工作!谢谢 – user244985

1

如果你是于Debian/Ubuntu,请执行下列操作:

cp /path/to/your/script.sh /etc/init.d/ 

chmod +x /etc/init.d/yourscript.sh 

update-rc.d yourscript defaults 

在这里,我想你应该得到那个LSB标签缺少一个警告,LSB标签引导顺序的说明... 但如果您的脚本是基本脚本,请忽略警告并重新启动计算机。