Încerc să înțeleg următoarea diferență pe care am observat-o când rulez comenzi folosind sudo și su. L-am simplificat la cea mai simplă formă.
Luați în considerare următoarele două comenzi:
su - myuser -c "sleep 600s &"
sudo -u myuser sleep 600s &
Când se consideră cu ps axu | grep sudo
, comanda su generează un proces numai pentru utilizatorul meu. Între timp, comanda sudo generează două procese: unul ca rădăcină cu comandă sudo -u myuser sleep 600s &
și unul ca utilizatorul meu cu comandă dormi 60 ani
Acest lucru se întâmplă după ce rulați altă comandă în perioada de grație sudo de 5-15 minute, când parola nu este necesară din nou. (În caz contrar, locul de muncă ar fi suspendat imediat - aceasta este doar pentru a spune că nu este situația cu locurile de muncă suspendate.)
Deci intrebarile mele sunt:
- Pot face ca sudo să revină imediat („se comportă” ca su), astfel încât niciun proces suplimentar ca root să rămână în continuare și să consume puțin memorie (oricât de mică ar fi această cantitate)? Sau este prin proiectare și primul proces din contul root trebuie să rămână acolo până când există comanda reală care se execută?
- Apelarea lui su în acest fel este similară cu apelarea sudo cu opțiunile -l/-s/-i?
Mulțumesc.
krzysztof@Alan: ~$ ⶠuname -a
Linux Alan.local 5.4.0-86-generic #97-Ubuntu SMP Vin 17 septembrie 19:19:40 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
krzysztof@Alan: ~$ ⶠlsb_release -a
Nu sunt disponibile module LSB.
ID distribuitor: Ubuntu
Descriere: Ubuntu 20.04.3 LTS
Lansare: 20.04
Nume de cod: focal