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
.