O script de inicialização precisa de permissões de root

0

Eu tenho um script que preciso executar na inicialização. Eu tenho isso no init.d. Eu preciso executar um dos comandos dentro do script com permissões de root. Como faço para fazer isso?

Editar 1:

Para referência, este é um servidor ClearCase / ClearQuest RHEL 6.7. Parece haver um problema relacionado ao CC iniciado antes do gerenciador de licença. Então, eu quero executar o seguinte (todos exigindo permissões de root):

 /path/to/atria_start stop  # stop CC
 /path/to/start_lmgrd start # start license manager (flexlm)
 /path/to/atria_start start # restart CC

Estes não acontecem. Eu os tenho em um script simples "cc_startup.sh" em /etc/init.d

    
por basil 27.01.2016 / 20:47

3 respostas

0

Se estiver no init.d, deve estar rodando como root. Se você quiser que ele seja executado na inicialização, coloque-o, por exemplo, em /etc/rc.d/rc2.d ou /etc/rc2.d , dependendo da sua distribuição / versão do sistema operacional. Você desejará criar um link no seguinte formato, por exemplo:

S##Name -> ../init.d/scripthere.sh em que ## é equivalente a quando você deseja que ele seja executado na inicialização. Você quer chegar antes do ssh? Depois do apache? Antes do seu banco de dados? etc etc Sabendo que vai lhe dizer quais números para colocar dentro

Para conseguir isso, você vai querer executar ln -s ../init.d/scripthere.sh S##name do diretório rc adequado.

    
por 27.01.2016 / 23:41
0

Se você está criando seu próprio script de init em RH e distribuições derivadas, então você deve escrevê-lo para usar o utilitário de configuração de inicialização chkconfig padrão (como é o que quase todos os administradores de RHL conhecem e usam).

O seguinte cobre o básico muito bem. Criando um novo script de inicialização do chkconfig

    
por 28.01.2016 / 16:37
0

Eu testei no Bash, mas não em outros shells. se quiser fazer isso funcionar apenas na sua máquina. Você pode usar o seguinte:

echo $MY_SUDO_PASSWORD | sudo -S <command>

Isso será executado sob sudo sem solicitar senha, se $ MY_SUDO_PASSWORD corresponder à sua senha sudo, é claro.

    
por 28.01.2016 / 17:30