su (Magyar)

Fordítás állapota:
Ez az oldal az angol
Su
című oldal magyar nyelvre lefordított változata. Utolsó fordítás dátuma: 2026.02.06. Amennyiben a lefordítás időpontja óta az angol nyelvű oldalon történtek újabb
módosítások
, akkor Ön segíthet hozzászinkronizálni az angolhoz ezt a magyar nyelvű fordítást.
További oldalak az adott témakörben
Users and groups (Magyar)
sudo (Magyar)
List of applications (Magyar)/Security (Magyar)#Jogosultsági szint megemelése
A
su
(
s
ubstitute
u
ser)
alapvető segédalkalmazás
arra szolgál, hogy átvegye egy másik felhasználó személyazonosságát az operációs rendszerben. Alapértelmezett állapotban a root felhasználó személyazonosságát szokta átvenni.
Tekintse meg a
PAM
című cikket a
su
viselkedésbeállítási lehetőségeinek megismerése érdekében.
Telepítés
A
su
parancs a(z)
util-linux
szoftvercsomag része.
Tipp
A
sudo-rs
szoftvercsomag tartalmazza a
su-rs(1)
parancsot, amely a
su
parancs egy alternatív, memóriabiztonságos implementációja.
Használat
Egy másik felhasználó bejelentkezésének átvétele érdekében a
su
parancsnak adja át annak a felhasználónak a nevét, akivé Ön szeretne válni. Például így:
$ su
felhasználónév
Alapértelmezett viselkedés szerint, amikor Ön normál felhasználóként futtatja a su parancsot, akkor az operációs rendszer bekéri annak a felhasználónak a jelszavát, akivé Ön megpróbál átváltozni. Amikor Ön a
su
parancsot root felhasználóként futtatja, akkor nincs szükség a jelszómegadásra.
Amennyiben Ön nem ad meg felhasználónevet, akkor a
su
parancs a root felhasználót veszi alapértelmezésként, és a jelszóbekéréskor Önnek majd a root felhasználó jelszavát kell, hogy begépelje.
További információkért tekintse meg a
su(1)
man súgóoldalt.
Tippek és trükkök
Login shell
Az
su
parancs alapértelmezett működése az, hogy az aktuális könyvtárban marad, és megőrzi az eredeti felhasználó környezeti változóit (ahelyett, hogy az új felhasználóéihoz váltana át).
Vegye figyelembe a következő fontos, kontrasztos szempontokat:
Időnként előnyös lehet egy rendszergazda számára, hogy egy közönséges felhasználó shell fiókját használja a saját fiókja helyett. Különösen az a helyzet fordulhat elő, hogy a leghatékonyabb módja egy adott felhasználói probléma megoldásának az, ha a rendszergazda bejelentkezik az adott felhasználó fiókjába, annak érdekében, hogy reprodukálja vagy kikutassa a probléma okozóját.
Ugyanakkor sok helyzetben nem kívánatos, sőt akár veszélyes is lehet az, ha a root felhasználó egy közönséges felhasználó shell fiókjából működik, és annak a felhasználónak a környezeti változóit használja a sajátjai helyett. Ha a root felhasználó véletlenül egy közönséges felhasználó shell fiókját használja, akkor telepíthet egy programot vagy más változtatásokat hajthat végre az operációs rendszeren, amelyek nem ugyanazt az eredményt adják, mintha a root fiókból történnének. Például telepíthető egy olyan program, amely lehetőséget adhat a közönséges felhasználónak arra, hogy véletlenül kárt tegyen a rendszerben, vagy véletlenül lehetőséget adhat arra, hogy a közönséges felhasználó jogosulatlan hozzáférést szerezzen bizonyos adatokhoz.
Ezért, tanácsos, hogy az rendszergazda felhasználók, valamint minden más felhasználó, aki jogosult az
su
parancs használatára (és javasolt, hogy nagyon kevés ilyen legyen, ha egyáltalán van), szokják meg, hogy mindig a
-l
/
--login
opcióval futtatják az
su
parancsot. Ennek kettő hatása van:
Átvált az aktuális könyvtárból az új felhasználó saját könyvtárába (például a root felhasználó esetében a
/root
könyvtárba) azáltal, hogy
bejelentkezik
az adott felhasználóként.
Megváltoztatja a környezeti változókat az új felhasználóéra, ahogyan azt az ő előnyben részesített shell beállításai meghatározzák. Ilyenek például a
~/.bashrc
, valamint esetleg más ponttal kezdődő fájlok egy
bash
shell esetében. Vagyis az aktuális könyvtár és környezet úgy változik meg, ahogyan az várható lenne, ha az új felhasználó ténylegesen egy új munkamenetbe jelentkezett volna be (nem pedig egyszerűen átvette volna egy meglévő munkamenetet).
Ezért az rendszergazdáknak általában az alábbi módon kell használniuk az
su
parancsot:
$ su -l
Azonos eredményt érhetünk el a root felhasználónév hozzáadásával:
$ su -l root
Hasonlóképpen, ugyanez megtehető bármely más felhasználó esetében is (például egy archie nevű felhasználónál):
# su -l archie
Annak érdekében, hogy Ön bejelentkezzen egy jelszó nélküli felhasználóba, először root felhasználóként kell bejelentkeznie, majd Önnek a root shell-ből kell belépnie a jelszó nélküli felhasználói fiókba:
$ su -l
# runuser -l archie
Megjegyzés
Amennyiben Ön már rendelkezik privilégiumokkal, akkor nincs szükség az
su
parancs használatára. Ilyen esetekben a
runuser
jobb választás, mivel elkerül egy további
setuid
folyamatot. Részletekért tekintse meg a
su(1)
man súgóleírást.
Tipp
Időnként előfordulhat, hogy a felhasználók az
su
parancsot a bejelentkezési shell elérésére a
su -
formában használják, ahelyett, hogy a
su -l
/
su --login
változatot alkalmaznák. Ez a rövidítés nem javasolt, mivel a
-
opció értelmezési korlátokba ütközhet. Erről részletesebben a
su(1) § DESCRIPTION
man súgóban olvashat.
Érdemes lehet Önnek ehhez egy
alias su="su -l"
aliaszt hozzáadnia a
~/.bashrc
fájlhoz.
A su parancs és a wheel felhasználói csoport
A BSD
su
parancs alapértelmezés szerint csak a
wheel
felhasználói csoport
tagjainak engedi meg, hogy felvegyék a root felhasználó identitását. Ez a viselkedés nem a GNU
su
alapértelmezett működése, de ez a viselkedés utánozható a
PAM
használatával. Meg kell szüntetni a megfelelő sor kommentelését a
/etc/pam.d/su
és a
/etc/pam.d/su-l
fájlokban:
auth required pam_wheel.so use_uid
A nologin felhasználók
Ha egy szóban forgó felhasználónak nincs engedélyezve a bejelentkezés (tehát amikor a shell-je
/bin/false
vagy
/usr/bin/nologin
be van állítva
), akkor Ön nem futtathat parancsokat annak a szóban forgó felhasználónak a nevében azzal, hogy Ön a
su
user
-c
command
parancsot használja.
Ezt a helyzetet Ön megkerülheti azáltal, hogy megadja a használni kívánt shell-t:
# su -s /usr/bin/bash
Ide_a_nologin_felhasználónak_a_felhasználóneve_kerül