As diferenças entre Su, Sudo Su, Sudo -s e Sudo -i

As diferenças entre Su, Sudo Su, Sudo -s e Sudo -i

⌛ Reading Time: 5 minutes

Existem muitas maneiras diferentes de obter uma sessão root no terminal Linux. Isso pode criar alguma confusão, já que a maioria dos usuários iniciantes que buscam obter privilégios de root podem não estar familiarizados com como cada comando pode obter acesso de root, como eles são diferentes e quando essas diferenças importam. Aqui, separamos cada um dos muitos comandos diferentes usados ​​para obter acesso root em um terminal, explicamos como eles ganham root, quando usá-los e tudo mais.

su

o su O comando substitui o usuário atual que o sistema está usando no shell.

Você pode mudar para qualquer usuário digitando su e adicionar um nome de usuário depois dele. Isso dirá ao sistema para alternar (e essencialmente fazer logout) do usuário atual para aquele especificado. Alternativamente, o su comando pode obter acesso root digitando su sem especificar nada após o comando.

“Su” é melhor usado quando um usuário deseja acesso direto à conta root no sistema. Não passa sudo ou algo parecido. Em vez disso, é necessário inserir a senha do usuário root porque você está literalmente fazendo login nela. Além disso, outras maneiras de obter acesso à raiz não têm o benefício de também obter acesso ao diretório inicial raiz e ao ambiente raiz.

sudo su

Este comando pede a senha do usuário atual em vez de root.

Linuxsudo Sudosu

É essencialmente o mesmo que executar su na casca, exceto por uma diferença crucial. Em vez de dizer ao sistema para “trocar de usuário” diretamente, você está dizendo a ele para executar o comando “su” como root. Quando sudo su é executado, “.profile,” “.bashrc” e “/ etc / profile” serão iniciados, bem como executando su (ou su root) Se algum comando for executado com sudo na frente dele, ele recebe privilégios de root.

Embora não haja uma grande divergência entre “sudo su” e “su”, sudo su ainda é um comando muito útil por uma razão importante: quando um usuário está executando “su” para obter acesso root em um sistema, ele deve saber a senha root. A raiz é dada com sudo su solicitando a senha do usuário atual. Isso torna possível obter root sem a senha de root, o que aumenta a segurança.

sudo -i

Usando sudo -i é virtualmente o mesmo que o sudo su comando com uma exceção: ele não interage diretamente com o usuário root.

Linuxsudo Sudoi

Muito parecido sudo su, a -i flag permite que um usuário obtenha um ambiente root sem precisar saber a senha da conta root. sudo -i também é muito semelhante a usar sudo su, já que ele lerá todos os arquivos ambientais (.profile, etc.) e definirá o ambiente dentro do shell.

Onde difere de “sudo su” é que sudo -i é uma maneira muito mais limpa de obter root e um ambiente root sem interagir diretamente com o usuário root. Para esclarecer: Com sudo su você está usando mais de uma raiz setuid comando em segundo plano. Isso torna muito mais desafiador descobrir quais variáveis ​​ambientais serão mantidas e quais serão alteradas (ao trocar para o ambiente raiz). Isso não é verdade com sudo -i. Por causa disso, a maioria das pessoas o vê como o método preferido para obter root sem efetuar login diretamente.

sudo -s

Este comando invoca um shell com sua variável $ SHELL.

Linuxsudo Sudos

o -s a chave para o comando “sudo” lê a variável $ SHELL do usuário atual executando comandos. Este comando funciona como se o usuário estivesse executando sudo /bin/bash. Sudo -s é um shell de estilo “sem login”. Ao contrário de um comando como sudo -i ou sudo su, o sistema não lerá nenhum arquivo ambiental. Quando um usuário diz ao shell para executar sudo -s, ele obtém root, mas não mudará o usuário ou o ambiente do usuário. Sua casa não será a casa raiz, etc.

Linuxsudo Shellupdate

Este comando é melhor usado quando o usuário não deseja alternar para root, mas deseja um shell interativo com seu valor de ambiente $ SHELL. Outros comandos mencionados acima obtêm acesso root, mas afetam os arquivos ambientais root e permitem aos usuários acesso total ao root (o que pode ser um problema de segurança).

perguntas frequentes

1. Qual comando devo usar?

Cada comando tem seu caso de uso. O importante aqui é entender o que cada comando faz e quando usá-los. Do jeito que está, sudo -i é a maneira mais prática e limpa de obter um ambiente de raiz. Por outro lado, aqueles que usam sudo -s descobrirão que podem obter um shell de root sem a capacidade de tocar no ambiente de root, algo que acrescentou benefícios de segurança.

2. O acesso ao root pode prejudicar meu sistema?

Em alguns casos, sim. A menos que você tenha certeza absoluta de que precisa acessar o root para tudo em uma sessão de terminal particular, muitas vezes é melhor apenas digitar sudo seguido por um comando se você deseja acessar o root para aquele comando específico. Por exemplo, digitando sudo apt install vlc em qualquer versão do Linux baseada em Debian diria ao sistema operacional para acessar o root apenas para executar o gerenciador de pacotes APT para instalar o VLC.

Uma advertência muito importante para executar sudo -i ou qualquer outra variante que discutimos anteriormente em oposição à digitação sudo antes de cada comando que você deseja executar como root é que o primeiro não registra o seu histórico de comandos no /var/log/auth.log. Se você errar, não poderá voltar e verificar o que fez para que possa corrigir. Você terá que operar sem memória, pois as sessões de root não são gravadas.

3. Quando digito “sudo” antes de um comando, qual variante de “sudo su” estou executando?

Digitando sudo para executar um comando (ou seja, você está digitando na mesma linha do comando que deseja executar), você essencialmente o está executando em um shell raiz interativo. Isso seria o que sudo -s o comando autônomo sim.

Empacotando

Não existe realmente um comando nesta lista que seja 100% o melhor. À medida que os usuários ficam mais confortáveis ​​com a linha de comando, eles precisam levar em consideração cada forma de ganhar root (e há muitas), pesar os prós e os contras e agir de acordo. Espero que, com a ajuda deste artigo, essas decisões sejam mais fáceis de tomar. Se você quiser aprender mais sobre comandos, leia este artigo sobre comandos úteis do Linux para listar o conteúdo de um diretório.

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

[pt_view id="5aa2753we7"]

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *