philips
(usa Outra)
Enviado em 21/03/2011 - 21:52h
Olá. A melhor forma de se iniciar automáticamente um arquivo é adicioná-lo ao '/etc/init.d'. É aqui que os arquivos que são iniciados com o sistema ficam, por padrão.
Mas há duas coisas que voce precisa saber: permissão, runlevel.
Vamos explicar na prática:
Permissão
Os arquivos para serem executados, precisam de permissão, certo? Então, antes de continuarmos vamos criar o nosso arquivo
[Começo]
#!/bin/sh
ifconfig eth1 down
ifconfig eth1 hw ether 00:19:21:09:D9:CB
ifconfig eth1 up
[Fim]
Copie o conteúdo entre o [Começo] e o [Fim] e salve ele, vamos por um nome de exemplo: mac.sh
Lembra das permissões? A primeira com a qual vamos lidar é a de escrita da pasta '/etc/init.d', use o comando 'ls -l /etc | grep init.d' para verificar as permissões da pasta.
Voce vai ver uma saída semelhante a essa:
drwxr-xr-x 2 root root 4096 Mar 18 14:06 init.d
A primeira coisa que agente deve olhar são as permissões, é o primeiro grupo de informação, onde:
d = diretório
r = permissão de leitura (Read)
w = permissão de escrita (Write)
x = permissão de execução (eXecute)
- = Não é permitido
Note que as letras se repetem, pois as três primeiras referem-se as permissões do DONO (veremos a seguir), as três seguintes das permissões do GRUPO (veremos a seguir também) e as três últimas as permissões dos demais usuários.
Outra informação importante é o DONO e o GRUPO do arquivo. Esse é o sistema de proteção do linux, um dos. O dono e o grupo são informações que correspondem ao nome de usuário de quem criou a pasta (arquivos e pasta do sistema e outras configurações especiais são do administrador, ou simplesmente root). Já o grupo corresponde ao grupo de usuários do sistema. Os demais usuários, que não são, no nosso caso, o usuário 'root' ou que não está no grupo 'root' são regidos por essa ultima regra. Tudo bem?
Como vimos, então, para gravar o arquivo nessa pasta é preciso ser root ou estar no grupo root, por isso, para criar esse arquivo podemos:
1 - No terminal digitar o comando 'su' e informar a senha do usuário 'root' que foi configurado na inicialização e depois usar um editor de textos como o nano, para criar o arquivo e salvar na pasta especificada: '/etc/init.d', por exemplo: 'su' > Informe a senha > 'nano /etc/init.d/mac.sh'
2 - Digitar, no terminal, o prefixo 'sudo' no comando para criar o arquivo, por exemplo: 'sudo nano /etc/init.d/mac.sh'
Lembrando que voce deve escolher um ou outro metodo.
Feito isso precisamos configurar a permissão do nosso script, pois queremos que ele seja executado, certo?
Pra isso vamos modificar as permissões dele. O comando é: 'chmod +x /etc/init.d/mac.sh', lembrando que as regras da permissão ainda continuam valendo e os métodos anteriores devem ser seguidos da mesma maneira.
Por fim, lembra que voce precisava saber duas coisas pra fazer isso? Pois é! A outra é o runlevel. Essa é o tipo de configuração de inicialização que o sistema está usando. Pra saber isso, basta digitar o comando 'runlevel'. Deve aparecer algo como 'N 2' ou 'N X', onde X é qualquer número. Para cada número que aparecer deve haver uma pasta, dentro do /etc/ correspondente, ela vai estar como rcX.d, ou, como vimos no exemplo rc2.d. Para concluirmos a tarefa, depois de criar o script, devemos adicioná-lo à execução, vamos apenas criar um link simbólico para o script que geramos e pronto. Vamos lá? Digite: 'ln -s /etc/init.d/mac.sh /etc/rc2.d/S99mac.sh'. Como não custa nada reforçar, aqueles dois métodos também valem aqui, ok?
Ah, mas agora tem uma coisa nova!? 'S99', o que é isso? Simples, apenas informa qual é a prioridade de execução do script, com isso podemos adiar o nosso script para que seja executado no final de tudo (pra "evitar a fadiga").
Feito isso basta reiniciar o computador e testar com o 'ifconfig eth1' pra ver se está tudo correto. Não se esqueça de postar o feedback aqui, ok?
Um abraço.