Question

I have been doing a lot of research but haven't found anything that really answers my question.

I wrote a bash script that automatically changes the nice values on certain processes. This script needs to run on startup (I currently have it in startup application) and needs suid permissions to actually change the nice values. I've tried a few things with chmod and changing ownership of the file over to root but nothing seems to be working. I keep getting a "permission denied" when the script runs.

It runs fine when i manually start it in terminal using: sudo ./myfile but does not work when started on bootup

I am using Ubuntu

Was it helpful?

Solution 2

At first copy your script in /etc/init.d then(for redhat based servers like centos)

chmod +x script.sh
chkconfig --add script.sh
chkconfig --level 0123456 script.sh on

For Debian based like ubuntu: help help2 help3

try:

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

Runlevels are logical groups of tasks. Traditionally you have five run levels.

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

OTHER TIPS

if you are in debian/ubuntu, do the following:

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

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

update-rc.d yourscript defaults

here i think you should get a warning that LSB TAGS are missing, LSB TAGS are instructions for boot order ... but if your script is a basic script, ignore the warning and reboot your computer.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top