Linux kezdőknek - érdemes beleolvasni, mielőtt kérdezel
Gyorskeresés
Legfrissebb anyagok
Általános témák
LOGOUT.hu témák
- [Re:] Elektromos rásegítésű kerékpárok
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [sziku69:] Fűzzük össze a szavakat :)
- [Re:] [Luck Dragon:] MárkaLánc
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] Viber: ingyen telefonálás a mobilodon
- [Re:] [ubyegon2:] Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- [Re:] Űrhajózás 2023 - Összefoglaló írás
- [Re:] [Mr Dini:] Mindent a StreamSharkról!
- [Re:] [kraftxld:] Diáklaptop - Dell Latitude 3140 - Királyunk ajándéka
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
Téma összefoglaló
Hozzászólások
kovaax
őstag
Szerk.: Ez marhára nem kezdő topikos hozzászólás, de mindegy...
Alapvetően az a baj, hogy az Ubuntuban "nem jól, nem szabályosan" használják a sudo-t.
A sudo arra van kitalálva, hogy az egyik júzer tudjon meghatározott dolgokat futtatni más júzer nevében, mégpedig úgy, hogy csakis és kizárólag az engedélyezett dolgokat tudja futtatni.
Vegyünk egy életszerű példát:
Van egy cég, ahol a hivatalos fájltranszfer mq-val van megoldva. Van egy alkalmazás, ami szerver oldalon egy orákli adatbázis, kliens oldalon meg valami vastag kliens van. Ha az alkalmazás valami adatot akar elküldeni más szervernek (alkalmazásnak), akkor az adatot az orákli júzer hozza létre a szerveren, de az mq júzer akarja küldeni. Ebben az esetben az orákli előállítja mondjuk egy fájlba a szükséges adatokat, majd meghív egy scriptet, amiben a fájlokat még lehet mondjuk összecsomagolni, tömörgetni, majd sudo-val berakja a kjúba.
Így fog kinézni a sudoers:
oracle ALL=(mq) NOPASSWD: /valahol/mq/parancsamiküld
És ez lesz az orákli scriptjében:
#!/bin/sh
#összecsomagolom az adatot
gzip -9 $1
#elküldöm az adatot
sudo -u mq /valahol/mq/parancsamiküld $1.gz
Ebben az esetben a orákli júzer csak és kizárólag ezt az egyetlen parancsot tudja indítani az mq júzer nevében, és a jelszavát sem kell hozzá ismernie (persze ismerheti, de mivel egy script fog futni a háttérben, nem tudjuk neki bepötyögni).
A su viszont arra való, hogy átváltsunk egy másik userre, de ahhoz kell ismernünk az adott júzer jelszavát (ha nem vagyunk root-ok, természetesen). Ha én a fenti konfigurációban én vagyok az orákli, de nem ismerem a root jelszavát, viszont az mq-ét igen, és van valami gebasz az mq-val, akkor bejelentkezek orákliként, átmegyek mq-ba, és úgy fogom elvégezni a feladatot:
$ id
uid=174(oracle) gid=40()
su - mq
Password:
$ id
uid=154(mq) gid=55()
$ cd /valahol/mq/log
$ more parancsamiküld.log
$ stb.
$ exit
$ id
uid=174(oracle) gid=40()
[ Szerkesztve ]
-=- There's no place like /home -=-
Téma tudnivalók
A topik célja: Segítségnyújtás a Linux disztribúciókkal még csak ismerkedők számára. A szerveres kérdések nem ebbe a topicba tartoznak.
Kérdés előtt olvasd el a topik összefoglalóját!
Haladó Linuxos kérdések topikja.
Linux felhasználók OFF topikja
Milyen program ami... [link]
Shell script kérdésekkel látogassatok el a topikjába