Pesquisa de site

Aprenda a diferença entre os comandos “su” e “su -” no Linux


Em um artigo anterior, explicamos a diferença entre os comandos sudo e su no Linux. Estes são dois comandos importantes usados para implementar segurança no Linux, no que diz respeito à política de gerenciamento de usuários e permissões de usuários.

O comando su é usado para mudar para outro usuário, em outras palavras, alterar o ID do usuário durante uma sessão de login normal (é por isso que às vezes é chamado de switch (-) usuário por vários usuários Linux). Se executado sem um nome de usuário, por exemplo su -, ele fará login como usuário root por padrão.

Um desafio comum enfrentado por novos usuários do Linux é entender a diferença entre “su” e “su -“. Este artigo irá ajudá-lo a entender brevemente a diferença entre “su” e “su -“ em sistemas Linux.

Normalmente, para se tornar outro usuário ou fazer login em outro usuário, você pode invocar o seguinte comando e, em seguida, será solicitada a senha do usuário para o qual está mudando.

su tecmint

Considerando o cenário na captura de tela acima, é significativo notar que o usuário tecmint mantém o ambiente da sessão de login original do usuário aaronkilik, o diretório de trabalho atual e o caminho para o executável os arquivos também permanecem os mesmos.

Como resultado, quando o usuário tecmint tenta listar o diretório de trabalho (que ainda é o diretório de trabalho do usuário aaronkilik), o erro: “ls: não é possível abrir o diretório . : Permissão negada” é exibido.

Mas no final, o usuário tecmint pode listar seu diretório inicial após executar o comando cd sem nenhuma opção.

Em segundo lugar, quando você invoca su com sinalizadores -, ou -l ou --login, ele oferece uma interface de login semelhante a quando você faz login normalmente. Todos os comandos abaixo são equivalentes entre si.

su - tecmint
OR
su  -l tecmint
OR
su --login tecmint

Neste caso, o usuário tecmint recebe seu próprio ambiente de login padrão, incluindo o caminho para os arquivos executáveis; ele também acessa seu diretório inicial padrão.

É importante ressaltar que ao executar su sem um nome de usuário, você se tornará automaticamente o superusuário. Você receberá o ambiente padrão do root, incluindo o caminho para alterações nos arquivos executáveis. Você também acessará o diretório inicial do root:

su

Confira também: Como mostrar asteriscos ao digitar a senha Sudo no Linux

Esperamos que você ache este artigo informativo. Você pode fazer qualquer pergunta ou compartilhar suas idéias através da seção de comentários abaixo.