Weboldal keresés

Hogyan válthatok (su) másik felhasználói fiókra jelszó nélkül


Ebben az útmutatóban bemutatjuk, hogyan válthat át másik vagy egy adott felhasználói fiókra jelszó megadása nélkül. Például van egy postgres nevű felhasználói fiókunk (az alapértelmezett PostgreSQL szuperfelhasználói rendszerfiók), minden felhasználót szeretnénk (jellemzően a PostgreSQL adatbázisunk és rendszergazdák) a postgres nevű csoportban, hogy a su paranccsal jelszó megadása nélkül váltson a postgres fiókra.

Alapértelmezés szerint csak a root felhasználó válthat másik felhasználói fiókra jelszó megadása nélkül. Minden más felhasználónak meg kell adnia annak a felhasználói fióknak a jelszavát, amelyre vált (vagy ha a sudo parancsot használja, akkor meg kell adnia a jelszavát), ha nem adja meg a megfelelő jelszót, akkor „A hitelesítés sikertelen” hibaüzenetet kap, amint az a következő képernyőképen látható.

A fenti probléma megoldásához használhatja az alábbi két megoldás bármelyikét.

1. A PAM hitelesítési modul használata

A PAM (Pluggable hitelesítési modulok) a modern Linux operációs rendszerek felhasználói hitelesítésének középpontjában áll. Annak érdekében, hogy egy adott csoport felhasználói jelszó nélkül válthassanak másik felhasználói fiókra, módosíthatjuk az su parancs alapértelmezett PAM-beállításait az /etc/pam.d/suban. fájl.

vim /etc/pam.d/su
OR
sudo vim /etc/pam.d/su

Adja hozzá a következő konfigurációkat az „auth elegendő pam_rootok.so” után, ahogy az a következő képernyőképen látható.

auth       [success=ignore default=1] pam_succeed_if.so user = postgres
auth       sufficient   pam_succeed_if.so use_uid user ingroup postgres

A fenti konfigurációban az első sor ellenőrzi, hogy a célfelhasználó postgres-e, ha igen, akkor a szolgáltatás az aktuális felhasználót ellenőrzi, ellenkező esetben a default=1 sor kimarad. és a normál hitelesítési lépések végrehajtásra kerülnek.

auth       [success=ignore default=1] pam_succeed_if.so user = postgres

A következő sor ellenőrzi, hogy az aktuális felhasználó a postgres csoportban van-e, ha igen, akkor a hitelesítési folyamat sikeresnek minősül, és ennek eredményeként elégséges értéket ad vissza. Ellenkező esetben a normál hitelesítési lépések végrehajtásra kerülnek.

auth       sufficient   pam_succeed_if.so use_uid user ingroup postgres

Mentse el a fájlt és zárja be.

Ezután adja hozzá azt a felhasználót (például aaronk), akit su szeretne, a postgres fiókhoz jelszó nélkül a postgres csoportba. usermod paranccsal.

$sudo usermod -aG postgres aaronk

Most próbáljon meg su bejelentkezni a postgres fiókba aaronk felhasználóként, nem szabad jelszót kérnie, ahogy az a következő képernyőképen látható:

su - postgres

2. A Sudoers fájl használata

A sudoers fájl módosításával jelszó kérése nélkül is su-t küldhet egy másik felhasználónak. Ebben az esetben a felhasználónak (például aaronk), aki másik felhasználói fiókra vált (például postgres), a sudoers fájlban vagy a sudo csoportban kell lennie. képes meghívni a sudo parancsot.

sudo visudo

Ezután adja hozzá a következő konfigurációt a „%sudo ALL=(ALL:ALL) ALL ” sor alá, ahogy az a következő képernyőképen látható.

aaronk ALL=NOPASSWD: /bin/su – postgres

Mentse és zárja be a fájlt.

Most próbáljon meg su a postgres fiókhoz aaronk felhasználóként, a shell nem kérheti jelszó megadását:

sudo su - postgres

Ez minden most! További információkért tekintse meg a PAM kézi beviteli oldalát (man pam.conf), valamint a sudo parancs oldalát (man sudo).

man pam.conf
man sudo