Desfaz o “sudo” dentro de um script [duplicado]

1

Existe alguma maneira de desfazer o sudo no script? como ..

sudo ./script.sh

comandos 1,2,3,4,5 com sudo direitos

Comandos

6,7,8,9 sem sudo direitos

    
por Ausrastor 18.02.2015 / 15:21

2 respostas

2

Veja o manual do sudo:

  

-k [comando]

     

Quando usada sozinha, a opção -k (kill) para o sudo invalida as credenciais armazenadas em cache do usuário. A próxima vez que o sudo é executado uma senha   será necessário.

Portanto, coloque um comando sudo -k antes de cada sudo que você deseja pedir uma senha novamente. Ou por trás de cada comando em que você deseja que os próximos comandos não sejam sudo .

A propósito: se você pedir uma senha dentro do script, você deve usar ...

./script.sh

e não com sudo na frente dele.

    
por Rinzwind 18.02.2015 / 15:27
2

Se você precisar executar seu script com o sudo, ainda poderá executar alguns comandos como um usuário normal usando:

sudo -u $SUDO_USER <command>

Se você executar o seguinte script com sudo :

#!/bin/bash

whoami
sudo -u $SUDO_USER whoami

Será produzido:

root
sylvain
    
por Sylvain Pineau 18.02.2015 / 15:33