Este post abordará como alternar para outras contas usando o comando sudo.
Uma das vantagens de usar sudo sobre o comando su é que você não precisa saber a senha do outro usuário. Isso pode eliminar alguns problemas decorrentes do uso de senhas compartilhadas em contas genéricas. Quando você executa o comando sudo, sua senha é solicitada. Se a configuração do sudo permitir acesso, esse comando será executado.
Antes de tudo, para usar o comando sudo o usuário precisa fazer parte do grupo sudo. Outra maneira é usar o comando visudo. Mas aqui focaremos sobre como usar sudo como sendo outro usuário que não o root.
A configuração do sudo normalmente é controlada pelo administrador do sistema e requer acesso root para ser alterada. Obviamente, em seu sistema pessoal, você tem acesso à conta root e também é efetivamente o administrador do sistema.
Sobre o comando sudo
sudo é comumente usado para instalar, iniciar e parar aplicativos que requerem privilégios de root. O comando abaixo listará o conteúdo a pasta /root com direito de root ou superusuário:
maria@ti:~$ sudo ls /root Desktop Modelos snap
Se não colocasse o sudo receberia erro de permissão
maria@ti:~$ ls /root ls: cannot open directory '/root': Permission denied
Se executarmos apenas “sudo comando” o comando será rodado com os direitos do usuário root.
Mas, o que muitos usuários não sabem, é que sudo permite que você execute programas com os privilégios de segurança de outro usuário, não somente como root. Isso porque, assim como o comando su, se nenhum nome de usuário for especificado, assume-se que você estava tentando executar comandos como superusuário(root). É por isso que o sudo é chamado de superusuário.
Usando sudo -u
Para executarmos sudo como sendo outro usuário usamos a opção -u
maria@ti:~$ sudo -u joao ls /home/joao/
Usar somente sudo, sem o -u, é equivalente ao comando a sudo -u root. Os dois comandos abaixo têm o mesmo resultado
maria@ti:~$ sudo -u root ls /root
maria@ti:~$ sudo ls /root Desktop Modelos sna
Mais um Pouco Sobre sudo
#1 Para executar um comando como usuário root, use o comando sudo + comando.
maria@ti:~$ sudo ls /root/ Desktop Modelos sna
#2 Para ver os comandos disponíveis para você executar com sudo, use sudo -l.
maria@ti:~$ sudo -l Matching Defaults entries for maria on ti: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty Runas and Command-specific defaults for maria: Defaults!/usr/lib/*/libexec/kf5/kdesu_stub !use_pty User maria may run the following commands on ti: (ALL : ALL) ALL
#3 Você pode usar sudo su para alternar para a conta de superusuário.
maria@ti:~$ sudo su
#4 Você pode usar sudo su – para alternar para a conta de superusuário com o ambiente de root.
maria@ti:~$ sudo su -
#5 na verdade, se possuir a senha do usuário root, você pode usar somente su ou su –
maria@ti:~$ su -
#6 Outra maneira de mudar para outra conta sudo
é usar a opção -s
.
maria@ti:~$ sudo -s
Resumo
Abaixo vai um resumo em forma de tabela do que vimos.
Comandos | Significado |
---|---|
sudo su | Alterne para a conta de superusuário. |
sudo su - | Mude para a conta de superusuário com o ambiente root. |
sudo su - username | Mude para a conta do nome de usuário com o ambiente do nome de usuário. |
Comandos | Significado |
---|---|
sudo -s | Iniciar um shell como root |
sudo -u root -s | O mesmo que acima. |
sudo -u user -s | Inicie um shell como usuário. |
Comment on “Linux: Alternando para Outras Contas com SUDO”