Shell-komentosarjojen suorittaminen Sudo-komennolla Linuxissa
sudo on tehokas komentorivityökalu, jonka avulla "sallittu käyttäjä" voi suorittaa komennon toisena käyttäjänä (oletuksena pääkäyttäjänä) suojauskäytännön mukaisesti. Useimmissa ellei kaikissa Linux-järjestelmissä suojauskäytäntöä ohjaa /etc/sudoers-tiedosto.
Lue myös: 10 hyödyllistä Sudoers-asetusta "sudon" asettamiseen Linuxissa
Siksi, jos haluat suorittaa komentosarjan tai ohjelman pääkäyttäjänä, sinun on käytettävä sudo-komentoa. sudo kuitenkin tunnistaa ja suorittaa vain komennot, jotka ovat olemassa hakemistoissa, jotka on määritetty kohdassa /etc/sudoers kohdassa secure_path, ellei komentoa ole secure_path, korjaat alla olevan kaltaisen virheen.
Näin tapahtuu, vaikka skripti olisi hakemistossa PATH-ympäristömuuttujassa, koska kun käyttäjä kutsuu sudo, PATH korvataan merkillä secure_path.
echo $PATH
ls -l
sudo proconport.sh 80
Yllä olevassa skenaariossa hakemisto /home/aaronkilik/bin on PATH-ympäristömuuttujassa ja yritämme suorittaa komentosarjan /home/aaronkilik/bin /proconport.sh (löytää prosessin kuuntelun portista) pääkäyttäjän oikeuksin.
Sitten havaitsimme virheen "sudo: proconport.sh: komentoa ei löydy", koska /home/aronkilik/bin ei ole sudo secure_path > kuten seuraavassa kuvakaappauksessa näkyy.
Korjataksemme tämän lisäämällä skriptimme sisältävä hakemisto sudo secure_path -kenttään käyttämällä visudo-komentoa muokkaamalla tiedostoa /etc/sudoers. seuraavasti.
sudo visudo
Huomio: Tällä menetelmällä on vakavia turvallisuusvaikutuksia erityisesti Internetissä toimivissa palvelimissa. Tällä tavalla altistamme järjestelmämme erilaisille hyökkäyksille, koska hyökkääjä, joka onnistuu pääsemään turvattomaan (ilman pääkäyttäjän oikeuksia) hakemistoon, joka on lisätty kohtaan secure_path, voi suorittaa haitallisen komentosarjan/ohjelman sudo-komennolla<..
Turvallisuussyistä tutustu seuraavaan sudo-verkkosivuston artikkeliin, joka selittää suojatun_polun haavoittuvuuden: https://www.sudo.ws/sudo/alerts/secure_path.html
Mieluummin voimme tarjota skriptin absoluuttisen polun ajaessasi sitä sudo:lla:
sudo ./proconport.sh 80
Se siitä! Voit seurata sudo-komentoa koskevien artikkelien luetteloa:
- Kuinka suorittaa "sudo" -komento syöttämättä salasanaa Linuxissa
- Kuinka pitää "sudo"-salasanan aikakatkaisuistunto pidempään Linuxissa
- Korjaus "Käyttäjänimi ei ole sudoers-tiedostossa. Tästä tapauksesta raportoidaan ” Ubuntussa
- Anna Sudon loukata sinua, kun annat väärän salasanan
Jos sinulla on kysyttävää tai ajatuksia tästä artikkelista, jaa meille alla olevan kommenttilomakkeen kautta.