Qual é a diferença entre Sudo e Su no Linux?

Índice:

Qual é a diferença entre Sudo e Su no Linux?
Qual é a diferença entre Sudo e Su no Linux?

Vídeo: Qual é a diferença entre Sudo e Su no Linux?

Vídeo: Qual é a diferença entre Sudo e Su no Linux?
Vídeo: How to Keep Venmo Transactions Private - YouTube 2024, Abril
Anonim
Se você é um usuário do Linux, provavelmente já viu referências ao sudo e ao su. Artigos aqui no How-To Geek e em outros lugares instruem os usuários do Ubuntu a usar o sudo e outros usuários das distribuições Linux para usar o su, mas qual é a diferença?
Se você é um usuário do Linux, provavelmente já viu referências ao sudo e ao su. Artigos aqui no How-To Geek e em outros lugares instruem os usuários do Ubuntu a usar o sudo e outros usuários das distribuições Linux para usar o su, mas qual é a diferença?

Sudo e su são duas maneiras diferentes de obter privilégios de root. Cada um funciona de maneira diferente, e diferentes distribuições do Linux usam configurações diferentes por padrão.

O usuário root

Ambos su e sudo são usados para executar comandos com permissões de root. O usuário root é basicamente equivalente ao usuário administrador no Windows - o usuário root tem permissões máximas e pode fazer qualquer coisa no sistema. Os usuários normais no Linux são executados com permissões reduzidas. Por exemplo, eles não podem instalar o software nem gravar nos diretórios do sistema.

Para fazer algo que requer essas permissões, você precisará adquiri-las com su ou sudo.

Su vs. Sudo

O comando su alterna para o super usuário - ou usuário root - quando você o executa sem opções adicionais. Você precisará inserir a senha da conta raiz. Isso não é tudo o que o comando su faz - você pode usá-lo para alternar para qualquer conta de usuário. Se você executar o sue bob comando, você será solicitado a inserir a senha de Bob e o shell mudará para a conta de usuário de Bob.

Quando terminar de executar comandos no shell do root, digite Saída para deixar o shell de root e voltar para o modo de privilégios limitados.

Sudo executa um único comando com privilégios de root. Quando você executa comando sudo, o sistema solicita a senha da sua conta de usuário atual antes de executar comando como o usuário root. Por padrão, o Ubuntu lembra a senha por quinze minutos e não pedirá uma senha novamente até que os quinze minutos terminem.

Esta é uma diferença fundamental entre su e sudo. O Su muda você para a conta do usuário root e requer a senha da conta root. O Sudo executa um único comando com privilégios de root - ele não alterna para o usuário raiz ou exige uma senha de usuário root separada.
Esta é uma diferença fundamental entre su e sudo. O Su muda você para a conta do usuário root e requer a senha da conta root. O Sudo executa um único comando com privilégios de root - ele não alterna para o usuário raiz ou exige uma senha de usuário root separada.

Ubuntu vs. Outras Distribuições Linux

O comando su é a maneira tradicional de adquirir permissões de root no Linux. O comando sudo existe há muito tempo, mas o Ubuntu foi a primeira distribuição Linux popular a ser sudo-only por padrão. Quando você instala o Ubuntu, a conta raiz padrão é criada, mas nenhuma senha é atribuída a ela. Você não pode fazer login como root até atribuir uma senha à conta raiz.

Existem várias vantagens em usar sudo em vez de su por padrão. Os usuários do Ubuntu só precisam fornecer e lembrar de uma única senha, enquanto o Fedora e outras distribuições exigem que você crie senhas de conta raiz e de usuário separadas durante a instalação.
Existem várias vantagens em usar sudo em vez de su por padrão. Os usuários do Ubuntu só precisam fornecer e lembrar de uma única senha, enquanto o Fedora e outras distribuições exigem que você crie senhas de conta raiz e de usuário separadas durante a instalação.

Outra vantagem é que ele desestimula os usuários a fazer login como usuário root - ou usar su para obter um shell root - e manter o shell root aberto para fazer seu trabalho normal. Executar menos comandos como root aumenta a segurança e evita alterações acidentais em todo o sistema.

Distribuições baseadas no Ubuntu, incluindo o Linux Mint, também usam o sudo ao invés do su por padrão.

Alguns truques

O Linux é flexível, por isso não é preciso muito trabalho para fazer o su funcionar de maneira semelhante ao sudo - ou vice-versa.

Para executar um único comando como usuário root com su, execute o seguinte comando:

su -c ‘command’

Isso é semelhante a executar um comando com o sudo, mas você precisará da senha da conta raiz em vez da senha da sua conta de usuário atual.

Para obter um shell root completo e interativo com o sudo, execute sudo –i.

Você precisará fornecer a senha da sua conta de usuário atual em vez da senha da conta raiz.
Você precisará fornecer a senha da sua conta de usuário atual em vez da senha da conta raiz.

Habilitando o usuário root no Ubuntu

Para habilitar a conta de usuário root no Ubuntu, use o seguinte comando para definir uma senha para ele. Tenha em mente que o Ubuntu recomenda contra isso.

sudo passwd root

O Sudo solicitará a senha da sua conta de usuário atual antes que você possa definir uma nova senha. Use sua nova senha para efetuar login como root em um prompt de login do terminal ou com o comando su. Você nunca deve executar um ambiente gráfico completo como o usuário raiz - essa é uma prática de segurança muito ruim e muitos programas se recusarão a funcionar.

Image
Image

Adicionando Usuários ao Arquivo Sudoers

Somente contas do tipo administrador no Ubuntu podem executar comandos com o sudo. Você pode alterar o tipo de uma conta de usuário na janela de configuração Contas de usuário.

O Ubuntu designa automaticamente a conta de usuário criada durante a instalação como uma conta de administrador.
O Ubuntu designa automaticamente a conta de usuário criada durante a instalação como uma conta de administrador.
Image
Image

Se você usa outra distribuição do Linux, pode conceder ao usuário permissão para usar o sudo executando o visudo comando com privilégios de root (então execute su primeiro ou use su -c).

Adicione a seguinte linha ao arquivo, substituindo do utilizador com o nome da conta do usuário:

user ALL=(ALL:ALL) ALL

pressione Ctrl-X e depois Y para salvar o arquivo. Você também pode adicionar um usuário a um grupo especificado no arquivo. Usuários nos grupos especificados no arquivo terão automaticamente privilégios sudo.

Image
Image

Versões Gráficas do Su

O Linux também suporta versões gráficas do su, que solicitam sua senha em um ambiente gráfico. Por exemplo, você pode executar o seguinte comando para obter um prompt de senha gráfica e executar o navegador de arquivos Nautilus com permissões de root. pressione Alt-F2 para executar o comando a partir de um diálogo de execução gráfica sem iniciar um terminal.

gksu nautilus

O comando gksu também tem alguns outros truques na manga: preserva as configurações atuais da sua área de trabalho, para que os programas gráficos não pareçam fora do lugar quando você os lança como um usuário diferente. Programas como o gksu são a maneira preferida de iniciar aplicativos gráficos com privilégios de root.
O comando gksu também tem alguns outros truques na manga: preserva as configurações atuais da sua área de trabalho, para que os programas gráficos não pareçam fora do lugar quando você os lança como um usuário diferente. Programas como o gksu são a maneira preferida de iniciar aplicativos gráficos com privilégios de root.

O Gksu usa um backend baseado em su ou sudo, dependendo da distribuição do Linux que você está usando.

Agora você deve estar preparado para encontrar su e sudo! Você encontrará os dois se usar distribuições diferentes do Linux.

Recomendado: