O comando sudo nos permite executar programas como outro usuário, por padrão o usuário root. Se você passa muito tempo na linha de comando, o sudo é um que você usará com bastante frequência.
Usar o sudo em vez de efetuar login como root é mais seguro porque você pode conceder privilégios administrativos limitados a usuários individuais sem que eles saibam a senha raiz.
Neste tutorial, explicaremos como usar o comando sudo.
Instalando SUDO
O pacote sudo é pré-instalado na maioria das distribuições GNU / Linux, mas não em todos. Em alguns, mesmo se o sudo estiver instalado, ele não o reconhecerá.
Para verificar se o pacote sudo está instalado em seu sistema, abra o console, digite sudo e pressione Enter. Se você tem o sudo instalado, o sistema mostrará uma breve mensagem de ajuda, caso contrário, você verá algo como sudo command not found.
Se o sudo não estiver instalado, você poderá instalá-lo facilmente usando o gerenciador de pacotes da sua distribuição.
Adicionando usuários à usuários Sudoers
Por padrão, na maioria das distribuições GNU / Linux, a concessão de acesso ao sudo é tão simples quanto adicionar o usuário ao grupo sudo definido no arquivo sudoers em /etc .. Os membros deste grupo podem executar qualquer comando como root. O nome do grupo pode variar de uma distribuição para outra.
Em distribuições baseadas em RedHat, como o CentOS e o Fedora, o nome do grupo sudo é wheel. Para adicionar o usuário à execução do grupo:
usermod -aG wheel Jean
No Debian, Ubuntu e seus derivados, os membros do grupo sudo têm acesso ao sudo:
usermod -aG sudo Jean
A conta de usuário root no Ubuntu é desativada por padrão por razões de segurança e os usuários são encorajados a executar tarefas administrativas do sistema usando o sudo. O usuário inicial criado pelo instalador do Ubuntu já é um membro do grupo sudo, portanto, se você estiver executando o Ubuntu, é muito provável que o usuário com quem você efetuou login já tenha privilégios sudo.
Se você quiser permitir que um usuário específico execute apenas alguns programas, como o sudo, em vez de adicionar o usuário ao grupo sudo, adicione os usuários ao arquivo sudoers.
Por exemplo, para permitir que o usuário aluno execute apenas o comando mkdir como sudo, escreva:
sudo visudo
e adicione a seguinte linha:
aluno ALL=/bin/mkdir
Na maioria dos sistemas, o comando visudo abre o arquivo /etc/sudoers com o editor de texto vim. Se você não tem experiência com o vim, use o nano.
Você também pode permitir que os usuários executem comandos sudo sem autenticar:
aluno ALL=(ALL) NOPASSWD: ALL
Como usar o sudo
sudo Opção.. Comando
O comando sudo tem muitas opções que controlam seu comportamento, mas geralmente é usado em sua forma mais básica, sem opção.
Para usar o sudo, basta prefixar o comando com o sudo:
sudo comando
Onde comando é o comando para o qual você deseja usar o sudo.
O Sudo irá ler o arquivo /etc/sudoers e verificar se o usuário que solicita recebe o acesso. Na primeira vez que você usar o sudo em uma sessão, você será solicitado a digitar a senha do usuário e o comando será executado como root.
Por exemplo, para listar todos os arquivos no diretório /root, seria usado:
sudo ls /root
Tempo de espera da senha
Por padrão, o sudo pedirá que você insira novamente sua senha após cinco minutos de inatividade do sudo. Você pode alterar o tempo limite padrão editando o arquivo sudoers. Abra o arquivo com nano:
$ sudo nano /etc/sudoers
Defina o tempo limite padrão adicionando a seguinte linha, em que 15 é o tempo limite especificado em minutos:
Defaults timestamp_timeout=15
Se você quiser alterar o horário apenas para um usuário específico, inclua a seguinte linha, em que user_name é o usuário em questão.
Defaults:user_name timestamp_timeout=15
Executar um comando como um usuário diferente de root
Existe uma percepção errônea de que o sudo é usado apenas para fornecer permissões de root a um usuário normal. Na verdade, você pode usar o sudo para executar um comando como qualquer outro usuário.
A opção -u
permite que você execute um comando como um usuário específico.
No exemplo a seguir, estamos usando o sudo para executar o comando whoami
como um usuário “aluno”:
sudo -u alumno whoami
O comando whoami
irá imprimir o nome do usuário que executa o comando:
Aluno
Como redirecionar com sudo
Se você tentar redirecionar a saída de um comando para um arquivo para o qual seu usuário não tem acesso de gravação, você receberá o erro “Permissão negada”.
sudo echo "test" > /root/file.txt
bash: /root/file.txt: Permissão negada

Isso acontece porque o redirecionamento “>”da saída é feito sob o usuário com quem você está conectado, não sob o usuário especificado pelo sudo. O redirecionamento ocorre antes do comando ser chamado.
Uma solução é abrir um novo shell como root usando o sudo sh -c
:
sudo sh -c 'echo "test" > /root/file.txt'
Outra opção é canalizar a saída como um usuário comum para o comando tee, conforme mostrado abaixo:
echo "test" | sudo tee /root/file.txt
Sudo é um comando muito poderoso, mas ao mesmo tempo é algo para se ter cuidado.