Por que o comando 'su' não funciona no Ubuntu, mas funciona em outras distribuições do Linux? [duplicado]

10

Quando digito o comando su em um terminal, obtenho

 su: Authentication failure

Por que isso não funciona no Ubuntu? Eu tentei esse comando em outra distribuição Linux (Parrot OS) e funciona.

    
por giga 16.09.2016 / 21:41

5 respostas

20

Como no Ubuntu, por padrão, o root não possui senha.

Sem argumentos, su significa "mudar usuário para root" e para isso você precisa digitar a senha do root, não a sua. A menos que você forneça uma senha ao root, ela não tem uma senha, portanto, você não pode fazer login como raiz.

Veja alguns detalhes:

  

No mundo Unix, sempre houve uma divisão maior entre   usuários regulares e administradores, devido à herança de usuários múltiplos   Unix A abordagem adotada no Unix é conceder privilégios de superusuário apenas   quando necessário. Para fazer isso, os comandos su e sudo são comumente usados.

     

Até alguns anos atrás, a maioria das distribuições Linux dependia de su para   este propósito. su não exigiu a configuração que sudo   necessário, e ter uma conta root é tradicional no Unix. este   introduziu um problema. Os usuários ficaram tentados a operar como root   desnecessariamente. De fato, alguns usuários operavam seus sistemas como a raiz   usuário exclusivamente, pois elimina todos aqueles irritantes   Mensagens "permissão negada". É assim que você reduz a segurança de   um sistema Linux para o sistema Windows. Não é uma boa ideia.

     

Quando o Ubuntu foi apresentado, seus criadores adotaram uma abordagem diferente. Por padrão,   O Ubuntu desabilita logins para a conta root (ao falhar em definir um   senha para a conta) e, em vez disso, usa sudo para conceder superusuário   privilégios. A conta de usuário inicial é concedida acesso total a   privilégios de superusuário via sudo e pode conceder poderes similares aos   contas de usuário subsequentes.

~ A linha de comando do Linux

Você pode usar su para trocar de usuário, se souber a senha do usuário para mudar para, por exemplo, eu posso su pixie fazer login como meu usuário de backup.

Normalmente, você deve usar sudo e sua própria senha para autenticar, ou para iniciar um shell de root, use sudo -i

    
por Zanna 16.09.2016 / 21:55
10

Isso ocorre porque, nas outras distribuições, quando instaladas, geralmente solicitam que você defina uma senha root , bem como uma senha de conta de usuário. O Ubuntu não pede a senha root durante a configuração, somente uma senha de conta de usuário que terá sudo de acesso deixando a conta root desabilitada no Ubuntu. Se você deseja ativar isso, defina uma senha para a conta root que ativará a conta root permitindo que o comando su funcione.

sudo passwd root

Espero que isso ajude!

    
por Terrance 16.09.2016 / 21:55
4

Por padrão, su não possui senha. Quando você executa esse comando, está tentando efetuar login na conta root oculta em sua máquina. Suponho que o Parrot OS use a conta root ou defina sua senha para a sua, porque senão não funcionaria.

Se você quiser usar su , poderá executar sudo passwd root e definir a senha que deseja usar para efetuar login com su . Isso também permitirá que o usuário root seja um usuário de conta completa, por isso não recomendo.

Em vez disso, quando você precisar de privilégios de root persistentes nesse shell, use sudo su . Isso permitirá que você se torne root usando sua própria conta e senha. sudo -i terá o mesmo efeito (e as pessoas recomendarão que você use isso).

    
por TheWanderer 16.09.2016 / 21:59
2

Resumidamente

Conta-raiz está desabilitada por padrão no Ubuntu, portanto, não tem senha definida, por isso causa essa falha de autenticação

Para se tornar root no Ubuntu, você pode usar isso

sudo -i
    
por jiipeezz 16.09.2016 / 21:55
1

O su (autenticação de superusuário) não está configurado para segurança e administração segura. Quando você instala o Ubuntu você recebe todo o acesso de administração com sudo como 'usuário de usuário' [1000]. O privilégio 'root' com sudo . Os 'usuários convidados' [1001,1002,1003 etc] não poderão fazer autenticação de super usuário com sudo . Admin [usuário com privilégio 'root'] precisa adicionar outro 'guest user' para 'group' para privilégios de superusuário.

Você pode fazer todo o comando su authentication com sudo no Ubuntu.

Para outras distribuições Linux, o sistema lê 'usuário root' como [500] e 'primeiro usuário' como [501].

A

su authentication permite que você modifique e exclua qualquer arquivo ou pasta como usuário root.

Você pode fazer login como superusuário por

sudo -i

No entanto, não é recomendado.

    
por Rohit Tak 16.09.2016 / 22:30