O arquivo
/etc/inittab tem algumas funcionalidades especiais que permitem ações diferenciadas em situações especiais. Estas funcionalidades são definidas através de palavras chaves utilizadas no terceiro campo. Alguns exemplos:
powerwait
Permite que o init encerre o sistema na falta de energia elétrica. Assume que o sistema está utilizando uma unidade de alimentação extra (no-break) e que o.software da unidade informará sobre a falta de energia.
ctrl alt del
Permite ao init reinicializar o sistema, quando as teclas ctrl-alt-del forem pressionadas simultaneamente. O administrador pode configurar para que seja executada outra função. Isto é aplicável, por exemplo, nos casos em que o sistema esteja em uma localização pública.
sysinit
Comando que deve ser executado quando o sistema for inicializado. Este comando pode limpar o conteúdo do /tmp, por exemplo.
Esta lista não é completa. Ver a página de manual do inittab(5) para todas as possibilidades e detalhes de como utilizá-las.
Iniciando em modo mono-usuário
Um nível de execução extremamente importante é o modo mono-usuário, no qual somente o administrador do sistema utiliza a máquina e o menor número possível de serviços (inclusive logins) estarão disponíveis.
Este modo de execução é necessário para algumas tarefas administrativas, tais como na execução do fsck na partição /usr, isto requer que a partição esteja desmontada, o que não pode ocorrer a menos que todos os serviços do sistema estejam finalizados.
Um sistema em execução pode mudar para mono-usuário através do comando
telinit. Durante a inicialização do sistema a palavra single ou emergency, na linha de comando do kernel, faz com que o init seja informado do nível de execução a iniciar (a linha de comando do kernel pode variar de sistema para sistema. Depende de como estamos inicializando o sistema).
A inicialização em modo mono-usuário pode ser necessária para executar-se o comando fsck manualmente, antes de qualquer montagem ou acesso a uma partição /usr com problemas (qualquer atividade em um sistema de arquivos inconsistente pode trazer mais problemas, devendo o fsck ser executado o mais rapidamente possível).
Os scripts de inicialização do init automaticamente entrarão em modo mono-usuário caso o comando fsck executado de forma automática apresente algum problema durante a inicialização do sistema. Esta é uma tentativa de prevenir que o sistema utilize um sistema de arquivos danificado e que o fsck não possa corrigir automaticamente. Tais casos são relativamente raros e usualmente envolvem um disco rígido com problemas ou uma versão experimental do kernel, porém é desejável que se esteja preparado.
Como medida de segurança, um sistema adequadamente configurado pedirá a senha do root antes de iniciar um interpretador em modo mono-usuário. De outra forma seria fácil simplesmente informar uma linha ao LILO e ganhar acesso ao sistema como superusuário. Caso o problema esteja no arquivo /etc/passwd, o melhor é ter-se à mão um disquete de inicialização.
Exemplos de utilização
Inicialização do servidor de aplicações Java Apache Tomcat. Em servidor de aplicação Java é extremamente desejável que o serviço responsável pelas aplicações seja inicializado junto com o sistema. Uma das formas de se fazer isso é através do init através da seguinte linha.
tom:23:respawn:su - -c "/usr/java/tomcat/bin/catalina.sh run -security" >/dev/null 2>&1
A linha acima diz ao init que sempre que ele rodar nos run-levels 2 e 3 deverá executar o tomcat utilizando a ação respawn que fará com que o processo seja reinicializado caso ele seja finalizado.