aşağıdaki komutlarla yoğun bir görevi yürütmek arasında sudo üzerinden herhangi bir fark var mı?
- sudo güzel [burada yoğun komut]
- sudo nice [burada yoğun komut]
BTW bu Linux 3.x içindir.
aşağıdaki komutlarla yoğun bir görevi yürütmek arasında sudo üzerinden herhangi bir fark var mı?
BTW bu Linux 3.x içindir.
Yanıtlar:
Bir fark var, çok önemli.
İşlemin önceliğini azaltmak istiyorsanız , sipariş önemli değil. Öte yandan, arttırmak istiyorsanız daha sudo
önce koymalısınız nice
.
Komutu normal bir kullanıcı olarak çalıştırdığınız için (aksi takdirde sudo ile hiç uğraşmazsınız), yalnızca komutunuzun önceliğini düşürebilirsiniz. Ama sudo
önce kullanırsan , istersen artırabilirsin.
Çalıştırırsanız nice sudo
, şifrenizin sorusu da iyi olacaktır, ancak yazarken çok daha fazla zaman harcayacağınız için, bu gerçekten önemli değil.
ThoriumBR'in belirttiği gibi, önceliği düşürüyorsanız, o zaman sıra önemsizdir, ancak önceliği yükseltmek istiyorsanız, o zaman (bunun root olarak yapılması gerektiğinden) kullanmanız gerekir sudo nice
.
Aksi takdirde gerçek bir fark hayal edemiyorum.
'En az ayrıcalık ilkesini' kullanarak, yalnızca gereksinim duyduğunda kök ayrıcalıklarına sahip bir program çalıştırmalı ve daha sonra gerekmediğinde hemen bırakmalısınız.
Öyleyse evet, bir fark var, iyi bir istismar varsa, bir saldırgan iyi bir programla aynı ayrıcalıklarla kod çalıştırabilir.
Ayrıca, sudo ortamınızı sıfırlar, böylece yan etkilerini hafifletebilir
$ echo 'echo $PATH' | sh
/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/jens/.local/bin:/home/jens/bin:/home/jens/.local/bin
$ echo 'echo $PATH' | sudo sh
[sudo] password for jens:
/sbin:/bin:/usr/sbin:/usr/bin
Bu yüzden sudo üzerinden çalıştırdığınız 'nice' komutu aslında farklı bir ikili olabilir.
$ which ash
~/.local/bin/ash
$ sudo which ash
[sudo] password for jens:
which: no ash in (/sbin:/bin:/usr/sbin:/usr/bin)
Geç cevap:
Eğer sudo erişiminiz belirli programlarla sınırlıysa ( foo
ve bar
örneğin), o zaman çalıştırma yetkiniz sudo nice foo
olmayacak, ancak çalışmasına izin verilecektir nice sudo foo
.
nice bash -c 'ps -p $$ -o pid,ni,comm'
, vesudo nice bash -c 'ps -p $$ -o pid,ni,comm'
, venice sudo bash -c 'ps -p $$ -o pid,ni,comm'
. Üçünün de size, ortaya çıkmış kabuğun işlem kimliği ($$) için iyi değerini göstermesi gerekir.