Hogyan lehet hozzáadni, módosítani és eltávolítani felhasználót Linuxon?

A felhasználókezelés bármely operációs rendszerben a rendszergazdák egyik alapvető rutinfeladata.

Linux-alapú operációs rendszer esetén ez általában felhasználói fiókok létrehozását, meglévő fiókok módosítását foglalja magában, például a kezdőkönyvtár megváltoztatását, az alapértelmezett shellt, egy vagy több fiók zárolását/feloldását és a felhasználói fiókok eltávolítását.

Mielőtt megvizsgálnánk az e feladatok végrehajtásához szükséges parancsokat és folyamatokat, nézzük meg röviden, hogyan osztályozhatók a felhasználói fiókok Linuxban. Vegye figyelembe azt is, hogy a megadott parancsok a legtöbb általános Linux disztribúcióban működni fognak, hacsak nincs kifejezetten megadva.

Felhasználói típusok

Root felhasználó

A root felhasználó az operációs rendszer rendszergazdája, aki rendelkezik minden engedéllyel a műveletek végrehajtásához. Általában csak a root képes telepíteni/eltávolítani vagy frissíteni az alapvető rendszerprogramokat és -könyvtárakat. Ez az egyetlen felhasználói fiók, amely rendszerszintű jogosultságokkal rendelkezik.

Tehát a root felhasználó a rendszer legerősebb felhasználója.

Speciális felhasználó

Ezek a bejelentkezés nélküli felhasználók. Nem rendelkeznek a root felhasználó összes jogosultságával. A fióktól függően különböző speciális szerepeket töltenek be.

Ezek automatikusan létrejönnek az alkalmazás telepítésekor. bin, sync, lp, mail, operator, squid néhány példa a speciális felhasználókra.

Közös felhasználók

A gyakori felhasználók csak a munkakönyvtárukban, általában a saját könyvtárukban rendelkeznek teljes jogosultságokkal. Nincs jogosultságuk a rendszer kezelésére vagy a szoftver telepítésére. Ezeket a feladatokat nem tudják végrehajtani anélkül, hogy speciális jogosultságokkal rendelkeznének a sudo-n keresztül.

Felhasználó hozzáadása

Debian/Ubuntu

Debian vagy Ubuntu alapú rendszereken van néhány lehetőség a felhasználók hozzáadására a CLI-ből. Az első parancs az adduser, amely egy Perl-szkript, és a useradd parancsot használja a háttérben, amelynek használatát később látni fogjuk.

Mivel a felhasználó hozzáadása privilegizált feladat, a sudo-t kell használnia előtagként és a felhasználónevet argumentumként. Kérésre további részletek is megadhatók. A felhasználónév és jelszó kivételével a többi adat nem kötelező. Az id paranccsal ellenőrizhetjük, hogy a felhasználó létrejött-e.

$ sudo adduser johndoe
Adding user `johndoe' ...
Adding new group `johndoe' (1003) ...
Adding new user `johndoe' (1003) with group `johndoe' ...
Creating home directory `/home/johndoe' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for johndoe
Enter the new value, or press ENTER for the default
        Full Name []: John Doe
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] Y
$
$ id johndoe
uid=1003(johndoe) gid=1003(johndoe) groups=1003(johndoe)
$

CentOS/RHEL/Fedora (beleértve a Debiant/Ubuntut)

A következő parancs, az useradd az RHEL alapú operációs rendszer disztribúciókon, valamint az Ubuntu/Debian gazdagépeken egyaránt jól működik. Az új felhasználó létrehozásának legegyszerűbb szintaxisa (kiegészítő beállítások nélkül):

$ sudo useradd <username>

Példa:

$ sudo useradd janedoe

A useradd parancs több beállítást támogat, amelyeket a felhasználó létrehozásakor lehet megadni, ezek közül a leggyakrabban a felhasználói azonosító (UID), a csoportazonosító (GID), az alapértelmezett shell és a saját könyvtár stb. látható. Az alábbiakban egy ilyen példa látható:

$ sudo useradd -s /bin/sh -d /data/newhome -c "Jane Doe" -u 1005 janedoe

Az újonnan létrehozott felhasználót az id paranccsal ellenőrizheti:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$

Felhasználó módosítása

Gyakran módosítani kell a meglévő felhasználók bizonyos tulajdonságait a szervezeti követelmények, a felhasználói kérések vagy a rendszerköltöztetések alapján. Ezen tulajdonságok többsége könnyen módosítható, bár gondoskodnunk kell arról, hogy ez hogyan befolyásolja a felhasználói környezetet és a felhasználó tulajdonában lévő vagy általa elért fájlokhoz való hozzáférést.

  Hogyan nézhetsz videókat nagyobb sebességgel

Alapértelmezett Shell

Az alapértelmezett shell az a CLI-héj, amely akkor jön létre, amikor a felhasználó helyileg vagy SSH-n keresztül új CLI-munkamenetet indít. A legtöbb modern rendszernek van egy alapértelmezett felhasználói Bash, bár ez változhat a Linux disztribúciótól vagy a felhasználó környezetétől függően. A felhasználó alapértelmezett shelljének módosításához használja:

$ sudo usermod -s <shell> <username>

Példa:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/newhome:/bin/sh
$ sudo usermod -s /bin/bash janedoe
$ getent passwd janedoe
janedoe:x:1005:1005::/data/newhome:/bin/bash
$

Amint a fenti kimeneten látható, a shell /bin/sh-ről /bin/bash-re változott a janedoe felhasználó számára.

Home Directory

Az alapértelmezett shell-hez hasonlóan a felhasználó saját könyvtára is módosítható egy másik helyre a következő használatával:

$ sudo usermod -d <new_directory_path> <username>

Az alábbi példában a janedoe felhasználó saját könyvtára a /data/janedoe értékre módosult:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/newhome:/bin/bash
$ sudo usermod -d /data/janedoe janedoe
$ getent passwd janedoe
janedoe:x:1005:1005::/data/janedoe:/bin/bash
$

A váltás előtt győződjön meg arról, hogy az új könyvtár rendelkezik a megfelelő tulajdonjoggal és jogosultságokkal. Ellenkező esetben a felhasználó problémákba ütközhet a bejelentkezés vagy az új kezdőkönyvtárban való munka során.

  Tartalmi korlátozások beállítása Xbox One-on

Felhasználói azonosító

Meglévő felhasználó felhasználói azonosítóját a következő módon módosíthatja:

$ sudo usermod -u <new_uid> <username>

Példa:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/janedoe:/bin/bash
$ sudo usermod -u 1010 janedoe
$ getent passwd janedoe
janedoe:x:1010:1005::/data/janedoe:/bin/bash
$

Az UID megváltoztatása ismét megváltoztatja azt, hogy a Linux fájlrendszer hogyan képezi le a tulajdonjogot és az engedélyeket egy fájlhoz vagy könyvtárhoz. Győződjön meg arról, hogy a felhasználó saját könyvtára és annak tartalma, valamint a rendszerben bárhol található összes többi fájl, amely eredetileg a felhasználó tulajdonában volt (régi UID-vel), UID-leképezettre módosult. Ennek elmulasztása problémákat okozhat a CLI munkamenetben és a felhasználó fájlhozzáférésében.

Alapértelmezett csoport

Az alapértelmezett csoport általában a felhasználó alapértelmezett csoportazonosítója, amely a felhasználó létrehozása során jön létre, hacsak nincs megadva másik GID. A Linux lehetővé teszi a felhasználó alapértelmezett csoportjának módosítását a usermod paranccsal is. Íme a használandó szintaxis:

$ sudo usermod -g <new_gid or group_name> <username>

Íme egy példa:

$ getent passwd janedoe
janedoe:x:1010:1005::/data/janedoe:/bin/bash
$ sudo usermod -g 1001 janedoe
$ getent passwd janedoe
janedoe:x:1010:1001::/data/janedoe:/bin/bash
$

Ismét győződjön meg arról, hogy az új csoportazonosító be van állítva a felhasználó saját könyvtárában, tartalmában és minden más fájlban vagy könyvtárban, amely szükséges a tulajdonosi engedélyek megfelelő áttelepítéséhez.

Csoportok hozzáadása/eltávolítása

Az alapértelmezett csoporton kívül egy Linux felhasználó másodlagos csoportokba is tartozhat. A usermod paranccsal bármikor hozzáadhatunk vagy eltávolíthatunk további csoportokat, amelyekhez egy felhasználó tartozik.

$ sudo usermod -a -G <group_id or group_name> <username>

Példa:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$ sudo usermod -a -G docker janedoe
$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe),1001(docker)
$

Hasonlóképpen, ha el szeretne távolítani egy felhasználót az egyik másodlagos csoportból, használja a gpasswd parancsot az alábbiak szerint:

$ sudo gpasswd -d <username> <groupname>

Példa:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe),1001(docker)
$ sudo gpasswd -d janedoe docker
Removing user janedoe from group docker
$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$

GECOS megjegyzés

Az /etc/passwd fájl GECOS mezője felhasználói információkat vagy megjegyzéseket tartalmaz. Ezeket az információkat egy meglévő felhasználó esetében a következőképpen módosíthatjuk:

$ sudo usermod -c <comment> <username>

Példa:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/janedoe:/bin/bash
$ sudo usermod -c "Jane Doe - System Admin" janedoe
$ getent passwd janedoe
janedoe:x:1005:1005:Jane Doe - System Admin:/data/janedoe:/bin/bash
$

Kérjük, vegye figyelembe, hogy ha megjegyzése vagy felhasználói adatai szóközt tartalmaznak, tegye ezt a mezőt idézőjelbe, ahogy a fenti példában is tette.

  Milyen funkciókkal rendelkezik a Minecraft a Wii U Edition-en?

Bejelentkezési név

A felhasználó bejelentkezési neve a usermod paranccsal is megváltoztatható az -l kapcsolóval:

$ sudo usermod -l <new_username> <old_username>

Példa:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$ sudo usermod -l jane_doe janedoe
$ id jane_doe
uid=1005(jane_doe) gid=1005(janedoe) groups=1005(janedoe)
$

Ne felejtse el frissíteni a felhasználói hivatkozásokat az új név szerint, bárhol is használják. Még az olyan parancsokban is, mint az id, meg kell adni az új felhasználónevet.

Felhasználó eltávolítása

A felhasználó eltávolítható a Linuxból a userdel paranccsal.

$ sudo userdel <username>

Példa:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$ sudo userdel janedoe
$ id janedoe
id: ‘janedoe’: no such user
$

Ha el szeretne távolítani egy felhasználót a saját könyvtárával és a levélsorral együtt, adja hozzá az -r kapcsolót is.

$ sudo userdel -r <username>

Kifejezetten Ubuntu-alapú rendszerek esetén a deluser parancs segítségével is eltávolíthat egy felhasználót:

$ sudo deluser <username>

Hasonlóképpen, a kezdőkönyvtár és a levélsor eltávolításához használja:

$ sudo deluser --remove-home <username>

Részletes információkért és egyéb támogatott opciókért tekintse meg a különböző parancsok főoldalát a következő használatával:

$ man adduser
$ man useradd
$ man usermod
$ man deluser
$ man userdel

Következtetés

Ez a cikk a Linux rendszer felhasználói kezelésének különböző aspektusait mutatja be. Ez magában foglalja a különböző felhasználói kategóriák magyarázatát, valamint a hozzáadásuk és eltávolításuk módját. Különféle lehetőségeket is tartalmaz, amelyek segítenek egy meglévő felhasználó paramétereinek módosításában. Bár nem fedi le a különféle parancsok által támogatott összes lehetőséget, számos olyan gyakori adminisztrációs feladatot lefed, amelyekkel a rendszergazda a mindennapi munkája során találkozik.

Érdekelheti a következőt is: Hogyan távolíthatunk el fájlokat és könyvtárakat Linuxon?