A execução do sudo su e su root faz a mesma coisa?

5

Quais são as diferenças técnicas entre os dois? A única coisa que notei é que

sudo su

requer que você digite sua própria senha (supondo que você não seja root)

Enquanto

su root

requer que você insira a senha do root. No entanto, ambos parecem logar você na conta de usuário root.

    
por user784637 08.12.2011 / 10:03

4 respostas

4

O segundo comando não pode ser executado em uma instalação padrão do Ubuntu, onde a conta root não está habilitada.

Mas supondo que você tenha desbloqueado a conta root dando a ele uma senha, os dois comandos só poderiam diferir no ambiente e no conjunto de variáveis do shell, eu acho. Compare a saída de env nas duas situações e talvez também a saída de set para ver as diferenças.

    
por enzotib 08.12.2011 / 10:10
7

Há uma diferença sutil entre os dois. su root (que pode ser reduzido para apenas su ) executa o comando su como o usuário que o invocou. sudo executa o comando especificado ( su ) como root. Executar su como root é essencialmente um não operacional, embora provavelmente inicie um novo shell. Executar sudo -i é uma maneira mais limpa (na minha opinião) de executar sudo su .

Além disso, como apontado anteriormente, não há senha de root em uma instalação padrão do Ubuntu, portanto, invocar su por si só falhará.

    
por Scott Severance 08.12.2011 / 10:17
3

Outra diferença; o comando sudo usa sua senha e você precisa estar autorizado no arquivo / etc / sudoers. O arquivo sudoers define quais comandos você pode executar usando o sudo. O comando su usa a senha ROOT. que deve ser conhecido.

Dependendo das opções, você pode escolher o ambiente das raízes ou levá-las adiante.

Eu uso "sudo bash" para obter um shell de root. Isso é quase idêntico (talvez seja, não tenho certeza) para "sudo -i". O ambiente é controlado assim "sudo su - other_user" obtém o ambiente para o other_user. Mas "sudo su other_user" leva seu ambiente adiante sob o UID de other_user. Isso significa que seus alias e tal estarão disponíveis.

Além disso, os resultados de auditoria são diferentes nos logs de auditoria ao usar su versus sudo. Mais rastreabilidade com o sudo. Por fim, para su você dá a senha root e tem um problema de manutenção. Se você autorizar pessoas com sudo, basta atualizar o arquivo sudoers para adicionar ou remover pessoas e elas só precisam lembrar sua própria senha. Sudoers também permite que você decida o que os outros podem fazer.

    
por Hey Gary 05.04.2012 / 06:45
0

sudo -i é como você faz isso, pelo menos a partir das 11:00, não tenho certeza sobre antes ou depois de 12.04.

arries seu ambiente para a frente sob o UID de other_user. como dito anteriormente

    
por user209328 30.10.2013 / 01:40