Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I've got a script which needs to be run on system startup, as a specific user. As I understand, to start something automatically I can add it to /etc/rc.d/rc.local, but this will start up as root, correct?
it will by default, but you can do something like "su -l myotherusername -c command" and it should run. of course, if it's a program which does not fork nicely (i.e. a daemon) then it'll hang the boot at that stage while it's running.
You could just as well create a script which you run from ("call from") rc.local; the script would be like
su preferred_usernamecommands, other stuff that is to be run as the other user
I guess that should work. su is normally used to become the super user (root), but it can be used to become another user too, but then the password for that user is needed or you will need to be root. I haven't tested if it works creating that kind of script and then make it executable and make rc.local run it (at boot), but logically it should. Try out; write a script like the above, where in the beginning you use su to become another user and then the command(s) you want to run, then make the script file executable using chmod +x scriptfilename and type the full path to the script in /etc/rc.local.