y a-t-il une différence entre exécuter une tâche intensive sur sudo avec les commandes suivantes?
- beau sudo [commande intensive ici]
- sudo nice [commande intensive ici]
BTW c'est pour Linux 3.x.
linux
root
process-priority
Nicolas Laplante
la source
la source
nice bash -c 'ps -p $$ -o pid,ni,comm'
, etsudo nice bash -c 'ps -p $$ -o pid,ni,comm'
, etnice sudo bash -c 'ps -p $$ -o pid,ni,comm'
. Tous les trois devraient vous montrer la valeur intéressante de l'ID de processus ($$) du shell engendré.Réponses:
Il y a une différence, une cruciale.
Si vous souhaitez diminuer la priorité du processus, l'ordre n'a pas d'importance. Par contre, si vous voulez l' augmenter , vous devez le mettre
sudo
avantnice
.Puisque vous exécutez la commande en tant qu'utilisateur normal (sinon, vous ne vous occuperiez pas du tout de sudo), vous ne pouvez que réduire la priorité de votre commande. Mais si vous utilisez en
sudo
premier, vous pouvez l'augmenter si vous le souhaitez.la source
Si vous exécutez,
nice sudo
l'invite pour votre mot de passe sera également utile, mais comme vous passerez beaucoup plus de temps à le saisir, cela n'a pas beaucoup d'importance.Comme ThoriumBR l'a noté, si vous réduisez la priorité, l'ordre est sans importance, mais si vous souhaitez augmenter la priorité, vous devez utiliser (puisque cela doit être effectué en tant que root)
sudo nice
.Sinon, je ne peux pas imaginer de réelle différence.
la source
En utilisant le "principe de moindre privilège", vous ne devriez exécuter un programme avec les privilèges root que s'il en avait besoin, puis les supprimer à nouveau dès que vous n'en avez plus besoin.
Alors oui, il y a une différence: s'il y a un exploit pour nice, un attaquant pourrait exécuter du code avec les mêmes privilèges que le programme nice.
En outre, sudo réinitialise votre environnement afin d’éviter les effets secondaires, essayez
Ainsi, la commande "sympa" que vous exécutez via sudo pourrait en réalité être un autre binaire.
la source
Réponse tardive:
Si votre accès sudo est limité à certains programmes (
foo
etbar
, par exemple), vous ne serez pas autorisé à l'exécutersudo nice foo
, mais vous serez autorisé à l'exécuternice sudo foo
.la source