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.
Tartalomjegyzék
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.
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.
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.
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?