shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] duvidas com rm -r dentro do script


From: Tiago Peczenyj
Subject: Re: [shell-script] duvidas com rm -r dentro do script
Date: Thu, 9 Apr 2015 12:02:33 +0200


vamos la

se o seu script vai trabalhar com dados sensiveis e seria muito ruim vc deletar o diretorio errado, aqui vão algumas dicas:

1- usuarios, permissão e grupos são seus aliados, use-os com carinho.

Por exemplo vc pode apagar qq coisa dentro do /a/b/c/d/e , vc pode criar um usuario que pode apagar coisas especificamente nesse diretorio. ou um grupo de usuarios. É claro que um chown -R pode ferrar tudo mas ai alguem com senha de root fez algo 'curioso'

2- tente especificar um BASEDIR, por exemplo

rm -r "${BASEDIR}/${DIRNAME}"

assim vc restringe um pouco o dano que o script pode causar.

3- se o $DIRNAME vem de um input de usuario, ele pode conter algo como ../../../../.. -- o que vc pode fazer é verificar a existencia de '..' ( o que não é garantia de nada as vezes ) ou usar o readlink -f para verificar o destino

bash$ readlink -f /dev/../../..
/

4- se os dados forem muito criticos, cogite fazer um chroot

perceba que 1 e 4 andam de mãos dadas, 2 é parte da organização do seu codigo e 3 pode ser algo paranoico.

de fato se 3 veio de um input do usuario vc deve ter cuidado para não ter algo como `rm -rf /` dentro da string, ou outras tentativas de injeção de codigo malicioso.

se vc quer ser avisado que arquivos importantes foram removidos, por favor cogite usar o monit para isso.

Att

Tiago

2015-04-08 18:29 GMT+02:00 address@hidden [shell-script] <address@hidden>:
 

Pessoal Boa Tarde


Estou desenvolvendo uma rotina aonde eu faço um find armazeno o resultado em um array , e depois faço um, rm -r $variavel, removendo alguns diretórios especificos.


Estou com receio do comando rm -r $variavel, existe alguma boa pratica para esses casos.


se puderem me dar dicas agradeço


Obrigado 






--
Tiago B. Peczenyj

http://about.me/peczenyj

reply via email to

[Prev in Thread] Current Thread [Next in Thread]