Solicitar senha para executar [RESOLVIDO]

1. Solicitar senha para executar [RESOLVIDO]

Rogerio J. Gentil
rogerio_gentil

(usa Ubuntu)

Enviado em 12/06/2008 - 08:20h

Olá.

Procurei pela web mas não encontrei nada. Tem um script aqui no servidor da empresa em que trabalho, criado por outra pessoa, que pede senha para ser executado. Alguém sabe me dizer como fazer isso?

OBS: Vi aqui que tem um arquivo texto e outro script que se relacionam com este outro script.

Vlw.


  


2. MELHOR RESPOSTA

Pedro Henrique Rissato
pedrorissato

(usa Fedora)

Enviado em 13/06/2008 - 12:14h

#!/bin/bash
mount /dev/sb2 /mnt/backup_disco/home

rsync -avz root@192.168.5.1:/home /mnt/backup_disco/home
umount /mnt/backup_disco/home

rysnc -avz --password-file=pass root@192.168.5.1:/etc /mnt/disco_backup/etc/
"senha"

Bom começando o admin colocou o script "conecta" pra subir o modulo da placa de rede e conectar na rede... eu creio que fez por um motivo ou outro

1 - pq ele nao sabia colocar o modulo no /etc/modules (dependendo distro) e subir com inet_conf (dependendo distro), o que eh improvavel pq o cara eh o admin, e deveria saber disso,... mas vai saber.

2 - Pq ele como bom admin queria que essa maquina se conectasse na rede somente quando ele necessitasse pra justamente fazer o backup e depois desconectasse.

Bom,... o segundo faz o backup de arquivos de uma outra maquina. Então, o que ele faz,... ele monta um hd "secundario" slave, no ponto de montagem /mnt/backup_disco/...

A primeira linha eu considero errada,... não tenho ctz,.. mas o mount não monta unidades mesmo ext2/3, raiser sem que haja especificação,... ou seja: mount -t raiserfs ou mount -t ext2

Outro erro na primeira linha eh que o caminho pro hd esta errado eh "/dev/sdb2" não "/dev/sb2".

O diretorio do ponto de montagem deve existir: "backup_disco", óbvio neh xD

Na primeira linha do rsync:

-avz ele cópia todos os diretorios, recursivamente, permissões, nomes, comprimindo e em modo verbose, etc... mais facil: cópia identica.

root@192.168.5.1:/home eh o lugar que vai copiar.. ou seja a maquina que voce esta vai copiar o /home da 192.168.5.1 pro hd secundário da sua montado em /mnt/backup_disco/home

A segunda linha rsync vai fazer a mesma coisa soh que com o /etc da maquina 192.168.5.1, com um porém a linha "--password-file=arquivo"... ele vai buscar a senha do root da maquina 192.168.5.1... ou seja,... toda vez que voce user o rsync pra conectar na maquina 192.168.5.1 voce vai logar como "root" daquela... e tem que digitar a senha daquele root, pra "automatizar" o processo e pra até poder colocar no contrab o admin colocou a opção "--password-file=arquivo"...

Quando o rsync tentar se conectar na maquina 192.168.5.1 e ela pedir senha do root, e vai pedir, o rsync vai no "arquivo" ler a senha e autorizar o acesso.

Não preciso nem comentar a vunerabilidade disso neh?!... O "arquivo" que contiver a senha, deve ter somente permissão de leitura do root da sua maquina... mais ninguem. Coloque um nome bem [*****] nele tipo "voip.conf" "readme" e coloca no diretorio mais longo que encontrar xDDD.

Pronto eh isso. De forma simples, colocaria desse jeito:

#!/bin/bash
mount -t "sistema de arquivos" /dev/sdb2 /mnt/backup_disco/

rsync -avz --password-file=/etc/arquivosenha root@192.168.5.1:/home /mnt/backup_disco/home
rysnc -avz --password-file=/etc/arquivosenha root@192.168.5.1:/etc /mnt/disco_backup/etc

umount /dev/sdb2

No "arquivosenha" coloque a senha root da maquina 192.168.5.1 em uma unica linha e case sensitive.

Coloque este script num diretório que só o root tenha permissão, inclusive que os outros usuarios nao tenham permissão nem de leitura do diretório.

Pra ficar melhor adiciona uma regra no contrab pra execução automática desse script... pra que ele se auto execute em determinado horário:

# contrab -e
30 17 * * * /diretorio/scriptdebackup echo "Executando backup..."

# contrab -l

Todo dia ele executa o script de backup no caminho "/diretorio", e quando for executar exibe a mensagem na tela... da pra ele exibir as mensagens em todos tty em "dialog" box,... até em ANSI :P... assim voce fica sabendo que vai ser feito o backup.

Ufa... acho que eh isso.. se deu pra ajudar otimo senao,... poste as duvidas que outro mais inteligente que minha humilde pessoa o ajudará ahaiuhaiuhuaiha xDDD Abraços manin.




3. Re: Solicitar senha para executar [RESOLVIDO]

Denis Doria
thuck

(usa Debian)

Enviado em 12/06/2008 - 09:36h

Bem, eu só conheço duas maneiras de pedir senha num shell script, uma usa dialog:

dialog --passwordbox "Digite a senha: " 0 0

ou

dialog --insecure --passwordbox "Digite a senha: " 0 0 'senha'

E a outra usando stty e read:

echo "Digite a senha: "
stty -echo
read SENHA
stty echo

echo $SENHA


4. Re: Solicitar senha para executar [RESOLVIDO]

Rogerio J. Gentil
rogerio_gentil

(usa Ubuntu)

Enviado em 12/06/2008 - 10:10h

Mas o dialog é em modo gráfico, certo? Eu gostaria de fazer em modo texto.

O stty funciona em modo texto?

Vlw.


5. Re: Solicitar senha para executar [RESOLVIDO]

Denis Doria
thuck

(usa Debian)

Enviado em 12/06/2008 - 10:52h

O dialog não é modo gráfico, ele usa o terminal e cria telas, mas isso não quer dizer modo gráfico.

Sim o stty é terminal puro.


6. Re: Solicitar senha para executar [RESOLVIDO]

Rogerio J. Gentil
rogerio_gentil

(usa Ubuntu)

Enviado em 12/06/2008 - 17:53h

Eu testei aqui as opções que o tchuk me passou, mas não é bem isso (ou eu não entendi! rs).

Veja como está aqui: Tem um script de backup via rede que para rodar precisa de senha.

- Primeiro conecto a rede com ./conecta
modprobe atl1
ifconfig eht1 192.168.5.112 up
route add default gw 192.168.5.1

- Depois executo o script ./backup_servidor
#!/bin/bash
mount /dev/sb2 /mnt/backup_disco/home
rsync -avz root@192.168.5.1:/home /mnt/backup_disco/home
umount /mnt/backup_disco/home

Veja que não tem nenhuma linha de comando sobre senha. Será que está senha é a senha do servidor que eu quero fazer backup?

Descobri que tem mais um script relacionado (./autorysnc):
rysnc -avz --password-file=pass root@192.168.5.1:/etc /mnt/disco_backup/etc/
"senha"

E um arquivo texto (pass) contendo somente a senha.

E agora José?


7. Re: Solicitar senha para executar [RESOLVIDO]

Denis Doria
thuck

(usa Debian)

Enviado em 12/06/2008 - 19:05h

Cara, não é o script q está pedindo a senha, mas sim o rsync.

Ele está tentando acessar um servidor remoto, logo precisa da senha para acessá-lo.

Pelo menos é isso que estou entendendo peloq vc postou.


8. Re: Solicitar senha para executar [RESOLVIDO]

Rogerio J. Gentil
rogerio_gentil

(usa Ubuntu)

Enviado em 13/06/2008 - 09:12h

Certo... mas não consegui entender esta sintese do ./autorysnc:
rysnc -avz --password-file=pass root@192.168.5.1:/etc /mnt/disco_backup/etc/
"senha"

Por que tem esta sequência /etc /mnt/disco_backup/etc?

Eu não acho nada em /etc que se relacione. E não encontro o diretório /mnt/disco_backup/etc. Nem no servidor de backup nem no servidor de onde copiarei os dados.


9. Re: Solicitar senha para executar [RESOLVIDO]

Jorge
thudojorge

(usa Debian)

Enviado em 13/06/2008 - 09:38h

melhor passar todo script para analizarmos


10. Re: Solicitar senha para executar [RESOLVIDO]

Rogerio J. Gentil
rogerio_gentil

(usa Ubuntu)

Enviado em 13/06/2008 - 10:48h

O script está no meu post de cima.


11. Re: Solicitar senha para executar [RESOLVIDO]

Rogerio J. Gentil
rogerio_gentil

(usa Ubuntu)

Enviado em 13/06/2008 - 13:32h

É isso ae.... já ajudou e muito. Agora só falta eu raciocinar um pouco... hehe...

O problema é que aqui na empresa onde eu trabalho não tem um administrador de redes, apenas eu, um mero assistente de suporte. Quem montou esse esquema no Ubuntu, que só se conecta para fazer o backup e depois desliga (opção 2 comentada pelo nosso amigo serialpipoca), saiu bem antes de eu entrar.

Agora tenho que estudar um pouco mais para entender tudo o que rola nestes servidores.

Vlw.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts