The sudoeri
manualul are, de asemenea, o secțiune întreagă cum o politică adecvată în /etc/sudoers
fișierul de configurare (sau, desigur, fișierele de politică drop-in incluse) pot oferi limitate protecție împotriva scăpărilor de obuze cu RESTRICT
și NOEXEC
Opțiuni.
Ar putea fi mai generic decât crearea unui script wrapper pentru o anumită utilitate.
restrânge
Evitați să acordați acces utilizatorilor la comenzi care permit utilizatorului să execute comenzi arbitrare. Mulți editori au un mod restricționat în care evadările de shell sunt dezactivate, deși sudoedit este o soluție mai bună pentru rularea editorilor prin sudo. Datorită numărului mare de programe care oferă evadari de shell, restricționarea utilizatorilor la setul de programe care nu le oferă este adesea imposibilă.
și
noexec
Multe sisteme care acceptă biblioteci partajate au capacitatea de a suprascrie funcțiile implicite ale bibliotecii, indicând o variabilă de mediu (de obicei LD_PRELOAD) către o bibliotecă partajată alternativă. Pe astfel de sisteme, sudo noexec
funcționalitatea poate fi utilizată pentru a împiedica un program rulat de sudo să execute orice alte programe. Notă, ... ...
Pentru a permite noexec
pentru o comandă, utilizați NOEXEC
eticheta așa cum este documentat în secțiunea Specificații utilizator de mai sus. Iată din nou acel exemplu:
aaron shanty = NOEXEC: /usr/bin/more, /usr/bin/vi
Acest lucru permite utilizatorului Aaron să ruleze /usr/bin/more
și /usr/bin/vi
cu noexec activat. Acest lucru va împiedica aceste două comenzi să execute alte comenzi (cum ar fi un shell).
Deci in exemplul tau:
john ALL=NOEXEC:NOPASSWD: /usr/bin/apt,/usr/bin/apt-get
ar trebui să fie suficient pentru a permite în continuare utilizatorului Ioan
a alerga apt
și apt-get
cu privilegii ridicate, fără să i se solicite parola și fără a avea capacitatea de a folosi un shell escape sau alt truc depășește limitele autorității sale.
Rețineți că acest lucru poate avea și rezultate nedorite. De exemplu
după instalarea unui nou serviciu, este posibil ca apt să nu poată porni serviciul asociat.