19

I added some scripts from root inside etc/profile.d to execute at startup time. But when will these scripts be executed if I login into system as a non root user? I want to start LDAP-server at start-up time, independently from which user has first logged in.

I use CentOS 6.3.

MyTitle
  • 501
  • 1
  • 8
  • 18

3 Answers3

26

Files in /etc/profile.d/ are run when a user logs in (unless you've modified /etc/profile to not do this) and are generally used to set environment variables.

user1461607
  • 103
  • 2
iconoclast
  • 1,688
  • 2
  • 18
  • 30
0

In order to add a script to be started during system startup, you need to use chkconfig after putting the script in /etc/init.d folder.

This has nothing to do with user login.

Khaled
  • 35,688
  • 8
  • 69
  • 98
  • Sorry, I have mistake in my question: I putted some scripts inside `etc/profile.d`, not `/etc/init.d`.. My purpose is to run some .sh files when system is starting. Thanks. – MyTitle Oct 03 '12 at 07:58
  • @MyTitle: So, move your script to init.d folder and use `chkconfig` to add it to system startup. – Khaled Oct 03 '12 at 08:23
  • Can you please say, who execute this scripts? This scripts executed automatically by root? I want to execute some .sh file where root doesn't have permissions. – MyTitle Oct 03 '12 at 08:55
  • @MyTitle: It will be executed as part of system startup process. If you want to execute it under different user, you may need to customize your script. – Khaled Oct 03 '12 at 09:08
0

If you want to run it at system startup you can add it to /etc/rc.d/rc.local.

Or make an init script with a suitable runlevel.

Dave Jarvis
  • 235
  • 2
  • 10
Laurentiu Roescu
  • 2,246
  • 16
  • 17