Sudo (Magyar) - ArchWiki

Jump to content

# Sudo (Magyar)

From ArchWiki
Fordítás állapota: Ez az oldal az angol Sudo című oldal magyar nyelvre lefordított változata. Utolsó fordítás dátuma: 2026.04.12. 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

- doas (Magyar)
- run0 (Magyar)
- su (Magyar)
- Users and groups (Magyar)
- Privilege elevation for graphical applications (Magyar)

A sudo lehetővé teszi a rendszergazda számára, hogy hatáskört delegáljon (rendszergazdai hatáskört adjon) bizonyos felhasználóknak – vagy felhasználói csoportoknak – annak érdekében, hogy parancsokat futtassanak root felhasználóként vagy másik felhasználóként, miközben naplózást biztosít a parancsokról és azok argumentumairól.

A sudo alternatívát kínál a su parancshoz a root jogosultságú parancsok futtatására. Ellentétben a su paranccsal, amely egy root shellt indít el, és ezáltal minden további parancs root hozzáférést kap, a sudo csak egyetlen parancs erejéig biztosít ideiglenes jogosultságmegnövelést. Mivel a root jogosultságok csak szükség esetén kerülnek engedélyezésre, a sudo használata csökkenti annak esélyét, hogy egy elgépelés vagy egy hibásan meghívott parancs tönkretegye az operációs rendszert.

A sudo más felhasználók nevében történő parancsfuttatásra is használható. Emellett a sudo minden parancsot és sikertelen hozzáférési kísérletet naplóz a journal rendszerbe biztonsági ellenőrzés céljából.

## Telepítés

Annak érdekében, hogy a számítógépen fent legyen a sudo parancs, Önnek fel kell telepítenie a számítógépre a sudo szoftvercsomagot.

Tipp A sudo-rs szoftvercsomag a sudo parancs egy alternatív, memóriabiztonságos implementációja (amely néhány korlátozással rendelkezik).

## Használat

Annak érdekében, hogy a `sudo` parancsot nem privilegizált felhasználóként használhassuk, azt megfelelőképpen be kell állítani. Tekintse meg a #Beállítás című szakaszt.

A sudo parancsot úgy kell használni, hogy az adott parancsunk legelejére odaírjuk a `sudo` szöveget és egy szóközt írunk utána, majd jöhet az adott parancsunk (és utána jöhetnek az adott parancsunkhoz tartozó paraméterek, ha vannak ilyenek):

    $ sudo cmd

A pacman szoftvercsomag-kezelőt a sudo paranccsal együtt a következőképpen kell írni:

    $ sudo pacman -Syu

További információkért tekintse meg a sudo(8) parancs man súgóoldalát.

### Login shell

Minden parancsot nem lehet másik felhasználó nevében futtatni pusztán a sudo előtag hozzáadásával. Különösen átirányítás és parancshelyettesítés használatakor bejelentkezési shell-t kell használni, amely könnyen elérhető a `sudo -iu user` paranccsal (az `-u user` elhagyható, ha a kívánt felhasználó a root).

A következő példában a parancshelyettesítés teljes shell-ben működne, de a sudo előtag hozzáadásával meghiúsul:

    $ sudo wpa_supplicant -B -i interface -c <(wpa_passphrase MYSSID passphrase)

    Successfully initialized wpa_supplicant
    Failed to open config file '/dev/fd/63', error: No such file or directory
    Failed to read or parse configuration '/dev/fd/63'

## Beállítás

A sudo fő beállításfájlja a `/etc/sudoers`. Ezt a beállításfájlt mindig a visudo(8) paranccsal kell szerkeszteni. A beállításfájl használható aliasok (gyakorlatilag változók) beállítására, alapértelmezett viselkedések megváltoztatására és annak meghatározására, hogy mely felhasználók milyen parancsokat futtathatnak. További információért tekintse meg a sudoers(5) man súgóoldalt.

A sudo feldolgozza a `/etc/sudoers.d/` könyvtárban található fájlokat is. Ez azt jelenti, hogy a `/etc/sudoers` fájl szerkesztése helyett a sudo a beállításokat különálló fájlokban módosíthatja, majd elhelyezheti azokat ebben a könyvtárban. Ennek kettő előnye van:

- Nincs szükség a `sudoers.pacnew` fájl összevonására.
- Ha probléma van egy új bejegyzéssel, akkor Ön eltávolíthatja a hibás fájlt ahelyett, hogy a `/etc/sudoers` fájlt szerkesztené. (Azonban, tekintse meg az alábbi figyelmeztetést).

A beillesztett fájlok bejegyzéseinek formátuma megegyezik magának a `/etc/sudoers` fájlnak a formátumával. Közvetlen szerkesztésük érdekében Ön használja a `visudo /etc/sudoers.d/somefile` parancsot. Részletekért tekintse meg a sudoers(5) § Including other files from within sudoers man sógót.

A `/etc/sudoers.d/` könyvtárban lévő fájlok lexikografikus sorrendben kerülnek feldolgozásra, a `.` vagy `~` karaktert tartalmazó fájlnevek kihagyásra kerülnek. A rendezési problémák elkerülése érdekében a fájlneveknek kettő számjeggyel kell kezdődniük. Például: `10-foo`.

Megjegyzés Fontos a beillesztett fájlok bejegyzéseinek a sorrendje: Ügyeljen arra, hogy az utasítások ne írják felül egymást.
Figyelmeztetés A `/etc/sudoers.d/` könyvtárban lévő fájlok éppoly sérülékenyek, mint maga a `/etc/sudoers` fájl: Bármely helytelenül formázott fájl megakadályozza a `sudo` működését. Ezért ugyanabból az okból erősen javasolt a `visudo` használata.

### Defaults váz

Ahogy az a sudoers(5) § Defaults súgóleírásban is ki van fejtve, "számos viselkedési beállítás megváltoztatható futásidőben az alapértelmezett értékekről egy vagy több Default_Entry sor segítségével". A sudoers(5) § SUDOERS OPTIONS súgóleírás felsorolja az összes olyan beállítást, amely használható a `Defaults` segítségével.

### Aktuális beállítások megtekintése

Futtassa a `sudo -ll` parancsot az aktuális sudo beállítás megjelenítése érdekében, vagy futtassa a `sudo -lU felhasználónév` parancsot egy adott felhasználóhoz tartozó sudo beállítás megjelenítése érdekében.

### A visudo használata

A visudo zárolja a megadott fájlt (alapértelmezés szerint a `/etc/sudoers` fájlt), a módosításokat egy ideiglenes fájlba menti, majd még mielőtt elmentené, szintaktikai hibákat keres benne.

Figyelmeztetés

- Elengedhetetlen, és kritikusan fontos, hogy a `sudoers` mentes legyen a szintaktikai hibáktól! Bármilyen hiba használhatatlanná teszi a sudo parancsot. Ön mindig a visudo segítségével szerkessze a sudoers fájlt annak érdekében, hogy biztosan elkerülje a hibákat.
- A visudo(8) man súgója figyelmeztet, hogy a visudo beállítása a választott szövegszerkesztő felhasználói környezeti változóinak tiszteletben tartására biztonsági rés lehet, mivel lehetővé teszi a visudo jogosultsággal rendelkező felhasználó számára, hogy tetszőleges parancsokat futtasson root felhasználóként naplózás nélkül, egyszerűen a változó más értékre állításával.

A visudo alapértelmezett szövegszerkesztője a vi szövegszerkesztő. A sudo szoftvercsomag `--with-env-editor` opcióval van forráskódból lefordítva, és figyelembe veszi a `SUDO_EDITOR`, `VISUAL` és `EDITOR` változók használatát. Ha a `VISUAL` be van állítva, akkor az `EDITOR` nincs használva.

A nano szövegszerkesztő beállításához visudo szövegszerkesztőként az aktuális shell munkamenet idejére exportálja a `EDITOR=nano` változót. Egy másik szövegszerkesztő egyszeri használatához egyszerűen állítsa be a változót a visudo meghívása előtt:

    # EDITOR=nano visudo /etc/sudoers.d/10-editor

A szövegszerkesztő végleges megváltoztatása érdekében tekintse meg az Environment variables#Felhasználónként című leírást.

A visudo szövegszerkesztőjének rendszerszintű, végleges megváltoztatása érekében (például rnano(1), a nano korlátozott mód):

    /etc/sudoers.d/10-editor

    # Az alapértelmezett EDITOR a nano korlátozott verziójára történő beállítása. Továbbá annak letiltása, hogy a visudo használja az EDITOR/VISUAL változókat.
    Defaults      editor=/usr/bin/rnano, !env_editor

Ön alternatív megoldásként létrehozhat egy másolatot a fájlról, majd utólag ellenőrizheti a `visudo -c /fájl/másolata` parancs futtatásával. Ez hasznos lehet amikor Ön el akarja kerülni a visudo segítségével történő fájl zárolását.

### Példabejegyzések

Annak érdekében, hogy – amikor egy parancs elé `sudo` kerül – az `archie` felhasználó egyetlen gépen (`hostname`) bármely felhasználóként és csoportként futtathassa az összes parancsot, Ön hozza létre a következőt:

    /etc/sudoers.d/90-archie

    archie   hostname=(ALL:ALL) ALL

Annak érdekében, hogy a wheel csoport tagjai teljes hozzáférést kapjanak, a következőt kell létrehozni:

    /etc/sudoers.d/10-wheel

    %wheel      ALL=(ALL:ALL) ALL

Tipp Amikor új rendszergazdák vannak létrehozva, gyakran kívánatos engedélyezni a sudo hozzáférést a `wheel` csoport számára és hozzáadni a felhasználót ehhez a csoporthoz, mivel alapértelmezés szerint a Polkit a `wheel` csoport tagjait rendszergazdáknak tekinti. Ha a felhasználó nem tagja a `wheel` csoportnak, akkor a Polkit-et használó szoftverek előfordulhat, hogy a root jelszóval kérnek hitelesítést a felhasználói jelszó helyett.

Az `archie` felhasználó számára történő jelszóbekérés letiltása érdekében a következőt kell létrehozni:

Figyelmeztetés Ez lehetővé teszi, hogy bármely olyan folyamat amely az Ön felhasználónevével fut, engedélykérés nélkül használhassa a sudo parancsot.

    /etc/sudoers.d/90-archie_nopasswd

    Defaults:archie      !authenticate

Meghatározott parancsok engedélyezése kizárólag az `archie` felhasználó számára a `hostname` számítógépen jelszó nélkül:

    /etc/sudoers.d/90-archie_commands

    archie hostname= NOPASSWD: /usr/bin/halt,/usr/bin/poweroff,/usr/bin/reboot,/usr/bin/pacman -Syu

Megjegyzés A leginkább testre szabott beállításnak a fájl végén kell lennie (vagy használjon olyan fájlnevet a drop-in fájlokhoz, amely fájlnév lexikográfiai sorrendben később következik), mivel a későbbi sorok felülírják az előzőeket. Különösen akkor kell ilyen sort a `%wheel` sor után elhelyezni, amikor az Ön felhasználói fiókja tagja ennek a csoportnak.

Részletes `sudoers` példa érhető el a `/usr/share/doc/sudo/examples/sudoers` fájlban. Egyébként tekintse meg a sudoers(5) man súgót a részletes információért.

### Alapértelmezett sudoers fájljogosultságok

A `sudoers` fájl tulajdonosának és csoportjának egyaránt 0 értékűnek kell lennie. A fájl jogosultságait 0440 értékre kell állítani. Ezek a jogosultságok alapértelmezetten be vannak állítva, de ha Ön véletlenül megváltoztatja őket, akkor azonnal vissza kell állítani, máskülönben a sudo nem fog működni.

    # chown -c root:root /etc/sudoers
    # chmod -c 0440 /etc/sudoers

### Parancs futtatása SSH protokollon keresztül

Az SSH alapértelmezés szerint amikor távoli parancsot futtat nem foglal le tty-t. Lefoglalt tty nélkül a sudo nem tudja megakadályozni, hogy a jelszó megjelenjen. Önnek az ssh `-t` opcióját kell használnia annak érdekében, hogy kényszerítse a tty lefoglalását, és a `Defaults` beállításban a `requiretty` opciót kell megadnia annak érdekében, hogy csak akkor engedje a felhasználónak a sudo futtatását, amikor rendelkezik tty-vel.

    /etc/sudoers.d/10-requiretty

    # Az "ssh hostname sudo <parancsneve>" használatának letiltása, mert ez a jelszó egyszerű szövegként fog megjelenni. Önnek az "ssh -t hostname sudo <parancsneve>" parancsot kell futtatnia.
    #
    Defaults    requiretty
    Defaults    cmddenial_message="Usage without a TTY is not allowed: run 'ssh -t'!"

### Megengedő umask

A sudo egyesíti a felhasználó umask értékét a saját umask értékével (amelynek alapértelmezése 0022). Ez megakadályozza, hogy a sudo a felhasználó umask értékénél nyitottabb jogosultságokkal hozzon létre fájlokat. Bár ez észszerű alapértelmezés, ha nincs egyedi umask használatban, előfordulhat, hogy egy sudo paranccsal futtatott segédprogram más jogosultságokkal hoz létre fájlokat, mint ha közvetlenül root felhasználóként futtatnák. Ha ebből hibák adódnának, akkor a sudo lehetőséget biztosít az umask javítására, még akkor is, ha a kívánt umask engedékenyebb, mint a felhasználó által megadott umask:

    /etc/sudoers.d/10-umask_override

    Defaults umask = 0022
    Defaults umask_override

Ez beállítja a sudo umask értékét a root alapértelmezett umask értékére (0022), és felülírja az alapértelmezett működést, mindig a megadott umask értéket használva, függetlenül attól, hogy a felhasználó milyen umask értéket állított be.

## Tippek és trükkök

### Annak az alkalmaknak a csökkentése amikor a jelszóbegépelést el kell végezni

Ha bosszantja, hogy alapértelmezés szerint 5 percenként újra be kell írnia az Ön saját jelszavát, akkor ezt az állapotot megváltoztathatja úgy, hogy hosszabb időértéket állít be a `timestamp_timeout` számára (percben):

    /etc/sudoers.d/10-timestamp_timeout

    Defaults timestamp_timeout=10

Amennyiben Ön hosszú szkriptfájlban használ sudo parancsokat, és nem szeretné megvárni a felhasználói bevitelt, amikor a timeout lejár, akkor lehetőség van a timeout frissítésére a `sudo -v` külön futtatásával egy ciklusban (míg a `sudo -K` azonnal visszavonja a timeout időértéket).

### Jelszóbekérés időkorlátjának letiltása

Gyakori bosszúság egy hosszú ideig futó folyamat, amely egy háttérben a parancssorban fut normál jogosultságokkal, és csak szükség esetén emelkedik magasabb szintre. Ez sudo jelszóbekérést eredményez, amely észrevétlen marad és lejár, ekkor a folyamat megszakad, és az addig elvégzett munka elveszik, vagy legjobb esetben gyorsítótárba kerül. Gyakori tanács a jelszó nélküli sudo engedélyezése, vagy a sudo jelszómegőrzési időkorlátjának meghosszabbítása. Mindkettőnek negatív biztonsági következményei vannak. A prompt időkorlátot azonban le lehet tiltani, és mivel ez nem szolgál semmilyen észszerű biztonsági célt, itt ez kell, hogy legyen a megoldás:

    /etc/sudoers.d/10-passwd_timeout

    Defaults passwd_timeout=0

### Aliaszok átadása

A következő abban az esetben releváns, amikor a bash completion nem érhető el (sem teljes, sem a fent leírt csökkentett formában): Az Zsh és Bash aliaszok általában csak a parancs első szavára kerülnek kibővítésre. Ez azt jelenti, hogy az Ön aliaszai általában nem fognak kibővülni a `sudo` parancs futtatásakor. Az egyik módja annak, hogy a következő szó kibővüljön, ha készít egy sudo aliaszt, amely szóközzel végződik. Adja hozzá a következőt a shell beállításfájljához:

    alias sudo='sudo '

A zshmisc(1) § ALIASING súgó leírja, hogy miként működik ez:

  Ha a helyettesítő szöveg szóközzel végződik, akkor a shell bemenet következő szava mindig alkalmas az aliasz kibővítésére.

Ugyanígy a bash(1) § ALIASES súgó is leírja:

  Ha az aliasz értékének utolsó karaktere egy szóköz, akkor az aliasz után következő parancsszó is ellenőrzésre kerül aliasz kibővítés szempontjából.

### Parancssorcsengő hozzáadása a jelszóbekéréshez

Annak érdekében, hogy felhívja a figyelmet egy háttérben futó parancssorban megjelenő sudo promptra, a felhasználó egyszerűen kiírathat egy csengő karaktert:

    /etc/sudoers.d/10-passprompt

    Defaults passprompt="^G[sudo] password for %p: "

Vegye figyelembe, hogy a `^G` egy tényleges csengő karakter. Például a vim szövegszerkesztőben a `Ctrl+v` `Ctrl+g` billentyűgombok sorozatával lehet beilleszteni. Ha a `Ctrl+v` másra van kiosztva, például beillesztésre, akkor általában a `Ctrl+q` használható helyette. A nano szövegszerkesztőben az `Alt+v` `Ctrl+g` billentyűgombokat lehet használni erre a célra.

This article or section needs expansion.

Reason: Lehetséges-e megőrizni a nyelvterületileg beállított promptot a bell használata közben? Ugyanez a kérdés a SUDO_PROMPT esetében. Van-e alternatíva, például a "-B" opció alapértelmezettként való használatával? (Discuss in Talk:Sudo (Magyar))

Egy másik lehetőség a `SUDO_PROMPT` környezeti változó beállítása. Például adja hozzá a következőt a shell beállításfájljához:

    export SUDO_PROMPT=$'\a[sudo] password for %p: '

### Parancssoronkénti sudo letiltása

Amennyiben zavarja Önt a sudo alapértelmezett viselkedése, amely minden újonnan megnyitott parancssorban megköveteli a jelszó beírását, akkor változtassa meg a `timestamp_type` változónak az értékét (amely alapértelmezett állapotban `tty` értékre van beállítva). Be kell állítani `ppid` értékre, így minden azonos szülőfolyamat-azonosítóval rendelkező folyamat megosztja az 5 perces időkorlátot. Ez különösen hasznos terminál multiplexer vagy olyan grafikus felhasználói felülettel rendelkező parancssor esetében amely rendelkezik fülekkel. Egy másik lehetőség az, hogy ha Ön `global` értékre állítja be.

Figyelmeztetés A `global` időbélyeg használata lehetővé teszi, hogy bármely folyamat hozzáférjen az Ön sudo munkamenetéhez.

    /etc/sudoers.d/10-timestamp_type

    Defaults timestamp_type=ppid

### Környezeti változók

Amennyiben Önnek sok környezeti változója van, vagy a proxy beállításait az `export http_proxy="..."` paranccsal exportálja, akkor a sudo parancs használatakor ezek a változók nem kerülnek át a root felhasználói fiókhoz, kivéve ha a sudo parancsot a `-E`/`--preserve-env` opcióval futtatja.

    $ sudo -E pacman -Syu

Ha hozzáadja a környezeti változókat az `env_keep` listához, akkor a környezeti változók megőrzésének ajánlott módja:

    /etc/sudoers.d/10-env_keep

    Defaults env_keep += "ftp_proxy http_proxy https_proxy no_proxy"

### Root jelszó

Amennyiben a felhasználók hozzáadják a `targetpw` (célfelhasználó, alapértelmezésben root) vagy a `rootpw` opciót a Defaults sorhoz a `/etc/sudoers` fájlban, akkor ezzel beállíthatják a sudo parancsot úgy, hogy a root jelszót kérje a felhasználói jelszó helyett:

    /etc/sudoers.d/10-targetpw

    Defaults targetpw

A root felhasználó jelszavának felhasználók előtti felfedés megelőzése érdekében a felfedést Ön korlátozhatja egy adott csoportra:

    /etc/sudoers.d/10-targetpw

    Defaults:%wheel targetpw
     %wheel ALL=(ALL) ALL

### Root bejelentkezés letiltása

Létezik olyan eset, amikor a felhasználók le kívánják tiltani a root bejelentkezési lehetőséget. A root felhasználó hiányában a támadóknak először meg kell találniuk azt a felhasználónevet, amely sudoer-ként van beállítva, aztán ezután ki kell találniuk ennek a felhasználónak a jelszavát is. Részletekért tekintse meg például a OpenSSH#Deny című leírást.

Figyelmeztetés

- Legyen óvatos, mert előfordulhat, hogy Ön kizárja saját magát a rendszerből a root bejelentkezés letiltása által. A sudo nincs automatikusan telepítve, és az alapértelmezett beállítása sem jelszó nélküli root hozzáférést, sem pedig root hozzáférést a saját jelszavával nem engedélyez. Gondoskodjon arról, hogy egy felhasználó megfelelően sudoer-ként legyen beállítva mielőtt letiltja a root fiókot!
- Ha módosította a sudoers fájlt úgy, hogy alapértelmezésként a rootpw-t használja, akkor ne tiltsa le a root bejelentkezést az alábbi parancsok egyikével sem!
- Ha már kizárta Önmagát, akkor a segítségért tekintse meg a Jelszó helyreállítása című leírást.

A fiók zárolható a `passwd` parancs segítségével:

    # passwd -l root

Egy hasonló parancs feloldja a root fiókot.

    $ sudo passwd -u root

Alternatív megoldásként használhatja a következő parancsot a jelszó törlésére, majd a root fiók zárolására:

    $ sudo passwd -dl root

A root bejelentkezés újbóli engedélyezése érdekében a következő parancsot kell futtatni:

    $ sudo passwd root

Vegye figyelembe, hogy a fenti parancs csupán a jelszóalapú bejelentkezést tiltja le. A felhasználó továbbra is képes lehet bejelentkezni egy másik hitelesítési tokennel (például SSH kulccsal). A fiók letiltása érdekében futtassa a következő parancsot:

    $ usermod --expiredate 1 root

The factual accuracy of this article or section is disputed.

Reason: A legtöbb esetben, amikor egy felhasználó vészhelyzeti shell környezetbe kerül bele, az initramfs fájlrendszert használja, és nem fogja alkalmazni a következő beállítást, hacsak nem kerül hozzáadásra a `FILES`-hez a mkinitcpio beállításában. (Discuss in Talk:Sudo (Magyar))

Vészhelyzet esetén a helyreállítási prompt root jelszót fog kérni, ami lehetetlenné teszi a bejelentkezést a helyreállítási shell környezetbe. A root fiók automatikus feloldásához vészhelyzet esetén adja hozzá a `SYSTEMD_SULOGIN_FORCE=1` környezeti változót a `rescue.service` szolgáltatáshoz egy drop-in fájl használatával:

    /etc/systemd/system/rescue.service.d/SYSTEMD_SULOGIN_FORCE.conf

    [Service]
    Environment=SYSTEMD_SULOGIN_FORCE=1

Tipp Még a root fiók letiltása után is, az interaktív root prompt elérés érdekében használja a `sudo -i` parancsot.

#### kdesu

A KDE alatt a kdesu használható GUI alkalmazások root jogosultságokkal történő indítására. Előfordulhat, hogy alapértelmezés szerint a kdesu az su parancsot próbálja használni még akkor is, ha a root fiók le van tiltva. Szerencsére megadható, hogy a kdesu az su helyett a sudo parancsot használja. Hozza létre/szerkessze a `~/.config/kdesurc` fájlt:

    [super-user-command]
    super-user-command=sudo

Illetve, használja a következő parancsot:

    $ kwriteconfig6 --file kdesurc --group super-user-command --key super-user-command sudo

### Megerősítés sudo példával

Tegyük fel, hogy Ön létrehoz három felhasználót: Az admin, devel és archie felhasználót. Az "admin" felhasználót a journalctl, systemctl, mount, kill és iptables használatához hozza létre. A "devel" felhasználót a szoftvercsomagok telepítéséhez és a konfigurációs fájlok szerkesztéséhez hozza létre. Az "archie" pedig az a felhasználó, amellyel Ön bejelentkezik az operációs rendszerbe. Annak érdekében, hogy az "archie" felhasználó újra tudja indítani, illetve le tudja állítani az operációs rendszert, és használni tudja a netctl parancsot, a következőt tennénk:

Szerkesztenünk kell a `/etc/pam.d/su` és a `/etc/pam.d/su-l` fájlokat. Követelje meg, hogy a felhasználó a wheel csoportban legyen benne, de ne tegyen bele senkit.

    #%PAM-1.0
    auth            sufficient      pam_rootok.so
    # Uncomment the following line to implicitly trust users in the "wheel" group.
    #auth           sufficient      pam_wheel.so trust use_uid
    # Uncomment the following line to require a user to be in the "wheel" group.
    auth            required        pam_wheel.so use_uid
    auth            required        pam_unix.so
    account         required        pam_unix.so
    session         required        pam_unix.so

Korlátozza az SSH bejelentkezést az 'ssh' csoportra. Egyedül az `archie` felhasználó lesz ennek a csoportnak a tagja.

    # groupadd -r ssh
    # gpasswd -a archie ssh
    # echo 'AllowGroups ssh' >> /etc/ssh/sshd_config

Indítsa újra az `sshd.service` szolgáltatást.

Adjon hozzá felhasználókat más csoportokhoz.

    # for g in power network ;do ;gpasswd -a archie $g ;done
    # for g in network power storage ;do ;gpasswd -a admin $g ;done

Állítsa be a beállításfájlok jogosultságait úgy, hogy a `devel` felhasználó szerkeszteni tudja azokat.

    # chown -R devel:root /etc/{http,openvpn,cups,zsh,vim,screenrc}

    /etc/sudoers.d/80-hardened

    Cmnd_Alias  POWER       =   /usr/bin/shutdown -h now, /usr/bin/halt, /usr/bin/poweroff, /usr/bin/reboot
    Cmnd_Alias  STORAGE     =   /usr/bin/mount -o nosuid\,nodev\,noexec, /usr/bin/umount
    Cmnd_Alias  SYSTEMD     =   /usr/bin/journalctl, /usr/bin/systemctl
    Cmnd_Alias  KILL        =   /usr/bin/kill, /usr/bin/killall
    Cmnd_Alias  PKGMAN      =   /usr/bin/pacman
    Cmnd_Alias  NETWORK     =   /usr/bin/netctl
    Cmnd_Alias  FIREWALL    =   /usr/bin/iptables, /usr/bin/ip6tables
    Cmnd_Alias  SHELL       =   /usr/bin/zsh, /usr/bin/bash
    %power      ALL         =   (root)  NOPASSWD: POWER
    %network    ALL         =   (root)  NETWORK
    %storage    ALL         =   (root)  STORAGE
    root        ALL         =   (ALL)   ALL
    admin       ALL         =   (root)  SYSTEMD, KILL, FIREWALL
    devel	    ALL         =   (root)  PKGMAN
    archie	    ALL         =   (devel) SHELL, (admin) SHELL

Ezzel a beállítással Önnek szinte soha nem lesz szüksége arra, hogy root felhasználóként jelentkezzen be.

Az `archie` felhasználó csatlakozni tud az otthoni Wi-Fi hálózathoz.

    $ sudo netctl start home
    $ sudo poweroff

Az `archie` felhasználó nem tudja használni a netctl parancsot más felhasználóként.

    $ sudo -u admin -- netctl start home

Amikor az `archie` felhasználónak szüksége van a journalctl parancs használatára vagy egy elszabadult folyamat leállítására, akkor átválthat arra a felhasználóra.

    $ sudo -i -u devel
    $ sudo -i -u admin

De az `archie` felhasználó nem tud átváltani a root felhasználóra.

    $ sudo -i -u root

Ha az `archie` felhasználó admin felhasználóként szeretne elindítani egy GNU Screen munkamenetet, akkor ezt így teheti meg:

    $ sudo -i -u admin
    [admin]$ chown admin:tty `echo $TTY`
    [admin]$ screen

### Fájlok szerkesztése

A `sudo` szoftvercsomag biztosítja a `sudoedit` parancsot (egyenértékű a `sudo -e` paranccsal). Ez a parancs hasznos olyan fájlok szerkesztéséhez, amelyeket egyedül a root felhasználó tud módosítani, miközben a szövegszerkesztő továbbra is normál felhasználóként fut, és az adott felhasználó beállításait használja.

Egy fájl szerkesztése érdekében, Ön állítsa be a `SUDO_EDITOR` változót a szövegszerkesztő nevére, majd adja át a szerkesztendő fájl nevét a `sudoedit` parancsnak. Például:

    $ SUDO_EDITOR=vim sudoedit /etc/fájlneve

Tekintse meg az #A visudo használata című bekezdést és a sudo(8) § e man súgót azokra a lehetőségekre, hogy Ön miként állíthatja be a szövegszerkesztőt, de legyen óvatos a lehetséges biztonsági problémákkal.

Amennyiben Ön több fájlnevet ad át a `sudo` parancsnak, akkor egyetlen parancsmeghívással az összes átadott fájl megnyílik a szövegszerkesztőben. Ez a funkció hasznos a fájlok egyesítése szempontjából:

    $ SUDO_EDITOR=vimdiff sudoedit /etc/file /etc/file.pacnew

### Humoros beszólogatások engedélyezése

A számítógép-felhasználók engedélyezhetik az insults easter egg lehetőséget a sudo parancsban azáltal, hogy a `sudoers` fájlhoz hozzáadják az alábbi sort a `visudo` segítségével.

    /etc/sudoers.d/10-insults

    Defaults insults

Helytelen jelszó megadása esetén ez lecseréli a `Elnézést, próbálja újra.` üzenetet humoros beszólogatásokra.

### Jelszóbevitel-visszajelzés engedélyezése

Amikor Ön jelszót ad meg, alapértelmezés szerint nincs vizuális visszajelzés. Ez a viselkedés szándékosan van így a nagyobb biztonság érdekében (így senki nem látja aki a képernyőt megfigyeli, hogy hány karakteres az Ön jelszava). Azonban, ha Önnek mégis vizuális bevitelre van szüksége, akkor engedélyezheti az alábbi sor hozzáadásával:

    /etc/sudoers.d/10-pwfeedback

    Defaults pwfeedback

### Színezett jelszóbekérés

A jelszóbekérés testreszabásához színekkel és/vagy félkövér betűtípusokkal állítsa be a `SUDO_PROMPT` környezeti változót a shell inicializációs fájlban, és használja a tput(1) parancsot.

Például annak érdekében, hogy a jelszóbekérés `Password:` formában, félkövér vastagsággal, és piros színnel jelenjen meg, használja ezt:

    export SUDO_PROMPT="$(tput setaf 1 bold)Password:$(tput sgr0) "

Vagy használjon különböző színeket az alapértelmezett üzenettel a következőképpen:

    export SUDO_PROMPT="$(tput setab 1 setaf 7 bold)[sudo]$(tput sgr0) $(tput setaf 6)password for$(tput sgr0) $(tput setaf 5)%p$(tput sgr0): "

Tekintse meg továbbá a Színes szövegkimenet a parancssorban és a Parancssor testreszabása című cikkeket.

### U2F használata

A(z) U2F nagyszerűen használható a sudo paranccsal, mivel nyilvános helyeken hatékonyan kiküszöbölheti a váll fölötti leskelődés, kifigyelés kockázatát, miközben egy egyszerű fizikai érintéssel továbbra is tudatos ellenőrzést biztosít Önnek a felszólítás jóváhagyására.

Tekintse meg az Universal 2nd Factor#Passwordless sudo című leírást.

### Írásvédett fájlokban

Előfordulhat, hogy Ön védett fájlokba szeretne írni amikor a sudo parancsot használja. A tee parancs használata lehetővé teszi az ilyen szétválasztást:

    $ input stream | sudo tee --option védett_fájl_1 védett_fájl_2...

A fenti parancs akkor jó, amikor egy egyszerű `>`/`>>` átirányítás nem működik.

#### Vim szövegszerkesztőben

Hasonló elv hasznos lehet olyan körülmények között, amikor Ön elfelejtette a Vim szövegszerkesztőt sudo paranccsal indítani egy másik felhasználó tulajdonában lévő fájl szerkesztésekor. Ebben az esetben a fájl mentéséhez a következőt teheti a Vim szövegszerkesztőben:

    :w !sudo tee %

Ezt hozzáadhatja a `~/.vimrc` fájlhoz annak érdekében, hogy ezt a trükköt könnyen használhatóvá tegye a `:w!!` hozzárendeléssel parancs módban:

    ~/.vimrc

    " Allow saving of files as sudo when I forgot to start vim using sudo
     cmap w!! w !sudo tee > /dev/null %

A `> /dev/null` rész kifejezetten eldobja a szabványos kimenetet, mivel nincs szükségünk arra, hogy bármit is továbbadjunk egy másik csővezérelt parancsnak.

Részletesebb magyarázat arról, hogy pontosan hogyan és miért működik ez, megtalálható a Hogyan működik a vim "írás sudo paranccsal" trükk? című cikkben a StackOverflow weboldalon.

### A sudo-rs parancs használata a sudo szoftvercsomag nélkül

Ön használhatja a sudo-rs parancsot önálló helyettesítőként a sudo parancs helyett, anélkül hogy szüksége lenne a sudo szoftvercsomag feltelepítésére.

A sudo parancs [https://gitlab.archlinux.org/archlinux/packaging/packages/sudo/-/blob/main/sudo.pam alapértelmezett be állítása] alapján hozza létre a `/etc/pam.d/sudo` fájlt.

Továbbá, hozza létre a `/etc/pam.d/sudo-i` fájlt a `sudo -i` számára:

    # ln -s /etc/pam.d/sudo /etc/pam.d/sudo-i

Hozza létre vagy a már meglévő `/etc/sudo-rs/config.toml` fájlt szerkessze:

    /etc/sudo-rs/config.toml

    [defaults]
    askpass = false
    timeout = 15

A sudo-rs parancs támogatja mind a `/etc/sudoers`, mind a `/etc/sudoers-rs` fájlt, és ha létezik a fájl, akkor az utóbbit használja.

Opcionálisan, Ön lecserélheti a `sudo` parancsot `sudo-rs` parancsra, amennyiben szimbolikus linket hoz létre egy magasabb prioritású `PATH` könyvtárból:

    # ln -s /usr/bin/sudo-rs /usr/local/bin/sudo

Categories:

- Security (Magyar)
- Commands (Magyar)

Hidden categories:

- Pages or sections flagged with Template:Expansion
- Pages or sections flagged with Template:Accuracy

Sudo (Magyar)
Add topic