czy jest jakaś różnica między uruchomieniem intensywnego zadania nad sudo za pomocą następujących poleceń ?:
- ładne sudo [intensywne polecenie tutaj]
- sudo nice [intensywne polecenie tutaj]
BTW to jest dla Linuksa 3.x.
linux
root
process-priority
Nicolas Laplante
źródło
źródło
nice bash -c 'ps -p $$ -o pid,ni,comm'
, isudo nice bash -c 'ps -p $$ -o pid,ni,comm'
, inice sudo bash -c 'ps -p $$ -o pid,ni,comm'
. Wszystkie trzy powinny pokazać ci dobrą wartość dla id procesu ($$) spawnowanej powłoki.Odpowiedzi:
Jest różnica, kluczowa.
Jeśli chcesz zmniejszyć priorytet procesu, kolejność nie ma znaczenia. Z drugiej strony, jeśli chcesz go zwiększyć , musisz
sudo
wcześniejnice
.Ponieważ uruchamiasz tę komendę jako zwykły użytkownik (w przeciwnym razie sudo w ogóle nie zawracałby sobie głowy), możesz jedynie zmniejszyć priorytet swojej komendy. Ale jeśli użyjesz
sudo
pierwszego, możesz go zwiększyć, jeśli chcesz.źródło
Jeśli uruchomisz,
nice sudo
monit o podanie hasła również zostanie poprawiony, ale ponieważ poświęcisz znacznie więcej czasu na jego wpisywanie, to naprawdę nie ma większego znaczenia.Jak zauważył ThoriumBR, jeśli obniżasz priorytet, kolejność jest nieistotna, ale jeśli chcesz podnieść priorytet, musisz (ponieważ należy to zrobić jako root), musisz użyć
sudo nice
.W przeciwnym razie nie wyobrażam sobie żadnej prawdziwej różnicy.
źródło
Korzystając z „zasady najmniejszych uprawnień” , powinieneś uruchamiać program z uprawnieniami roota tylko wtedy, gdy ich potrzebuje, a następnie upuść je ponownie, gdy tylko ich nie będziesz już potrzebować.
Tak, istnieje różnica, jeśli istnieje exploit dla Nicei, atakujący mógłby uruchomić kod z tymi samymi uprawnieniami, co miły program.
Ponadto sudo resetuje środowisko, więc może to powodować skutki uboczne, spróbuj
Zatem polecenie „ładne” uruchamiane przez sudo może w rzeczywistości być innym plikiem binarnym.
źródło
Spóźniona odpowiedź:
Jeśli twój dostęp do sudo jest ograniczony do niektórych programów (
foo
ibar
na przykład), nie będziesz mieć uprawnień do uruchamianiasudo nice foo
, ale będziesz mógł uruchomićnice sudo foo
.źródło