fbpx
Você sabe a diferença entre os comandos “su” e “su -” no GNU/Linux?

Você sabe a diferença entre os comandos “su” e “su -” no GNU/Linux?

Neste artigo informativo, vamos aprender qual a diferença entre os comandos su e su – no GNU/Linux.

Todo usuário GNU/Linux, dos iniciantes aos mais avançados, provavelmente deve ter visto ou usado os comandos su ou su – em algum momento.

Mas você sabe a diferença entre cada um deles?

Esses são dois comandos importantes usados para proporcionar a segurança no Linux, principalmente no que diz respeito à política de gerenciamento de usuários e permissões.

Vamos as diferenças!

O comando su é usado para alternar para outro usuário, em outras palavras, alterar o ID do usuário durante uma sessão de login atual.

Se executado sem um nome de usuário em seguida, por exemplo su, ele iniciará a conta administrativa root por padrão.

Normalmente, para se tornar outro usuário ou fazer login para outro usuário, você pode invocar comando abaixo, então será solicitado a senha do usuário no qual você está iniciando.

$ su nome_do_usuario

A imagem abaixo exibe com seria o comportamento do terminal após a execução do comando.

comando su
Considerando o cenário na imagem acima, é importante notar que o usuário matheusferraz mantém o ambiente da sessão de login original do usuário root, o diretório de trabalho atual e o caminho para os arquivos também permanecem os mesmos.

Consequentemente, quando o usuário matheusferraz tenta criar uma pasta no diretório de trabalho (que permanece com o diretório do usuário root), ocorre a seguinte mensagem de erro:

diferença entre su e sudo

Porém, finalmente, o usuário matheusferraz pode listar seu diretório inicial depois de executar o comando cd sem nenhum parâmetro, observe a figura 02.

diferença-entre-su-e-sudo

Aliado a isso, quando você invoca su com um –, ou -l ou mesmo a flag de login, ele carrega todo o ambiente destinado ao usuário especificado semelhante a quando você está logando normalmente.

Todos os comandos abaixo são equivalentes e garantem um resultado igual.

su - nome_do_usuário

su -l nome_do_usuário

su --login nome_do_usuário

Neste caso, ao usuário matheusferraz é fornecido seu próprio ambiente de login padrão, incluindo o caminho para arquivos executáveis.

Ele também carrega em seu diretório inicial padrão, como mostra a figura a seguir:

diferença entre su e su -

Veja também: Como enviar e-mails com Python e SMTP

Em resumo…

Atente para uma importante informação, quando você executar o su sem um nome de usuário em seguida, se tornará automaticamente um super usuário.

O que diverge é que apenas com o su, você receberá o ambiente raiz do ultimo usuário logado.

Em contra partida, com o “-” iniciará o diretório inicial padrão da conta administrativa.

Se liga no próximo exemplo:

matheusferraz@localhost:~$ su
Password:
root@localhost:/home/matheusferraz# exit
exit
matheusferraz@localhost:~$ su -
Password:
root@localhost:~#

Para Saber Mais!

A título de curiosidade, o comando sudo é distinto do comando su.

Usa-se esse comando para executar configurações administrativas sem precisar estar logado no sistema como root.

Conclusão

Espero que este artigo informativo tenha esclarecido algumas dúvidas, mesmo que minimamente.

Para mais informações consulte o manual de cada comando.

Até uma próxima!

Artigo baseado no conteúdo do site TecMint.

Tags: | | |

0 Comentários

Deixe um comentário

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

Solicitar exportação de dados

Utilize este formulário para solicitar a exportação de seus dados.

Solicitar remoção de dados

Utilize este formulário para solicitar a remoção de seus dados.

Solicitar retificação de dados

Utilize este formulário para solicitar a retificação dos seus dados neste site. Aqui você pode corrigir ou atualizar seus dados por exemplo.

Solicitar cancelamento de inscrição

Utilize este formulário para solicitar o cancelamento de inscrição do seu e-mail em nossas Listas de E-mail.