Normalmente, o sistema executa scripts de inicialização com acesso root completo por padrão, para que você não precise fazer nada.
Observe que o local do script depende de qual init
package é usado em seu sistema.
Para SysVinit clássico, os scripts de inicialização geralmente estão localizados em /etc/init.d
e os links simbólicos indicando o seu lugar na ordem de inicialização / encerramento são criados nos diretórios /etc/rc<number>.d/
, em que <number>
indica o nível de execução do script para correr. (Um runlevel é uma espécie de "estado geral do sistema": em sistemas estilo RedHat, o nível de execução padrão é 5 se você tiver o login da GUI ativado e 3 caso contrário. Em sistemas no estilo Debian, ele sempre tende a ser 3).
A atualização dos links simbólicos em /etc/rc<number>.d/
pode ser entediante, por isso geralmente há uma ferramenta que pode fazer isso para você. A ferramenta mais comum é chkconfig
: ele requer que você coloque alguns comentários especialmente formatados no início do seu script (veja man chkconfig
para detalhes apropriados à sua distribuição). Então você pode simplesmente colocar seu script em /etc/init.d
e executar sudo chkconfig --add <your script name>
.
Se o seu sistema usa um substituto mais recente para o SysVinit, como upstart
ou systemd
, eles podem incluir um sistema de compatibilidade SysVinit para que as instruções acima ainda possam ser aplicadas; mas você deve considerar aprender os novos caminhos também, já que o SysVinit é considerado envelhecido e menos que o ideal para sistemas multi-core modernos.