Sendo parte indispensável para trabalhos mais específicos, entrar como root no terminal Linux facilita bastante as tarefas de qualquer usuário, porém, o uso deste usuário requer total atenção antes da execução de qualquer comando.
O usuário root, também conhecido como super usuário, tem permissão total para ler(r), escrever(w) e executar(x) qualquer arquivo ou diretório.
Faz parte dessa arquitetura o já citado Linux e até mesmo o Android.
Outra característica do root é o poder de proteger diretórios e arquivos, assim como as aplicações importantes para o funcionamento do sistema operacional, o blindando de alterações que desestabilizem ou gerem brechas, conservando o estado correto do sistema operacional.
Neste artigo, iremos conferir como entrar como root no terminal Linux, o que é ser um usuário root, quais as consequências de seu uso e sua importância.
Conteúdo
Como abrir o terminal no Linux pela primeira vez
Se você nunca abriu o terminal e este é um dos seus primeiros contatos com Linux, confira abaixo como encontrar o terminal na interface gráfica deste sistema operacional.
Este passos são válidos para a maioria das distribuições Linux mais modernas.
Clique no botão “Grill” (conhecido também como Mostrar Aplicativos), localizado no canto inferior esquerdo.
Então, na lista de aplicativos exibida, clique no aplicativo que está nomeado como “terminal“.
Com isso, o terminal abrirá pronto para uso pelo seu usuário.
Acessar o root de um servidor Linux pelo SSH no Windows
Se você possui um servidor Linux como um VPS ou Cloud, faz uso de desktops Windows e precisa acessar este servidor via SSH com o usuário root, será necessário ter um software client emulador de terminal em sua máquina.
Comece instalando um software client emulador de terminal como o PuTTY ou MobaXterm.
Após instalar o software de sua preferência, abra-o e insira os dados para conectar ao SSH remoto.
Para ilustrar este exemplo de conexão SSH, iremos utilizar o PuTTY.
Então, no campo Host Name, inserimos o IP ou domínio do servidor.
No campo Port, inserimos a porta do serviço SSH, neste caso, a padrão 22, pois não customizamos essa porta nas configurações do serviço.
Logo abaixo, clicamos no botão Open, para que o terminal possa abrir.
No passo seguinte, o terminal abre nos solicitando um usuário, digitamos o usuário root e confirmamos teclando Enter.
Logo abaixo, digitamos a senha do usuário root e a conexão se conclui.
Acessar o root de um servidor remoto pelo SSH no Linux
E se você faz uso de desktop Linux e deseja se conectar remotamente em seu servidor Linux VPS, basta fazer uso do terminal nativo.
Para tanto, com o terminal aberto em seu desktop, utilize o comando ssh com a seguinte sintax:
$ ssh root@host_remoto
Troque o “host_remoto” pelo endereço IP ou pelo nome de domínio do servidor remoto ao qual você está tentando se conectar.
Durante essa conexão com o servidor remoto, a senha do usuário root será solicitada a você.
Após fornecê-la, você terá a conexão efetivada.
Exemplo:
E para encerrar essa sessão ssh remota, retornando para a sessão local, apenas digite:
$ exit
Configurar a senha para o usuário root
Agora que você já sabe como abrir o terminal no Linux, é hora de definir uma senha para o usuário root. Essa senha será essencial para seguir os próximos passos.
Para tanto, com o terminal aberto execute o comando:
$ sudo passwd root
Confirme a mesma senha por duas vezes para que a configuração se efetive.
Como recomendação de segurança, você deve definir a senha com ao menos 10 caracteres, e que contenha letras maiúsculas e minúsculas, caracteres especiais, números e pontuação.
Entrar na conta root com o comando sudo
Essa sessão destina-se a demonstrar para você como acessar o usuário root usando o comando sudo, diretamente pelo terminal do servidor, de forma local.
O sudo é uma ferramenta para sistemas operacionais baseados em Unix, como o Linux, BSD e até mesmo Mac OS.
Permite que você execute outras ferramentas emulando os privilégios de acesso e segurança de outro usuário, geralmente do usuário root.
Por padrão, quando você usa o sudo na primeira interação de comando, o terminal pedirá para você digitar sua senha de usuário.
Usuários mais avançados podem customizar as configurações do sudo para que haja ou não a exigência da senha root em cada interação de comando.
Apesar do sudo executar comandos como outro usuário, um conjunto de regras são seguidos sobre quais usuários podem executar quais comandos.
As configurações para usuários com permissões de sudo se concentram no arquivo /etc/sudoers.
Com o terminal aberto, você deve digitar:
$ sudo su
Digite a senha do seu usuário pessoal, no nosso caso, usamos a senha do usuário homehost, e com isso você acaba de entrar como root no terminal Linux de forma local.
Para deslogar do usuário root, digite “exit” e seu acesso voltará para o usuário anterior.
Entrar na conta root com o comando su
Essa sessão destina-se a demonstrar para você como acessar o usuário root usando o comando su, diretamente pelo terminal do servidor, de forma local.
Como você definiu a senha para o usuário root anteriormente, poderá logar na conta deste usuário digitando apenas o comando “su” (substitute user), sem a necessidade de você colocar o comando sudo como fez anteriormente.
O comando su é usado para alterar o ID do usuário. Ou seja, para se tornar um super usuário durante a sessão de login com seu usuário comum, use o comando su.
Este comando permite que você se torne um super usuário. Porém, essa troca de usuário se efetivará somente se você souber a senha do usuário root.
Dito isso, no terminal de sua máquina, digite o referido comando e será solicitada a senha que foi definida para o root.
$ su
A partir deste ponto, repare que o símbolo identificador do usuário mude de “$” para “#”.
Além disso, o caminho do diretório “home” de seu usuário comum passou a ser visível no terminal, logo afrente de root@.
Isso acontece, pois o diretório do usuário root por padrão sempre será o “/” e cada usuário comum possui um diretório “home” diferente.
E como o usuário root possui acesso a tudo, o sistema entende que você precisa de super privilégio no diretório atual para executar alguma tarefa e que não é necessário sair diretório e ir para o “/” do root.
Entrar na conta root com su -l
Outra forma para você entrar como root através do terminal local do servidor é fazendo o uso do parâmetro “-l” junto ao comando “su”.
A exemplo do modo anterior, será solicitada a senha do acesso root para que o acesso seja efetivado.
$ su -l
O uso do comando sudo no momento de executar comandos que necessitem de acesso elevado, permite que você execute comandos como root de forma temporária.
Essa forma para execução de comandos de privilégio elevado é a mais indicada para a ampla maioria dos usuários.
Isto porque, ao rodar o comando como sudo, não haverá logon permanente como root, apenas durante o processamento do comando desejado, porém, de forma transparente ao usuário.
Neste caso, como o logon através do root não se mantém e nem se faz necessário, não é preciso saber a senha do root.
Ao contrário, o usuário deverá digitar a senha de seu próprio usuário comum, obter acesso elevado temporário.
Digite sudo seguido do comando desejado. Em seguida, pressione a tecla Enter.
Então, o terminal solicitará uma senha. Insira a senha de seu atual usuário comum, não a do root, e tecle Enter novamente para confirmar.
Para as distribuições mais modernas do Linux, o sudo é o método de uso aconselhável para se obter privilégio elevado, pois funciona até mesmo se a conta do usuário root estiver desativada.
Além do mais, o sudo é o comando que está limitado a usuários com privilégios administrativos. Você pode adicionar ou excluir usuários dos privilégios administrativos editando o arquivo /etc/sudoers.
Liberar o root para conexão remota via SSH
Para que você possa usar a conta root para se conectar ao SSH de um servidor Linux, através de desktop Windows ou através de desktop Linux, precisará efetuar algumas configurações necessárias.
Lembrando que não é recomendável a liberação direta desse usuário, pois seu acesso altamente irrestrito poderá causar danos irreparáveis ao sistema se houver vazamento dos dados de conexão.
Começaremos a configuração instalando o serviço SSH no servidor.
Para tanto, abra o terminal do servidor remoto e digite o seguinte comando:
$ sudo apt-get install openssh-server
Digite Y e em seguida pressione a tecla Enter para confirmar o início da instalação e aguarde a finalização.
Agora, modifique a configuração do serviço SSH para que aceite a autenticação do root.
Execute o seguinte comando:
$ sudo nano /etc/ssh/sshd_config
Modifique a linha:
PermitRootLogin no
Para:
PermitRootLogin yes
Obs: se essa linha não existir no arquivo, inclua ela ao final do arquivo.
Então, salve as modificações no arquivo.
Por último, reinicie o serviço de ssh com o seguinte comando:
$ sudo systemctl restart ssh.service
E vamos agora, aos métodos de acesso via SSH com o root, usando o Windows e o Linux.
Tratando dados com ou sem root no terminal Linux
Ao abrir o terminal, seu usuário estará diante do diretório “home” configurado para ele.
Dentro desse diretório, o usuário poderia criar, editar ou apagar qualquer outro diretório ou arquivo, sem a necessidade de usar “sudo” para se obter privilégio elevado.
Isto acontece, pois, o seu diretório “home” e todos os subdiretórios e arquivos que existirem nele possuem em suas propriedades o seu usuário e o grupo referente a ele definidos em tudo.
Em nosso exemplo, ao executar o comando “pwd” visualizamos o caminho atual do usuário.
Então, criamos um diretório com o comando “mkdir suporte“ sem precisar usar o “sudo”.
Por fim, listamos o conteúdo do diretório “home” com o comando “ls -la”, que confirma que todo o conteúdo presente pertence ao usuário homehost e seu grupo homehost.
pwd
mkdir suporte
ls -la
Abaixo, neste segundo exemplo, com o usuário comum acessamos o diretório “/var”, tentamos criar o diretório “teste_homehost” sem uso do “sudo” e recebemos o aviso de “Permission denied”.
Em seguida, usamos o “sudo” no mesmo comando e o diretório foi criado com sucesso.
cd /var/
pwd
sudo mkdir teste_homehost
ls -la
Finalmente, listamos o conteúdo do diretório em detalhes com “ls -la”, e podemos ver que este é um diretório em que apenas usuários com super privilégios podem criar, modificar ou deletar arquivos e diretórios.
Pois, em suas propriedades temos por padrão o usuário root e grupo root definidos.
Inclusive, o diretório criado pelo comando “sudo” possui os mesmos atributos, devido ao comando em questão elevar temporariamente o nível de permissão do usuário.
Consequências de entrar como root no terminal Linux
O root é conhecido como super usuário, este é um login que não possui restrições de segurança.
Tanto que, a recomendação é que você use este usuário somente quando for necessário executar manutenção do sistema e que seu uso seja feito pelo menor tempo possível.
Para atividades comuns, faça uso do seu usuário normal ao invés do root.
O principal motivo para você não utilizar o root em qualquer atividade é a facilidade de cometer equívocos e os danos serem irreversíveis.
Para ações mais corriqueiras seu usuário será o suficiente, tanto que, para todas as ações que você precisar de privilégio elevado, basta usar o comando “sudo” seguido do comando que queira usar.
O sudo é responsável por “emular” o privilégio de root para um usuário comum, porém, com maior controle e limite.
Por exemplo, para criar um diretório com seu usuário comum, você deverá executar a seguinte sintaxe de comando:
$ sudo mkdir nome_do_diretorio_desejado
Enquanto, para criar o mesmo diretório como root, você deverá executar:
$ mkdir nome_do_diretorio_desejado
Importância de entrar como root no terminal Linux
Agora que você já sabe sobre os efeitos colaterais sobre o uso do usuário root, vamos abordar as razões pelas quais fazem deste usuário tão essencial para o Linux.
Ampla customização: Permite que você faça a personalização total do Linux.
Desbloqueio de funcionalidades: O root permite que você consiga acesso às funcionalidades que são inacessíveis por usuário comum.
Desinstalação de bloatware: Permite excluir os programas indesejados que vêm pré-instalados com o “pacote” do sistema operacional.
Otimização do desempenho: O root possibilita que você faça alterações no sistema e aplicativos para que se possa otimizar o desempenho do ambiente.
Backup completo: o usuário root é bastante útil quando queremos fazer o backup completo dos dados e configurações.
Instalação de ROMs personalizadas: Concede acesso para a instalação de ROMs customizadas e atualizações de forma mais rápida.
Privilégio avançado em apps: Com o root você terá acesso para utilizar aplicativos que necessitam de permissões especiais.
Automação: Nem todas as automações são possíveis de serem feitas com um usuário comum.
Em algumas situações você pode precisar do usuário root para facilitar a automação que esteja implementando.
Melhorias na Segurança: É possível aumentar ainda mais a segurança no Linux. E para isso, em situações deste tipo será necessário que você tenha acesso root para implementar as melhorias.
Recuperação de Dados: O usuário root tem a capacidade de nos permitir recuperar dados em situações críticas.
O que é o root no Linux
Considerado como um super usuário no Linux, o root contém o privilégio máximo diante do sistema operacional através do terminal.
Semelhantemente, como comparação, seu conceito administrativo é próximo ao usuário administrator do Windows, não tendo nenhuma limitação ao executar qualquer tipo de tarefa no Linux, por mais simples ou mais complexa que ela seja.
Então, o root possui total permissão para alterar qualquer particularidade do sistema, instalar/remover programas, e acessar arquivos de qualquer usuário.
Porém, isso envolve grande responsabilidade, pois modificações feitas no lugar errado podem afetar de maneira drástica o desempenho e segurança do sistema.
Portanto, é altamente aconselhável que o usuário root seja usado somente em trabalhos específicos, que necessitam de permissões elevadas.
Além do mais, será sempre mais seguro você trabalhar com seu usuário comum em todas as ocasiões possíveis.
Até porque, para você executar comandos como root usando seu usuário, deve fazer uso do comando “sudo” seguido do comando desejado.
Neste cenário, a senha do seu usuário será solicitada para efetivar sua ação.
Enfim, entender toda a importância do usuário root é essencial para que você administre o ambiente do Linux com segurança efetiva.
Considerações finais
Entrar como root no terminal Linux é uma tarefa simples. Basta que seu usuário possua capacidade de executar comandos como sudo para que isso seja feito através dele.
Ou, outra opção é que você possua a senha do usuário root.
Controlar o que os usuários podem ou não fazer é uma das características que fazem dos sistemas baseados em Unix mais seguros.
Como foi possível vermos, o root é o único que consegue ter acesso ilimitado aos recursos do sistema.
Como tal, por segurança, recomendamos que se faça uso do root somente em cenários em que qualquer outro usuário seja insuficiente.
E por fim, vimos que para minimizar ao máximo a dependência do usuário root, devemos utilizar os comandos su e sudo.