Kaip paleisti „Shell“ scenarijus naudojant „Sudo“ komandą „Linux“.


sudo yra galingas komandų eilutės įrankis, leidžiantis „leistinam vartotojui“ vykdyti komandą kaip kitam vartotojui (pagal numatytuosius nustatymus supervartotojas), kaip apibrėžta saugos politikoje. Daugumoje, jei ne visose, „Linux“ sistemose saugos politiką valdo failas /etc/sudoers.

Taip pat skaitykite: 10 naudingų „Sudoers“ konfigūracijų, skirtų „sudo“ nustatymui sistemoje „Linux“

Todėl norėdami paleisti apvalkalo scenarijų ar programą kaip root, turite naudoti komandą sudo. Tačiau sudo atpažįsta ir vykdo tik tas komandas, kurios yra kataloguose, nurodytuose /etc/sudoers secure_path, nebent komanda yra secure_path, pašalinsite klaidą, pvz., toliau pateiktą.

Taip atsitiks net jei scenarijus yra aplinkos kintamojo PATH kataloge, nes vartotojui iškvietus sudo, PATH pakeičiamas PATH.saugus_kelis.

echo  $PATH
ls  -l
sudo proconport.sh 80

Pagal aukščiau pateiktą scenarijų katalogas /home/aaronkilik/bin yra aplinkos kintamajame PATH ir mes bandome paleisti scenarijų /home/aaronkilik/bin /proconport.sh (randa proceso klausymąsi prievade) su root teisėmis.

Tada susidūrėme su klaida „sudo: proconport.sh: komanda nerasta“, nes /home/aronkilik/bin nėra sudo secure_path > kaip parodyta kitoje ekrano kopijoje.

Kad tai ištaisytume, sudo secure_path turime pridėti katalogą, kuriame yra mūsų scenarijai, naudodami komandą visudo, redaguodami failą /etc/sudoers taip.

sudo visudo

Dėmesio: šis metodas turi rimtų pasekmių saugai, ypač serveriuose, veikiančiuose internete. Tokiu būdu rizikuojame, kad mūsų sistemos gali patirti įvairių atakų, nes užpuolikas, kuriam pavyksta gauti prieigą prie nesaugaus (be supervartotojo teisių) katalogo, kuris buvo įtrauktas į safe_path, gali paleisti kenkėjišką scenarijų/programą su sudo komanda<..

Saugumo sumetimais peržiūrėkite šį sudo svetainės straipsnį, kuriame paaiškinamas pažeidžiamumas, susijęs su secure_path: https://www.sudo.ws/sudo/alerts/secure_path.html

Pageidautina, kad galėtume pateikti absoliutų scenarijaus kelią paleisdami jį su sudo:

sudo ./proconport.sh 80

Viskas! Galite sekti straipsnių apie sudo komandą sąrašą:

  1. Kaip paleisti „sudo“ komandą neįvedant slaptažodžio sistemoje „Linux“.
  2. Kaip ilgiau išlaikyti „sudo“ slaptažodžio skirtojo laiko sesiją sistemoje „Linux“.
  3. Kaip pataisyti „Vartotojo vardo nėra sudoers faile. Apie šį incidentą bus pranešta “Ubuntu
  4. Leiskite Sudo jus įžeisti, kai įvesite neteisingą slaptažodį

Jei turite klausimų ar minčių apie šį straipsnį, pasidalykite su mumis naudodami toliau pateiktą komentarų formą.