Como executar um script no momento da inicialização para um usuário normal?

5

Eu quero executar um script bash no momento da inicialização no CentOS 6. Eu adicionei o script no diretório /etc/init.d/ , mas todos esses scripts são executados pelo root. Eu quero executar script para qualquer usuário.

    
por Waqas Rana 22.04.2013 / 13:10

3 respostas

8

Você pode adicioná-lo ao seu crontab assim:

@reboot /bin/bash /dir/of/your/script

Se você não está familiarizado com crontab , aqui você tem algumas dicas:

  • crontab -l lista os trabalhos atuais agendados.
  • crontab -e permite que você edite.
por 22.04.2013 / 13:15
0

Você pode usar su para eliminar privilégios de root usando o -c para executar um comando, como:

# su user -c whoami
  user

Se você quiser que um script específico solte privilégios, basta chamar o próprio script com su <user> -c <script> -magic-parameter , em que -magic-parameter diz ao script para fazer o que você quiser como usuário não raiz.

    
por 22.04.2013 / 13:35
0

Primeiro: não é uma questão de programação - o melhor lugar é o link .

Segundo: Você provavelmente está usando um Linux - mas é melhor especificar;).

Terceiro: A execução de scripts no momento da inicialização é muito perigosa para a segurança do sistema. Portanto, aqui está uma boa razão para scripts somente de raiz. Então, se você tiver acesso root - use (você é um administrador de sistemas, certo?), Se você não tiver acesso - provavelmente é melhor deixar como está .. :)

Se a sua pergunta for sobre como alterar o UID efetivo de algum script rc.d, você pode usar algo como:

#!/bin/bash    

export MYHOME=/path/to/somewhere

case $1 in
    start)   /bin/su <username> $MYHOME/bin/startup.sh ;;
    stop)    /bin/su <username> $MYHOME/bin/shutdown.sh ;;
    restart)
             /bin/su <username> $MYHOME/bin/shutdown.sh
             /bin/su <username> $MYHOME/bin/startup.sh
             ;;
esac
exit 0

então, você pode colocar seu script em qualquer lugar e a partir do script init irá rodá-lo com su .

    
por 22.04.2013 / 13:18

Tags