Weboldal keresés

Shell-szkriptek futtatása a Sudo paranccsal Linuxon


A sudo egy hatékony parancssori eszköz, amely lehetővé teszi az „engedélyezett felhasználónak” parancs futtatását másik felhasználóként (alapértelmezés szerint szuperfelhasználóként), a biztonsági házirendben meghatározottak szerint. A legtöbb, ha nem az összes Linux rendszeren a biztonsági házirendet az /etc/sudoers fájl vezérli.

Olvassa el még: 10 hasznos Sudoers konfiguráció a „sudo” beállításához Linuxon

Ezért egy shell szkript vagy program rootként való futtatásához a sudo parancsot kell használnia. A sudo azonban csak azokat a parancsokat ismeri fel és futtatja, amelyek a /etc/sudoers fájl secure_path paraméterében megadott könyvtárakban léteznek, hacsak nincs parancs a következőben. a secure_path, akkor az alábbihoz hasonló hibát ellensúlyozza.

Ez akkor is megtörténik, ha a szkript létezik egy könyvtárban a PATH környezeti változóban, mivel amikor a felhasználó meghívja a sudo-t, a PATH helyére a PATH lép.secure_path.

echo  $PATH
ls  -l
sudo proconport.sh 80

A fenti forgatókönyvben a /home/aaronkilik/bin könyvtár a PATH környezeti változóban található, és a /home/aaronkilik/bin szkriptet próbáljuk futtatni. /proconport.sh (megkeresi a folyamatfigyelést egy porton) root jogosultságokkal.

Ezután a „sudo: proconport.sh: parancs nem található” hibával találkoztunk, mivel a /home/aaronkilik/bin nem található a sudo secure_pathban. > a következő képernyőképen látható módon.

Ennek kijavításához hozzá kell adnunk a szkriptjeinket tartalmazó könyvtárat a sudo secure_path-hoz a visudo paranccsal az /etc/sudoers fájl szerkesztésével. alábbiak szerint.

sudo visudo

Figyelem: Ennek a módszernek komoly biztonsági következményei vannak, különösen az interneten futó szervereken. Ily módon azt kockáztatjuk, hogy rendszereinket különféle támadásoknak tesszük ki, mert egy támadó, akinek sikerül hozzáférnie egy nem biztonságos (szuperfelhasználói jogosultságok nélkül) könyvtárhoz, amely a biztonságos_útvonalhoz lett hozzáadva, rosszindulatú szkriptet/programot futtathat a sudo paranccsal<..

Biztonsági okokból nézze meg a sudo webhely következő cikkét, amely a biztonságos_útvonalhoz kapcsolódó biztonsági rést ismerteti: https://www.sudo.ws/sudo/alerts/secure_path.html

Lehetőleg megadhatjuk a szkript abszolút elérési útját, miközben futtatjuk a sudo segítségével:

sudo ./proconport.sh 80

Ez az! Követheti a sudo parancsról szóló cikkek listáját:

  1. A „sudo” parancs futtatása jelszó megadása nélkül Linux alatt
  2. Hogyan lehet tovább tartani a „sudo” jelszó időtúllépési munkamenetét Linuxon
  3. Javítás: „A felhasználónév nincs a sudoers fájlban. Ezt az esetet jelenteni fogják az Ubuntuban
  4. Hagyja, hogy a Sudo megsértse Önt, ha helytelen jelszót ad meg

Ha bármilyen kérdése vagy gondolata van ezzel a cikkel kapcsolatban, ossza meg velünk az alábbi megjegyzés űrlapon keresztül.