Kuidas käivitada Shelli skripte Sudo käsuga Linuxis


sudo on võimas käsurea tööriist, mis võimaldab\"lubatud kasutajal" käsku käitada teise kasutajana (vaikimisi superkasutajana), nagu on määratletud turbepoliitikas. Enamikus, kui mitte kõigis Linuxi süsteemides, juhib turbepoliitikat fail/etc/sudoers.

Seetõttu peate shelliskripti või programmi juurkasutamiseks käivitama sudo käsu. Kuid sudo tunnistab ja käitab ainult käske, mis eksisteerivad kataloogides, mis on määratud failis/etc/sudoers failis secure_path, välja arvatud juhul, kui secure_path-is on käsk, saate tõrjuda sellise vea nagu allpool.

See juhtub ka siis, kui skript eksisteerib keskkonnamuutuja PATH kataloogis, sest kui kasutaja kutsub sudo, asendatakse PATH väärtusega secure_path.

$ echo  $PATH
$ ls  -l
$ sudo proconport.sh 80

Ülaltoodud stsenaariumi korral asub kataloog/home/aaronkilik/bin keskkonnamuutuvas PATH ja proovime käivitada skripti /home/aaronkilik/bin/proconport.sh (leiab porti kuulamise protsessi) juurõigustega.

Siis tekkis viga\"sudo: proconport.sh: käsku ei leitud", kuna/home/aaronkilik/bin ei ole sudo secure_path-is, nagu on näidatud järgmisel ekraanipildil.

Selle parandamiseks peame lisama kataloogi, mis sisaldab meie skripte sudo secure_path'is, kasutades käsku visudo, redigeerides faili/etc/sudoers järgmiselt.

$ sudo visudo

Tähelepanu: sellel meetodil on tõsiseid tagajärgi turvalisusele, eriti Internetis töötavate serverite puhul. Nii riskime oma süsteemide kokkupuutega mitmesuguste rünnakutega, sest ründaja, kellel õnnestub pääseda turvalisele (teele lisatud) ebaturvalisele (ilma kasutaja kasutajaõigusteta) kataloogile, võib käitada pahatahtlikku skripti/programmi sudo käsuga.

Turvalisuse huvides vaadake järgmist sudo veebisaidi artiklit, mis selgitab turvalise teega seotud haavatavust: https://www.sudo.ws/sudo/alerts/secure_path.html

Eelistatavalt võime sudo käivitamisel anda skripti absoluutse tee:

$ sudo ./proconport.sh 80

See on kõik! Võite jälgida sudo käsu kohta käivate artiklite loendit:

  1. Kuidas käivitada käsk „sudo” Linuxis parooli sisestamata
  2. Kuidas hoida sudo parooli ajalõpu seanssi Linuxis kauem
  3. Kuidas parandada\"kasutajanime pole sudoersi failis. Sellest juhtumist teatatakse" Ubuntu
  4. Las Sudo solvab teid, kui sisestate vale parooli

Kui teil on selle artikli kohta küsimusi või mõtteid, jagage meiega alloleva kommentaarivormi kaudu.