como faço para o shell solicitar a confimação para o comando rm -rf (mesmo sudo)?

4

Eu quero fazer o shell de comando para solicitar confirmação antes da execução de certos comandos como dd , rm -rf etc.

    
por juggernaut1996 25.04.2016 / 17:56

3 respostas

1

Acho que safe-rm fará o trabalho

apt install safe-rm

O Safe-rm é uma ferramenta de segurança destinada a impedir a exclusão acidental de arquivos importantes.

$ rm -rf /usr
Skipping /usr
    
por Gen 25.04.2016 / 19:49
1

Você pode criar um script bash que peça confirmação e depois execute o programa desejado. Crie um arquivo chamado ask contendo:

#!/bin/bash 
echo "Are you sure to run  command?"
read RES
if [ "$RES" = "Y" ] || [ "$RES" = "y" ] ; then
    echo "Running the command..."
    $@
else
    echo "Command aborted"
fi

Copiar perguntar script em / usr / bin / e defini-lo como executável (ou adicionar o caminho do script à variável PATH):

sudo mv path_to_ask_script/ask /usr/bin/ask
cd /usr/bin/
sudo chmod 777 ask

Então você precisa criar um alias no arquivo ~/.bashrc :

alias dd='ask dd'

Agora, digitando dd, o script ask deve ser executado, pedir confirmação e eventualmente chamar o comando dd.

Para ampliar o outro comando, basta adicionar um alias como:

alias command_name='ask command_name' como exemplo: alias rm='ask rm'

Para o comando rm, você pode simplesmente criar um alias como: alias rm='rm -i'

Script testado e funcionando totalmente em 16.04 com o gnome-terminal

    
por velix 25.04.2016 / 18:25
0

Você pode fazer o seguinte se realmente quiser usar esses comandos apenas como sudo:

Vá para /bin (exemplo, a maioria dos comandos está aqui), então:

cd /bin
# example how to make dd to posibly only for root/sudo (744)
sudo chmod go-x dd
# or even go further restrict the access to the file fully to root (700)
sudo chmod go-rx dd
# to reverse that setting you did do (755)
sudo chmod go+rx dd 

Isso remove os sinalizadores executáveis desses comandos para group e outros. Você pode fazer isso com quase todos os comandos e até dizer que não tem permissão quando não estiver usando o sudo.

Disclaimer: Não, quero dizer, NÃO altere as permissões no sudo ou su você pode bloquear você de coisas essenciais e ter dificuldade em consertar.

    
por Videonauth 25.04.2016 / 18:49

Tags