Como configurar o Linux para solicitar autenticação ao executar comandos potencialmente perigosos?

0

Eu enfrentei momentos em que acidentalmente executei comandos perigosos e perdi todos os meus dados. Como faço para definir o Linux para solicitar senha de usuário atual ou senha de usuário root ao executar comandos potencialmente perigosos como rm -rf . ou rm -rf / e muitos outros?

    
por Ronak 16.03.2014 / 19:06

3 respostas

2

Não há nada que você possa fazer além do uso de sudo , de modo que é necessário fornecer sua senha para executar comandos com privilégios elevados, como root.

A outra dica com a qual você costuma usar é a quebra de comandos destrutivos, como rm , para que seja solicitado um "tem certeza?" ou com rm , você pode usar a opção -i , o que fará com que rm seja de natureza interativa, solicitando confirmação antes de excluir cada arquivo.

Lembre-se, no entanto, isso geralmente é extremamente irritante e você provavelmente voltará a usá-lo com a função desativada.

    
por 16.03.2014 / 19:17
1

O principal problema pode ser identificar com segurança um "comando perigoso". Mas vamos supor que você tenha uma lista de comandos perigosos.

Você pode "sobrescrever" cada binário com uma função (semelhante a um alias de shell, mas mais poderosa):

rm () {
  if is_dangerous rm "$@"; then
    echo "This is a dangerous command!"
    echo -n "Think well and type uppercase YES to really execute it: "
    read answer
    if [ YES = "$answer" ]; then
      executing rm "$@"
      command rm "$@"
    else
      echo "not executed"
    fi
}

is_dangerous seria um script ou função que verifica a linha de comando passada em uma lista.

    
por 16.03.2014 / 19:19
0

A melhor maneira é informar o usuário para usar o diretório específico no comando rm. Basta criar um script wrapper que informará o usuário para usar o nome do diretório. Algo como :  "rm -rf / ou rm -rf." não é permitido.   Por favor, use o diretório / nome do arquivo "rm -rf"

    
por 03.08.2018 / 08:27