itsssxuria
(usa Ubuntu)
Enviado em 24/06/2016 - 15:22h
Oi pessoal! Essa é a minha primeira vez perguntando aqui no VOL. Fiz um script configurando o servidor e o cliente NFS para um trabalho da faculdade. Até aí, tudo ok. Eu havia feito-o com echo, apenas inicialmente, visto que um dos pré-requisitos do trabalho é a utilização do dialog. Funcionou supimpa com o echo (segue abaixo), mas na hora de colocar o dialog, percebi que o radiolist não está reconhecendo as minhas opções e não sei o motivo, visto que sempre utilizei o radiolist desta maneira.
Ps. Já apliquei a permissão de execução no script.
Script NFS com echo:
#!/bin/bash
teste
echo -e "Deseja configurar o que? \n ( 1 ) Diretorio existente;\n ( 2 ) Novo diretorio;"
echo -n "Resposta: "
read PATHOPT
case "$PATHOPT" in
1) echo -e "Qual o caminho completo do diretorio que deseja copartilhar? "
echo -n "Resposta: "
read SVRDIR ;;
2)
echo -e "Qual diretorio deseja criar para compartilhar? (Ele sera criado dentro em /NFS_Shared) "
echo -n "Resposta: "
read SVRDIR1
cd /NFS_Shared
mkdir $SVRDIR1
SVRDIR=/NFS_Shared/$SVRDIR1
echo $SVRDIR;;
*) echo "Opcao invalida" ;;
esac
echo -e "Qual o IP do seu cliente? "
echo -n "Resposta: "
read IP
echo -e "Qual permissoes voce deseja que o seu cliente tenha neste diretorio? \n ( 1 ) Somente leitura; \n ( 2 ) Leitura e escrita;"
echo -n "Resposta: "
read PERM
case "$PERM" in
1) echo -e "\n/$SVRDIR $IP (ro,no_root_squash,sync)" > /etc/exports ;;
2) echo -e "\n/$SVRDIR $IP (rw,no_root_squash,sync)" > /etc/exports ;;
*) echo "Opcao invalida...";
esac
echo -e "\n rpcbind: ALL \n nfs: ALL" > /etc/hosts.deny
echo -e "\n rpcbind: $IP$MASK \n nfs: $IP$MASK" > /etc/hosts.allow
service nfs-kernel-server restart
service rpcbind restart
echo "O serviço NFS foi reiniciado."
exportfs
echo "O compartilhamento foi inicilizado..."
echo -e "Deseja realizar as configuracoes em seu cliente? (S/N)"
echo -n "Resposta: "
read OPT
echo -e "Deseja compartilhar a pasta na /home de qual usuario?"
echo -n "Resposta: "
read USR
SVRIP="$(ifconfig $interface | grep "end.:" | cut -f2 -d':' | sed 's/Bcast/ /g' | sed 's/ //g' | sed -n '2p')"
case "$OPT" in
S) ssh root@$IP "cd /home/$USR ; mkdir NFS_Files ; mount -t nfs $SVRIP:$SVRDIR /home/$USR/NFS_Files/; exit "
echo "Pronto! O diretorio foi montado no caminho /root/Client_NFS do cliente informado." ;;
N) echo "Ok.";;
*) "Opcao invalida." ;;
esac
Script com dialog:
#!/bin/bash
PATHOPT=$(dialog --radiolist "Deseja configurar o que?" 15 40 5 \
"Diretorio existente;" "" ON \
"Novo diretorio;" "" OFF
"Sair." "" OFF --stdout)
case $PATHOPT in
"Diretorio existente;") dialog --title "[ * ] COMPARTILHAMENTO NFS" --inputbox "Qual o caminho completo do diretorio que deseja copartilhar?" 10 40 2> /tmp/inputbox.tmp.$$
SVRDIR=`cat /tmp/inputbox.tmp.$$`
rm -f /tmp/imputbox.tmp.$$ ;;
"Novo diretorio;") dialog --title "[ * ] COMPARTILHAMENTO NFS" --inputbox "Qual diretorio deseja criar para compartilhar? (Ele sera criado dentro em /NFS_Shared) " 10 40 2> /tmp/inputbox.tmp.$$
SVRDIR1=`cat /tmp/inputbox.tmp.$$`
rm -f /tmp/imputbox.tmp.$$
cd /NFS_Shared
mkdir $SVRDIR1
SVRDIR=/NFS_Shared/$SVRDIR1
echo $SVRDIR;;
"Sair.") clear ; exit ;;
esac
dialog --title "[ * ] COMPARTILHAMENTO NFS" --inputbox "Qual o IP do seu cliente?" 10 40 2 > /tmp/inputbox.tmp.$$
IP=`cat /tmp/inputbox.tmp.$$`
rm -f /tmp/imputbox.tmp.$$
PERM=$(dialog --radiolist "Qual permissoes voce deseja que o seu cliente tenha neste diretorio?" 15 40 3 \
"Somente leitura;" "" ON \
"Leitura e escrita;" "" OFF
"Sair." "" OFF --stdout)
case "$PERM" in
"Somente leitura;") echo -e "\n/$SVRDIR $IP (ro,no_root_squash,sync)" > /etc/exports ;;
"Leitura e escrita;") echo -e "\n/$SVRDIR $IP (rw,no_root_squash,sync)" > /etc/exports ;;
"Sair.") clear ; exit ;;
esac
echo -e "\n rpcbind: ALL \n nfs: ALL" > /etc/hosts.deny
echo -e "\n rpcbind: $IP$MASK \n nfs: $IP$MASK" > /etc/hosts.allow
service nfs-kernel-server restart
service rpcbind restart
dialog --title "[ * ] COMPARTILHAMENTO NFS" --msgbox "O servico NFS foi reiniciado." 15 40
sleep 2
exportfs
dialog --title "[ * ] COMPARTILHAMENTO NFS" --msgbox "O compartilhamento foi inicilizado..." 15 40
sleep 2
OPT=$(dialog --radiolist "Deseja realizar as configuracoes em seu cliente?" 15 40 5 \
"Sim" "" ON \
"Nao" "" OFF --stdout)
SVRIP="$(ifconfig $interface | grep "end.:" | cut -f2 -d':' | sed 's/Bcast/ /g' | sed 's/ //g' | sed -n '2p')"
case "$OPT" in
"Sim") dialog --title "[ * ] COMPARTILHAMENTO NFS" --inputbox "Deseja compartilhar a pasta na /home de qual usuario?" 10 40 2> /tmp/inputbox.tmp.$$
USR=`cat /tmp/inputbox.tmp.$$`
rm -f /tmp/imputbox.tmp.$$
ssh root@$IP "cd /home/$USR ; mkdir NFS_Files ; mount -t nfs $SVRIP:$SVRDIR /home/$USR/NFS_Files/; exit "
dialog --title "[ * ] COMPARTILHAMENTO NFS" --msgbox "Pronto! O diretorio foi montado no caminho /root/Client_NFS do cliente informado." 15 40
sleep 2 ;;
"Nao") echo -e "\n/$SVRDIR $IP (rw,no_root_squash,sync)" > /etc/exports ;;
esac
Distribuição: Debian 8.5
root@debian:~/Scripts# ./nfs_dialog.sh
Diretorio existente;./nfs_dialog.sh: line 7: Sair.: comando não encontrado
Preciso entregar este trabalho amanhã e já cansei de bater cabeça sozinha com este problema. Me ajudem, por favor! ):