Script nome e ip do pc

1. Script nome e ip do pc

Fabricio
hellsius

(usa Ubuntu)

Enviado em 24/07/2011 - 21:47h

Onde trabalho estou ajudando a criar uma padronização de ip's e hostname's e gostaria de um script que fise-se isso.
Sou iniciante e não sei muito de script cheguei a tentar algo assim:

#!/bin/bash

su - # Como ele poderia entrar direto como superusuario sem pedir senha?
echo Informe o nome do pc:
read $pcnome #variavel pcnome
pcnome > etc/hostname
echo O nome do pc agora eh /etc/hostname



  


2. Re: Script nome e ip do pc

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 24/07/2011 - 22:22h

Poderia fazer assim então:

#!/bin/bash

echo Informe o nome do pc:
read pcnome #variavel pcnome
[ -z "$pcnome" ] && echo "você não informou um nome para o pc" && exit 1
sudo echo "$pcnome" > /etc/hostname
echo "O nome do pc agora é $pcnome"


Veja se atende.

ABraços



3. Re: Script nome e ip do pc

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 24/07/2011 - 22:25h

Você pode excluir o uso do sudo dentro do código, ai para executar o script basta está logado como root, ou usar:

sudo ./nome_do_script


Abraços


4. Re: Script nome e ip do pc

Fabricio
hellsius

(usa Ubuntu)

Enviado em 24/07/2011 - 22:54h

Muito bom.

Eu preciso também que o script faça o seguinte, se por exemplo o computador estiver conectado a uma rede cabeada, ele me peça para alterar o ip, mascara e gatway do eth0. Agora caso o pc esteja conectado a uma rede wireless ele me peça para alterar o ip, mascara e gatway do wlan0.


Logicamente meu intuito é aprender, mas um script desse iria bem a calhar agora, ainda mais que poderei utilizado em 55 escolas. :)




5. Re: Script nome e ip do pc

Fabricio
hellsius

(usa Ubuntu)

Enviado em 25/07/2011 - 00:14h

Acrescentei algumas linhas ao codigo para que ele fixa-se alguns ip's.
#!/bin/bash

echo Informe o nome do pc:
read pcnome #variavel pcnome
[ -z "$pcnome" ] && echo "você não informou um nome para o pc" && exit 1
sudo echo "$pcnome" > /etc/hostname
echo "O nome do pc agora é $pcnome"

#Ip do computador
ifconfig eth1 inet down
ifconfig eht1 inet up 192.168.0.111 \
netmask 255.255.0.0 netmask 255.0.0.0 gw 192.168.0.1 dev eth1

echo ifconfig
------

Consegui fazer isso para mudar o ip, mas gostaria que o script pedi-se essas informações para que eu as altere. ex de saida:

Informe o ip do eth1:
Informe a mascara de rede:
Informe o gateway

Sua configuração de rede ficou:
ip: tal
mascara: tal
gatway: tal

Espero ter dado a entender, :)




6. Re: Script nome e ip do pc

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 25/07/2011 - 09:37h

#!/bin/bash

echo Informe o nome do pc:
read pcnome #variavel pcnome
[ -z "$pcnome" ] && echo "você não informou um nome para o pc" && exit 1
sudo echo "$pcnome" > /etc/hostname
echo "O nome do pc agora é $pcnome"

sudo ifconfig eth1 inet down

echo "Informe o novo IP do PC"
read NUM_IP
echo "Informe o IP da Mascara"
read NUM_MASK
echo "Informe o IP do Gateway"
read NUM_GW

#valida IPs
echo "$NUM_IP" | egrep -q '^(((1[0-9]|[1-9]?)[0-9]|2([0-4][0-9]|5[0-5]))\.){3}((1[0-9]|[1-9]?)[0-9]|2([0-4][0-9]|5[0-5]))$' && echo "$NUM_MASK" | egrep -q '^(((1[0-9]|[1-9]?)[0-9]|2([0-4][0-9]|5[0-5]))\.){3}((1[0-9]|[1-9]?)[0-9]|2([0-4][0-9]|5[0-5]))$' && echo "$NUM_GW" | egrep -q '^(((1[0-9]|[1-9]?)[0-9]|2([0-4][0-9]|5[0-5]))\.){3}((1[0-9]|[1-9]?)[0-9]|2([0-4][0-9]|5[0-5]))$'

if [ $? -eq 0 ]; then
sudo ifconfig eht1 inet up $NUM_IP netmask $NUM_MASK gw $NUM_GW dev eth1
fi

sudo ifconfig
------------

Tente adaptar para os detalhes que você precisa.

Abraços


7. Re: Script nome e ip do pc

Fabricio
hellsius

(usa Ubuntu)

Enviado em 25/07/2011 - 21:06h

Não funcionou, ele apenas consegue trocar o nome do pc.

E a eth1 e eth2 não aparecem mais com com comando ifconfig, só não te mostrei a saida por que o script foi executado na maquina virtual.


8. Re: Script nome e ip do pc

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 25/07/2011 - 21:59h

Obs.: Não estou testando, estou editando diretamente aqui no post, deixei a adaptação para você mesmo...

veja, se dar certo agora:
-----------------------------------------
#!/bin/bash

echo Informe o nome do pc:
read pcnome #variavel pcnome
[ -z "$pcnome" ] && echo "você não informou um nome para o pc" && exit 1
sudo echo "$pcnome" > /etc/hostname
echo "O nome do pc agora é $pcnome"

sudo ifconfig eth1 inet down

echo "Informe o novo IP do PC"
read NUM_IP
echo "Informe o IP da Mascara"
read NUM_MASK
echo "Informe o IP do Gateway"
read NUM_GW

#valida IPs
echo "$NUM_IP" | egrep -q '^(((1[0-9]|[1-9]?)[0-9]|2([0-4][0-9]|5[0-5]))\.){3}((1[0-9]|[1-9]?)[0-9]|2([0-4][0-9]|5[0-5]))$' && echo "$NUM_MASK" | egrep -q '^(((1[0-9]|[1-9]?)[0-9]|2([0-4][0-9]|5[0-5]))\.){3}((1[0-9]|[1-9]?)[0-9]|2([0-4][0-9]|5[0-5]))$' && echo "$NUM_GW" | egrep -q '^(((1[0-9]|[1-9]?)[0-9]|2([0-4][0-9]|5[0-5]))\.){3}((1[0-9]|[1-9]?)[0-9]|2([0-4][0-9]|5[0-5]))$'

if [ $? -eq 0 ]; then
sudo ifconfig eth1 $NUM_IP netmask $NUM_MASK up
sudo route add default gw $NUM_GW
fi

sudo ifconfig
--------------------------------------------------------------

Abraços


9. Re: Script nome e ip do pc

Fabricio
hellsius

(usa Ubuntu)

Enviado em 26/07/2011 - 21:07h

ainda não, veja a saída do comando:

root@vm4linux:/script# ./flinux3.0.sh
Informe o nome do pc:
vm5linux
O nome do pc agora é vm5linux
Informe o novo IP do PC
192.168.0.70
Informe o IP da Mascara
255.255.255.0
Informe o IP do Gateway
192.168.0.1
SIOCADDRT: Processo inexistente
eth1 Link encap:Ethernet Endereço de HW 08:00:27:3d:36:95
inet end.: 10.42.43.1 Bcast:10.42.43.255 Masc:255.255.255.0
endereço inet6: fe80::a00:27ff:fe3d:3695/64 Escopo:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1
pacotes RX:0 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:112 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:15540 (15.5 KB)

eth2 Link encap:Ethernet Endereço de HW 08:00:27:0d:fc:2b
inet end.: 10.0.2.15 Bcast:10.0.2.255 Masc:255.255.255.0
endereço inet6: fe80::a00:27ff:fe0d:fc2b/64 Escopo:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1
pacotes RX:48426 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:18523 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1000
RX bytes:62527163 (62.5 MB) TX bytes:1060538 (1.0 MB)
IRQ:10 Endereço de E/S:0xd020

lo Link encap:Loopback Local
inet end.: 127.0.0.1 Masc:255.0.0.0
endereço inet6: ::1/128 Escopo:Máquina
UP LOOPBACK RUNNING MTU:16436 Métrica:1
pacotes RX:12 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:12 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:0
RX bytes:720 (720.0 B) TX bytes:720 (720.0 B)

root@vm4linux:/script# #!/bin/bash
root@vm4linux:/script#
root@vm4linux:/script# echo Informe o nome do pc:
Informe o nome do pc:
root@vm4linux:/script# read pcnome #variavel pcnome




10. Re: Script nome e ip do pc

Fabricio
hellsius

(usa Ubuntu)

Enviado em 28/07/2011 - 21:52h

É um script que só aparenta ser simples de se lidar.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts