Doriți să vă asigurați că utilizatorul dvs. nu poate face modificări la ceea ce este permis să ruleze. De exemplu, încercând să adăugați un script deținut de utilizatorul dvs. (~/.bash_aliases/shutdown2h) pentru a fi rulat ca root prin sudo fără o parolă, ați permite rularea oricărei comenzi arbitrare. Pur și simplu editați acel fișier și rulați-l. Ar fi același lucru cu a permite utilizatorului să ruleze orice comandă prin sudoeri. De exemplu, utilizatorul ar edita fișierul pentru a le citi acum în loc de -h +120 și opriți imediat mașina.
În schimb, ar fi o idee mai bună să adăugați un script deținut de utilizatorul root la sistem, probabil în /usr/local/bin/. De exemplu, /usr/local/bin/shutdown2h, executabil de oricine, dar inscriptibil doar de root. În acest fel, vă asigurați că utilizatorul poate rula doar scriptul specific și acel script nu poate fi schimbat de către ei pentru a rula altceva. Calea în care plasați scriptul ar trebui să fie în dvs $PATH, care /usr/local/bin ar trebui să fie în mod implicit.
- Creați scenariul
sudo vim /usr/local/bin/shutdown2h
#!/bin/bash
oprire -h +120
- Permite executarea scriptului
sudo chmod +x /usr/local/bin/shutdown2h
- Permiteți utilizatorului să ruleze un anumit script
sudo visudo
# Adăugați această intrare
USER ALL=(ALL) NOPASSWD: /usr/local/bin/shutdown2h
Acum, utilizatorul poate rula sudo shutdown2h fără să vi se ceară o parolă și asigurați-vă că acel utilizator va putea doar rula oprire -h +120 fără parolă.
De asemenea, la realizarea sudoeri intrări, asigurați-vă că furnizați calea completă către executabil/script și nu utilizați comenzi rapide precum ~/ sau $HOME.