Por que alguns comandos exigem su em vez de apenas sudo?

Por que alguns comandos exigem su em vez de apenas sudo?

Achei que executar um comando sudoera idêntico a fazer login como usuário root e executar o comando. No entanto, encontrei alguns comandos que não funcionam, sudomas funcionam para su.

Por exemplo,

sudo > mail.log
bash: mail.log: Permission denied

mas na verdade digitar sue executar o mesmo comando funciona.

Por que é isso?

Responder1

Veja o que você está fazendo com este comando.

sudo > mail.log

>na linha de comando antes de redirecionar o stdout, tente truncar mail.logo arquivo. Esta operação é executada por um usuário normal (antes do sudoinício do seu sem argumentos). Provavelmente um usuário comum não possui acesso de gravação ao mail.logarquivo.

Tudo funciona como deveria.

Se você precisar do sudo para executar o comando e gravá-lo em um tipo de arquivo, use o seguinte comando:

sudo "some_command with operands > mail.log"

informação relacionada