Qual é a diferença entre sudo su vs just su?

1

Vejo muitos posts por aí que dizem que você digita sudo su para obter um prompt interativo com privilégios de root, e vejo igualmente muitos posts debatendo os prós e contras sobre sudo -i vs sudo su .

Aqui estou sentado coçando a cabeça por que as pessoas não escrevem apenas su ... Afinal su é curto para usuário substituto e muda para root por padrão, então é realmente necessário escrever sudo su ?

    
por Electric Coffee 25.08.2015 / 22:20

4 respostas

1

Se você pode usar simplesmente su , você deve.

Mas, nas distribuições Linux (desktop) mais modernas (por exemplo, Ubuntu), o usuário root é desabilitado e não possui senhas definidas. Portanto, você não pode mudar para o usuário root com su (você pode tentar). Você precisa chamar o sudo com privilégios de root: sudo su .

    
por 25.08.2015 / 22:34
1

Ambos os programas são suid root. Não há motivo para digitar sudo su , exceto na situação em que alguém não está familiarizado com as opções -i e -E para sudo, ou de outra forma, no hábito de fazer as coisas como root sem entender por que elas são feitas. Os comandos su passam por alguns vars de ambiente codificados (ou, no Linux recente, podem usar -p para passar pelo ambiente inteiro), enquanto o sudo pode controlar exatamente quais variáveis passam (tente $DISPLAY para um exemplo útil ). O comando su só pode solicitar a senha do usuário de destino (assumindo uma pilha de pam padrão), enquanto o sudo pode ser configurado para autenticar como o usuário de origem ou de destino, ou nenhum, ou sempre raiz - e pode fazê-lo por comando. O comando su redefine $HOME , enquanto o sudo pode decidir com base no conjunto de regras disponível. E esse é mais um processo bifurcado que não precisa existir. Enquanto isso, o sudo registra os comandos que são executados, desde que você não esteja apenas fazendo sudo -i ou iniciando um shell, você pode obter um way melhor trilha de auditoria com o sudo. Quando você executa um comando usando o sudo, ele remove os elementos . e empty em $ PATH e os verifica pela última vez, evitando que as pessoas colem um script de shell chamado "ls" em /tmp e travessuras similares. :)

Basicamente, sudo su é como pregar uma mão atrás das costas de Sudo e não ganhar nada. :)

    
por 26.08.2015 / 03:56
0

Em alguns sistemas, su para raiz não está habilitado para usuários normais, portanto sudo su é necessário.

    
por 25.08.2015 / 22:32
0

sudo su , sudo -i e todos os outros sudo exigem a senha do usuário.

su requer a senha de root.

    
por 25.08.2015 / 23:38

Tags