O utilitário su
(abreviatura para substituir ou mudar de utilizador) permite executar comandos com privilégios de outro utilizador, por defeito o utilizador raiz.
Using su
é a forma mais simples de mudar para a conta administrativa na actual sessão de login. Isto é especialmente útil quando o utilizador root não está autorizado a entrar no sistema através do sshor utilizando o gestor de ecrã GUI.
Neste tutorial, explicaremos como utilizar o comando su
.
Como utilizar o comando su #
A sintaxe geral do comando su
é a seguinte:
su ]
Quando invocado sem qualquer opção, o comportamento padrão de su
é executar uma shell interactiva como raiz:
su
Ser-lhe-á pedido para introduzir a palavra-passe de root, e se autenticada, o utilizador que executa o comando torna-se temporariamente root.
A shell da sessão (SHELL
) e home (HOME
) as variáveis de ambiente são definidas a partir de variáveis de ambiente do utilizador substituto /etc/passwd
entrada, e o directório actual não é alterado.
Para confirmar que o utilizador é alterado, use o comando whoami
comando:
whoami
O comando imprimirá o nome do utilizador a executar a sessão de shell actual:
root
A opção mais frequentemente utilizada ao invocar su
-
-l
--login
). Isto torna a shell uma shell de login com um ambiente muito semelhante a um login real e altera o directório actual:
su -
Se quiser executar outra shell em vez da definida no ficheiro passwd
, utilize a opção -s
. Por exemplo, para mudar para root e executar o zsh
shell, digitaria:
su -s /usr/bin/zsh
para preservar todo o ambiente (HOME
SHELL
USER
, e LOGNAME
) do utilizador chamador, invoque o comando com a opção -p
--preserve-environment
.
su -p
Quando a opção -
é utilizada, -p
é ignorada.
Se quiser executar um comando como utilizador substituto sem iniciar uma shell interactiva, use a opção -c
--command
. Por exemplo, para invocar o ps
command como raiz, digitaria:
su -c ps
Para mudar para outra conta de utilizador, passar o nome de utilizador como argumento para su
. Por exemplo, para mudar para o utilizador tyrion
você escreveria:
su tyrion
Sudo vs. Su #
Em algumas distribuições Linux como Ubuntu, a conta de utilizador root é desactivada por defeito por razões de segurança. Isto significa que não é definida uma palavra-passe para root, e não é possível utilizar su
para mudar para root.
Uma opção para mudar para root seria a de pré-pender o comando su
com sudo
e introduzir a palavra-passe do utilizador actualmente ligado:
sudo su -
O comando sudo
permite-lhe executar programas como outro utilizador, por defeito o utilizador root.
Se o utilizador for concedido com sudo
avaliar, o comando su
é invocado como root. Executando sudo su -
e depois digitando a palavra-chave do utilizador tem o mesmo efeito que executar su -
e digitando a palavra-chave da raiz.
quando usado com a opção -i
sudo
executar uma shell de login interactiva com o ambiente do utilizador raiz:
sudo -i
sudo -i
é basicamente o mesmo que correr su -
.
p> A vantagem de usar sudo
sobre su
é que a palavra-chave de raiz não precisa de ser partilhada entre múltiplas contas administrativas de utilizadores.
Com sudo
também pode permitir aos utilizadores executar apenas programas específicos com privilégios de raiz.
Conclusion #
su
é um utilitário de linha de comandos que lhe permite tornar-se temporariamente outro utilizador e executar comandos com o utilizador substituto.