Saudações, lista!!!!
Eu estou criando um script para facilitar o trabalho de definir
permissões complexas de acesso a arquivos e pastas.
O script funciona perfeitamente bem com arquivos cujos nomes não
possuem espaços, tipo teste.txt, guia_de_clientes.swx ou financeiro.
Este último um diretório.
Quando os nomes são compostos mais de um nome, tipo material
tecnico.abw, não funciona...
Se alguém tiver uma idéia eu fico agradecido!!
Muito obrigado!!
Segue abaixo o script (que na verdade está apenas em um estágio inicial...):
$cat setperm.sh
#!/bin/bash
# Script Shell para setar permissoes de acesso v0.1 (13/04/05)
# v0.2 (13/04)
# v0.3 (14/04)
clear
cd $1
diratual=`pwd`
dir=`ls -l | grep ^d | awk '{print $8" "$9" "$10}'`
arq=`ls -l | grep ^- | awk '{print $8" "$9" "$10}'`
echo "Bem vindo ao Permission Maker v0.4 (14/04/05)"
echo
echo "Voce esta no diretorioo `echo $diratual`"
echo
echo "Os arquivos e diretorios aqui contidos sao:"
sleep 5
echo "Diretorios:"
echo
for i in `echo $dir`
do
echo $i
done
sleep 2
clear
echo "Arquivos:"
echo
for ii in `echo $arq`
do
echo $ii
done
sleep 2
clear
echo "Deseja verificar as permissoes atuais (s para sim e qualquer
caractere para nao)??"
read opt
echo
if [ $opt = "s" ]
then
ls -l
else
echo "OK..."
fi
echo
echo
echo "Deseja que todos os arquivos e diretorios do correntes contenham
as mesmas permissoes?? (s/n)"
read opt1
case "$opt1"
in
"s") clear
echo "Qual o dono?"
read own
echo
echo "Qual o grupo do dono?"
read owngrp
echo
echo "Qual tipo de permissoes?"
read permopt
echo
clear
echo "Dono:"
echo $own
echo
echo "Gupo do dono:"
echo $owngrp
echo
echo "Permissoes:"
echo $permopt
echo
echo "As informacoes acima estao corretas???(s para
sim e qualquer caractere para nao)"
read certo
if [ $certo = "s" ]
then
chown `echo $own`.`echo $owngrp` *
chmod `echo $permopt` *
ls -l
else
echo "Ok. Vamos recomecar..."
exit 1
fi
;;
"n") clear
echo "Os diretorios e arquivos contidos no diretorio
corrente serão listados"
echo "e as suas permissoes efetuadas uma a uma."
echo "Dependendo do numero de itens a serem
trabalhados, isso pode demorar."
echo "Deseja continuar agora?? (s/n)"
read continuar
if [ $continuar = "s" ]
then
clear
echo "OK! Vamos la!!!"
for item in `ls`
do
echo "Qual o dono?"
read own
echo
echo "Qual o grupo do dono?"
read owngrp
echo
echo "Qual tipo de permissoes?"
read permopt
echo
clear
echo "Dono:"
echo $own
echo
echo "Gupo do dono:"
echo $owngrp
echo
echo "Permissoes:"
echo $permopt
echo
echo "As informacoes acima estao
corretas???(s para sim e qualquer caractere para nao)"
read certo
if [ $certo = "s" ]
then
chown `echo $own`.`echo
$owngrp` `echo $item`
chmod `echo $permopt` `echo $item`
ls -l `echo $item`
else
echo "Bem, entao vamos recomecar..."
exit 1
fi
done
else
echo "OK! Obrigado por utilizar o JPM"
exit 1
fi
;;
*) echo "Uso incorreto..."
echo "s para sim e n para nao."
exit 1
;;
esac
exit