Android

Comando Sudo no Linux

Comando sudo - Executando comandos com privilégios elevados no Linux - 01

Comando sudo - Executando comandos com privilégios elevados no Linux - 01

Índice:

Anonim

O comando sudo 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 dos comandos que você usará com bastante frequência.

Usar o sudo em vez de fazer login como root é mais seguro, porque você pode conceder privilégios administrativos limitados a usuários individuais sem que eles saibam a senha root.

Neste tutorial, explicaremos como usar o comando sudo .

Instalando o Sudo (comando sudo não encontrado)

O pacote sudo é pré-instalado na maioria das distribuições Linux.

Para verificar se o pacote sudo está instalado no seu sistema, abra o console, digite sudo e pressione Enter . Se você tiver o sudo instalado, o sistema exibirá uma breve mensagem de ajuda, caso contrário, você verá algo como o 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.

Instale o Sudo no Ubuntu e Debian

apt install sudo

Instale o Sudo no CentOS e no Fedora

yum install sudo

Adicionando usuário a sudoers

Por padrão, na maioria das distribuições Linux, conceder acesso ao sudo é tão simples quanto adicionar o usuário ao grupo sudo definido no arquivo sudoers . Os membros deste grupo poderão executar qualquer comando como root. O nome do grupo pode diferir de distribuição para distribuição.

Nas distribuições baseadas no RedHat, como CentOS e Fedora, o nome do grupo sudo é wheel . Para adicionar o usuário ao grupo, execute:

usermod -aG wheel username

No Debian, Ubuntu e seus derivados, os membros do grupo sudo recebem acesso sudo:

usermod -aG sudo username

A conta de usuário root no Ubuntu é desativada por padrão por razões de segurança e os usuários são incentivados 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, é provável que o usuário com o qual você fez login já tenha privilégios de sudo.

Por exemplo, para permitir que o usuário linuxize execute apenas o comando mkdir como sudo, digite:

sudo visudo

e acrescente a seguinte linha:

linuxize 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 possui experiência com o vim, consulte nosso artigo sobre como salvar um arquivo e sair do editor do vim.

Você também pode permitir que os usuários executem comandos sudo sem inserir a senha:

linuxize ALL=(ALL) NOPASSWD: ALL

Como usar o Sudo

A sintaxe para o comando sudo é a seguinte:

sudo OPTION.. COMMAND

O comando sudo tem muitas opções que controlam seu comportamento, mas geralmente o sudo é usado em sua forma mais básica, sem nenhuma opção.

Para usar o sudo, basta prefixar o comando com sudo :

sudo command

Onde command é o comando para o qual você deseja usar o sudo.

O Sudo lerá o arquivo /etc/sudoers e verificará se o usuário que está chamando é concedido com o sudo assessment. Na primeira vez em que você usar o sudo em uma sessão, você será solicitado a inserir a senha do usuário e o comando será executado como root.

Por exemplo, para listar todos os arquivos no diretório /root , você usaria:

sudo ls /root

password for linuxize:….bashrc.cache.config.local.profile

Tempo limite da senha

Por padrão, o sudo solicitará que você digite sua senha novamente após cinco minutos de inatividade do sudo. Você pode alterar o tempo limite padrão editando o arquivo sudoers . Abra o arquivo com visudo :

sudo visudo

Defina o tempo limite padrão adicionando a linha abaixo, onde 10 é o tempo limite especificado em minutos:

Defaults timestamp_timeout=10

Defaults:user_name timestamp_timeout=10

Executar um comando como um usuário que não seja raiz

Há uma percepção errada de que o sudo é usado apenas para fornecer permissões de root a um usuário comum. Na verdade, você pode usar o sudo para executar um comando como qualquer usuário.

A opção -u permite executar um comando como um usuário especificado.

No exemplo a seguir, estamos usando o sudo para executar o comando whoami como um usuário "richard":

sudo -u richard whoami

O comando whoami imprimirá o nome do usuário que está executando o comando:

richard

Como redirecionar com o Sudo

sudo echo "test" > /root/file.txt

bash: /root/file.txt: Permission denied

Isso acontece porque o redirecionamento " > " da saída é realizado no usuário em que você está conectado, e não no usuário especificado pelo sudo. O redirecionamento acontece antes que o comando sudo seja chamado.

Uma solução é chamar 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 usuário regular para o comando tee como mostrado abaixo:

echo "test" | sudo tee /root/file.txt

Conclusão

Você aprendeu como usar o comando sudo e como criar novos usuários com privilégios de sudo.

sudo terminal