Pular para conteúdo

su

O comando su significa __s__uper __u__ser. É o usuário root. Ele tem superpoderes para executar comandos.

Sintaxe Básica

su

Com o seguinte resultado:

fernanda@base:/$ su

Ao executar o comando su será solicitada uma senha.

Com o seguinte resultado:

Senha:

A senha a ser digitada é a senha de root.

Com o seguinte resultado:

root@base:/home/fernanda#

Ou seja, o usuário agora se tornou root, mas tem acesso às próprias configurações, não às configurações do root.

su -

O comando su - é o comando su com o parâmetro -.

Este parâmetro dá ao usuário, acesso a comandos de usuário root. Mas com a diferença de trazer consigo acesso às configurações do root.

Sintaxe Básica

 _`su -`_ 

Com o seguinte resultado:

fernanda@base:/$ su -

Ao executar o comando su - será solicitada uma senha.

Com o seguinte resultado:

Senha:

A senha digitada é a senha de root.

Com o seguinte resultado:

root@base:~#

Podemos perceber visualmente a diferença ao executar o comando su e em seguida o comando adduser

fernanda@base:~$ su

Será solicitada senha

Senha:

Digitar a senha de root

Com o seguinte resultado:

root@base:/home/fernanda#

Executar o comando adduser

root@base:/home/fernanda# adduser

Com o seguinte resultado:

bash: adduser: comando não encontrado

Mas se executarmos o comando su - e em seguida o comando adduser

fernanda@base:~$ su -

Será solicitada senha

Senha:

Digitar a senha de root

Com o seguinte resultado:

root@base:~# 

Executar o comando adduser

root@base:~# adduser fulano

Com o seguinte resultado:

Adicionando usuário 'fulano' ...

Ou seja:

Com o su preciso passar o path para ele encontrar o comando, visto que estou como root mas sem acessar as configurações dele

Mas com o su - vou estar como root acessando as configurações do próprio root, e não há necessidade de passar o path para que o comando seja encontrado.