Comando su, o que é para que serve? Confira alguns exemplos e use mais o comando su

comando-su-o-que-e-para-que-serve-confira-alguns-exemplos-e-use-mais-o-comando-su

Linux é o Kernel do sistema, e isso sempre deixa as pessoas confusas, mas hoje nós vamos falar de Linux e do comando su, será que você já usou o comando? E será que tem diferença entre os comandos su e su – ? Confira este artigo e tire suas dúvidas.

Vários usuários podem fazer login em um sistema Linux simultaneamente. Você pode alternar entre diferentes usuários usando linha de comando, graças ao comando su. Este comando altera as credenciais do usuário para as de um usuário que você pode escolher, ou até mesmo o ROOT especificado (por padrão). Hoje aprenda um pouco mais sobre o comando su e as diferenças entre os comandos su e su -.

A ideia central deste artigo é apresentar o comando su e desmistificar o seu uso, juntamente com o estimulo ao uso do Terminal. Claro, sabemos que quanto menos usar o Terminal melhor para o usuário, mas é sempre bom saber o que fazer em alguns momentos.

É óbvio que no Linux, como em qualquer sistema operacional, pode acontecer do ambiente travar, ou alguma situação em que o uso do Terminal pode evitar aquela velha reinstalação que leva tempo e paciência, então fica este artigo como parte desta ideia.

O comando su

O comando su serve para alterar as credenciais dos usuários, conforme dissemos acima, você pode escolher o usuários que desejar, desde que ele exista em seu sistema Linux. Veja um exemplo do comando su:

[fulano@redhat-server ~]$ su emanuel
Password:
[sempreupdate@redhat-server raghu]$ id
uid=501(sempreupdate) gid=501(sempreupdate) groups=501(sempreupdate),504(javaproject) context=root:system_r:unconfined_t:SystemLow-SystemHigh
Observe que além do comando su, usamos um outro comando, o id que serve para obter informações do usuário atual. Observe que na sintaxe usada acima, o usuário fulano estava logado, e eu precisava alterar as credenciais para o usuário emanuel.

No exemplo a seguir, vamos usar o comando su sem nenhum parâmetro, com isso vamos ter o usuário ROOT por padrão.

[emanuel@redhat-server raghu]$ su
Password:
[root@redhat-server raghu]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) context=root:system_r:unconfined_t:SystemLow-SystemHigh

Comando su –

Com o su –login, su -l apenas o comando su – você pode alternar o usuário como se fosse um login, mas usando o terminal.

[fulano@redhat-server ~]$ su – sempreupdate
Password:
[sempreupdate@redhat-server ~]$ id
uid=501(sempreupdate) gid=501(sempreupdate) groups=501(sempreupdate),504(javaproject) context=root:system_r:unconfined_t:SystemLow-SystemHigh

Diferença entre su e su –

A diferença entre su e su – é que algumas variáveis ??de ambiente, como variável PATH, não alteram valores com apenas o comando su (ou seja, se a opção -l ou – for omitida). Alguns comandos podem não ser executados se a variável PATH não estiver configurada corretamente.

Por exemplo, considere o seguinte cenário:

[emanuel@redhat-server ~]$ su root
Password:
[root@redhat-server emanuel]# fdisk -l
bash: fdisk: command not found
[root@redhat-server emanuel]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/emanuel/bin

Você pode ver que os diretórios sbin não estão incluídos no PATH do usuário ROOT. Portanto, não executa o comando fdisk. Agora, tentamos fazer login com o comando su -, veja:

[emanuel@redhat-server ~]$ su –
Password:
[root@redhat-server ~]# fdisk -l
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 1044 8281507+ 8e Linux LVM
[root@redhat-server ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
Outra diferença entre esses dois comandos é em relação aos scripts de login. Primeiro, vamos discutir alguns scripts de login!

Quando um usuário faz logon em um sistema, os seguintes 4 arquivos são executados se as credenciais do usuário forem legítimas:

/etc/profile
/etc/bashrc
~/.bashrc
~/.bash_profile

Quando você faz login usando o comando su -, todos esses scripts são executados. Mas com o comando su apenas, os scripts bashrc são executados, ou seja, /etc/bashrc and ~./bashrc scripts são executados.

Espero que você tenha aprendido um pouco mais, tanto de como usar o comando su, o que é e para que serve. Como também onde usar, são exemplos comuns.