O Linux possui vários comandos e maneiras de obter privilégios de root. Cada comando e função funciona e invoca de maneira diferente. Cada comando do Linux é distribuído de uma maneira particular, usando a configuração definida por padrão. Os dois comandos comumente usados para ter permissão de root no Linux são Su e Sudo.
Su vs Sudo
A principal diferença entre Su e Sudo é que o comando Su pode ser intercambiado entre o superusuário e o usuário root se executado sem opções adicionais anteriores, enquanto o comando Sudo fornece privilégios de root únicos. Su exige a senha da conta root, enquanto Sudo exige a senha da conta de usuário atual.
Su significa usuário substituto. É uma forma tradicional de obter permissão de root no Linux. Foi lançado em 1971. A sintaxe principal do comando é: su [user_name] ou su- [user_name]. Sem o uso de argumento, ele pode mudar para uma conta de superusuário do root. Ele invoca o shell do usuário enquanto trabalha.
Enquanto Sudo significa usuário substituto, faça. É usado para obter permissão em tarefas administrativas e executáveis. A sintaxe principal do comando é sudo [comando]. Ele tem a limitação de ser usado por usuários do grupo sudoers. Ele tem o potencial de inibir alterações indesejadas em todo o sistema.
Tabela de comparação entre Su e Sudo
Parâmetros de comparação | Su | Sudo |
Modelo | Comando | Autorização de privilégio |
Sistema operacional | Unix e semelhante ao Unix | Tipo Unix |
Função | Para buscar permissão de root mudando para superusuário ou usuário root | Para buscar permissão de root por meio de um único comando |
Autor | Dennis Ritchie e Ken Thompson | Robert Coggeshall e Cliff Spencer |
Desenvolvedor | AT&T Bell Laboratories | Todd C. Miller |
O que é Su?
Su é um comando Unix. A forma completa de Su é "usuário substituto". Inicialmente era uma parte da Versão 1 do Unix. Foi desenvolvido por Dennis Ritchie e Ken Thompson. Foi lançado pela AT&T Laboratories em 3 de novembro de 1971.
O trabalho do comando su é executar comandos e fornecer o privilégio de outra conta do usuário. Na execução, o comando su invoca um shell e não altera o diretório de trabalho atual ou o ambiente do usuário.
Se o comando for usado sem especificar inicialmente o novo id do usuário que serviria como argumento da linha de comando, o comando su usaria a conta de superusuário do sistema como configuração padrão. Isso implicaria que, como ID de usuário 0. Quando o comando está em execução, su pediria ao usuário a senha de seu usuário de destino.
Após a autenticação, o operador concederá acesso à conta. Ele até concederia permissão para os arquivos e diretórios da conta. O uso de hífen (exemplo su-), é usado para iniciar um shell de login. Este modo permite que os usuários assumam amplamente o ambiente do usuário-alvo.
O que é Sudo?
Sudo é um tipo de programa no sistema operacional do tipo Unix. A forma completa do sudo é ‘substitute user do’. Na configuração padrão, permite superusuário. Foi desenvolvido por Robert Coggeshall e Cliff Spencer. Foi lançado por Todd C. Miller em 1980, mas foi lançado oficialmente em 27 de julho de 2021.
O trabalho do comando Sudo é permitir que os usuários executem programas e fornecer privilégios de segurança para outro usuário. A licença é do estilo ISC. É amplamente utilizado na linguagem C. A única limitação do comando Sudo é que ele pode ser executado por usuários do grupo sudoer. Mas adicionar um novo usuário ao grupo sudoer também é fácil.
Sudo também é usado para tarefas administrativas. Sudo autentica pedindo a senha do usuário e não do usuário de destino. Após a autenticação, ele permite o acesso e invoca um comando solicitado. O arquivo de configuração desempenha um papel vital na permissão de acesso, habilitação de comandos ou durante a entrada ou reinserção de senhas.
Sudo é um comando único e é executado com privilégios de root. Ao contrário do su, ele não muda para uma conta de usuário root ou pede as credenciais do usuário root, como uma senha. A vantagem de usar o Sudo é que os usuários precisam fornecer e lembrar apenas uma senha. Isso também fornece segurança potencial e alterações e modificações indesejadas em toda a segurança podem ser controladas.
Principais diferenças entre Su e Sudo
Conclusão
No Linux, esses são os dois comandos principais para obter privilégios e permissão de root. O usuário atual pode obter acesso fornecendo as credenciais corretas. A raiz é o nome real dado à conta do administrador. Os usuários root têm o poder de remover, alterar, alterar, montar e desmontar sistemas de arquivos.
O Linux fornece alternância entre superusuário e usuário root por meio do comando su e acesso a um único comando por meio de sudo. No su, os usuários podem assumir a identidade de outro usuário sem alterar o login ou as credenciais, enquanto no sudo, o usuário não precisa alterar a identidade. Su pode ser implementado de duas maneiras: su e su-. Su mantém o ambiente original enquanto su- cria um novo ambiente para o usuário root.
O Su está constantemente alternando entre o usuário root e o superusuário, enquanto o sudo não inclui esse tipo de intercâmbio. Além disso, su no usuário root pode expor todas as informações do sistema e apresenta o risco de modificação, enquanto o Sudo concede permissão privilegiada apenas para o comando específico exigido e, portanto, é mais seguro de usar.