existe alguma diferença entre executar uma tarefa intensiva sobre o sudo com os seguintes comandos ?:
- nice sudo [comando intensivo aqui]
- sudo nice [comando intensivo aqui]
BTW, isto é para Linux 3.x.
linux
root
process-priority
Nicolas Laplante
fonte
fonte
nice bash -c 'ps -p $$ -o pid,ni,comm'
, veja , esudo nice bash -c 'ps -p $$ -o pid,ni,comm'
, enice sudo bash -c 'ps -p $$ -o pid,ni,comm'
. Todos os três devem mostrar o bom valor para a identificação do processo ($$) do shell gerado.Respostas:
Há uma diferença, crucial.
Se você deseja diminuir a prioridade do processo, o pedido não importa. Por outro lado, se você quiser aumentá- lo, você deve colocar
sudo
antesnice
.Como você está executando o comando como um usuário normal (caso contrário, você não se incomodaria com o sudo), você só pode diminuir a prioridade do seu comando. Mas se você usar
sudo
primeiro, poderá aumentá-lo, se quiser.fonte
Se você executar
nice sudo
, o prompt da sua senha também será necessário, mas como você passará muito mais tempo digitando-a, isso realmente não importa muito.Como o ThoriumBR observou, se você está diminuindo a prioridade, a ordem é irrelevante, mas se você deseja aumentar a prioridade, deve usar (já que isso deve ser feito como raiz)
sudo nice
.Caso contrário, não consigo imaginar nenhuma diferença real.
fonte
Usando o 'princípio do menor privilégio', você só deve executar um programa com privilégios de root se precisar deles e soltá-los novamente assim que não precisar mais deles.
Portanto, sim, há uma diferença: se houver uma exploração por bom, um invasor poderá executar código com os mesmos privilégios que o bom programa.
Além disso, o sudo redefine seu ambiente, para que possa ter efeitos colaterais, tente
Portanto, o comando 'nice' executado através do sudo pode acabar sendo um binário diferente.
fonte
Resposta atrasada:
Se o seu acesso ao sudo estiver limitado a determinados programas (
foo
ebar
, por exemplo), você não terá autoridade para executarsudo nice foo
, mas poderá executarnice sudo foo
.fonte