Intro a Linux useradd parancs

a Felhasználó hozzáadása az egyik legalapvetőbb gyakorlat bármely számítógépes rendszeren; ez a cikk arra összpontosít, hogyan kell csinálni egy Linux rendszeren.

az indulás előtt három alapvető dolgot szeretnék megemlíteni, amelyeket szem előtt kell tartani. Először is, mint a legtöbb operációs rendszernél, a Linux felhasználóknak fiókra van szükségük a bejelentkezéshez. Ez a cikk kifejezetten a helyi fiókokra vonatkozik, nem pedig a hálózati fiókokra, például az LDAP-ra. Másodszor, a fiókoknak mind neve (felhasználónév), mind száma (felhasználói azonosító) van. Harmadszor, a felhasználók általában egy csoportba kerülnek. A csoportok neve és csoportazonosítója is van.

ahogy az várható volt, a Linux tartalmaz egy parancssori segédprogramot a felhasználók hozzáadásához; useradd-nek hívják. Ön is megtalálja a parancsot adduser. Számos disztribúció hozzáadta ezt a szimbolikus linket a useradd parancshoz kényelem szempontjából.

$ file `which adduser`
/usr/sbin/adduser: symbolic link to useradd

vessünk egy pillantást useradd.

Megjegyzés: Az ebben a cikkben leírt alapértelmezések a Red Hat Enterprise Linux 8.0-ban leírtakat tükrözik. Ezekben a fájlokban és bizonyos alapértékekben finom különbségek tapasztalhatók más Linux disztribúciókban vagy más Unix operációs rendszerekben, például a FreeBSD-ben vagy a Solaris-ban.

alapértelmezett viselkedés

a useradd alapvető használata meglehetősen egyszerű: a felhasználó hozzáadható csak felhasználónevük megadásával.

$ sudo useradd sonny

ebben a példában a useradd parancs létrehoz egy sonny nevű fiókot. Létrehoznak egy azonos nevű csoportot is, amely sonny-t helyezi el, hogy elsődleges csoportként használják. Vannak más paraméterek is, mint például a nyelv és a shell, amelyeket a /etc/default/useradd és /etc/login konfigurációs fájlokban beállított alapértelmezések és értékek szerint alkalmaznak.defs. Ez általában elegendő egyetlen, személyes rendszerhez vagy egy kicsi, egy szerveres üzleti környezethez.

míg a fenti két fájl szabályozza a useradd viselkedését, a felhasználói információkat az /etc könyvtárban található más fájlokban tárolják, amelyekre a cikk egészében hivatkozom.

Fájl Leírás Mezők (bold—által meghatározott useradd)
passwd Tárolja a felhasználói fiók adatait felhasználónév:a fel nem használt:uid:gid:hozzászólás:homedir:shell
árnyék Tárolja a felhasználói fiók biztonsági adatok felhasználónév:jelszó:lastchange:minimum:maximum:figyelmeztet:inaktív:lejárat:a fel nem használt
csoport Üzletek csoport részletek groupname:a fel nem használt:gid:tagok

testreszabható viselkedés

a parancssor lehetővé teszi a testreszabást olyan esetekben, amikor az adminisztrátornak finomabb vezérlésre van szüksége, például a felhasználó azonosító számának megadásához.

Felhasználói és csoportazonosító számok

alapértelmezés szerint a useradd megpróbálja ugyanazt a számot használni a felhasználói azonosítóhoz (UID) és az elsődleges csoportazonosítóhoz (Gid), de nincs garancia. Bár nem szükséges, hogy az UID és a GID megegyezzen, a rendszergazdák könnyebben kezelhetik őket, amikor megteszik.

csak a forgatókönyvet kell magyaráznom. Tegyük fel, hogy hozzáadok egy másik fiókot, ezúttal Timmy számára. A két felhasználó, sonny és timmy összehasonlítása azt mutatja, hogy mind a felhasználók, mind az elsődleges csoportok a getent parancs használatával jöttek létre.

$ getent passwd sonny timmy
sonny:x:1001:1002:Sonny:/home/sonny:/bin/bash
timmy:x:1002:1003::/home/timmy:/bin/bash
$ getent group sonny timmy
sonny:x:1002:
timmy:x:1003:

sajnos sem a felhasználók UID, sem elsődleges GID mérkőzés. Ennek oka az, hogy az alapértelmezett viselkedés a következő elérhető UID hozzárendelése a felhasználóhoz, majd megpróbálja ugyanazt a számot hozzárendelni az elsődleges csoporthoz. Ha azonban ezt a számot már használják, akkor a következő elérhető GID van hozzárendelve a csoporthoz. Hogy elmagyarázzam, mi történt, feltételezem, hogy egy Gid 1001-es csoport már létezik, majd adjon meg egy parancsot a megerősítéshez.

$ getent group 1001
book:x:1001:alan

az 1001-es azonosítóval ellátott csoportkönyv miatt a Gid-ek ki vannak kapcsolva. Ez egy példa, ahol a rendszergazdának nagyobb ellenőrzést kell gyakorolnia a felhasználó-létrehozási folyamat felett. A probléma megoldásához először meg kell határoznom a következő elérhető felhasználói és csoportazonosítót. A getent group és a getent passwd parancsok hasznosak lesznek a következő elérhető szám meghatározásában. Ezt a számot a-u argumentummal lehet átadni.

$ sudo useradd -u 1004 bobby
$ getent passwd bobby; getent group bobby
bobby:x:1004:1004::/home/bobby:/bin/bash
bobby:x:1004:

egy másik jó ok az azonosító megadására azoknak a felhasználóknak, akik a hálózati fájlrendszer (NFS) segítségével hozzáférnek a távoli rendszer fájljaihoz. Az NFS-t könnyebb kezelni, ha az összes kliens-szerver rendszer azonos azonosítóval rendelkezik egy adott felhasználó számára. Ezt egy kicsit részletesebben tárgyalom az autofs használatával kapcsolatos cikkemben az NFS-részvények rögzítéséhez.

több testreszabás

nagyon gyakran azonban más fiókparamétereket kell megadni a felhasználó számára. Íme néhány rövid példa a leggyakrabban használt testreszabásokra.

Comment

a megjegyzés opció Egy egyszerű szöveges mező, amely rövid leírást vagy egyéb információt biztosít a-C argumentum használatával.

$ sudo useradd -c "Bailey is cool" bailey
$ getent passwd bailey
bailey:x:1011:1011:Bailey is cool:/home/bailey:/bin/bash

csoportok

egy felhasználó lehet rendelni egy elsődleges csoport és több másodlagos csoportok. A-G argumentum az elsődleges csoport nevét vagy GID-jét adja meg. Ha nincs megadva, a useradd létrehoz egy elsődleges csoportot a felhasználó azonos nevével (a fentiek szerint). A-G (nagybetűs) argumentum segítségével adja át a vesszővel elválasztott csoportok listáját, hogy a felhasználó kerül; ezek az úgynevezett másodlagos csoportok.

$ sudo useradd -G tgroup,fgroup,libvirt milly
$ id milly
uid=1012(milly) gid=1012(milly) groups=1012(milly),981(libvirt),4000(fgroup),3000(tgroup)

Home directory

a useradd alapértelmezett viselkedése a felhasználó otthoni könyvtárának létrehozása a /home-ban. Az otthoni könyvtár különböző aspektusait azonban felül lehet írni a következő érvekkel. A-b egy másik könyvtárat állít be, ahol a felhasználói otthonok elhelyezhetők. Például: /home2 az alapértelmezett / home helyett.

$ sudo useradd -b /home2 vicky
$ getent passwd vicky
vicky:x:1013:1013::/home2/vicky:/bin/bash

A-d lehetővé teszi, hogy a felhasználótól eltérő névvel rendelkező otthoni könyvtárat adjon meg.

$ sudo useradd -d /home/ben jerry
$ getent passwd jerry
jerry:x:1014:1014::/home/ben:/bin/bash

a skeleton directory

A-K utasítja az új felhasználó új otthoni könyvtárát, hogy az /etc/skel könyvtárban található fájlokkal töltse fel. Ezek általában shell konfigurációs fájlok, de bármi lehet, amit a rendszergazda minden új felhasználó számára elérhetővé szeretne tenni.

Shell

A-S argumentum lehet használni, hogy adja meg a shell. Az alapértelmezett akkor használható, ha semmi más nincs megadva. Például a következőkben a shell bash az alapértelmezett konfigurációs fájlban van definiálva, de Wally zsh-t kért.

$ grep SHELL /etc/default/useradd
SHELL=/bin/bash
$ sudo useradd -s /usr/bin/zsh wally
$ getent passwd wally
wally:x:1004:1004::/home/wally:/usr/bin/zsh

biztonság

a biztonság a felhasználói menedzsment lényeges része, így számos lehetőség áll rendelkezésre a useradd paranccsal. A felhasználói fiók lejárati dátumot adhat meg YYYY-MM-DD formában, a-e argumentum használatával.

$ sudo useradd -e 20191231 sammy
$ sudo getent shadow sammy
sammy:!!:18171:0:99999:7::20191231:

a fiók automatikusan letiltható, ha a jelszó lejár. A -f argumentum a jelszó lejárta utáni napok számát állítja be a fiók letiltása előtt. A nulla azonnali.

$ sudo useradd -f 30 willy
$ sudo getent shadow willy
willy:!!:18171:0:99999:7:30::

valós példa

a gyakorlatban számos ilyen érv használható új felhasználói fiók létrehozásakor. Például, ha fiókot kell létrehoznom Perry-hez, a következő parancsot használhatom:

$ sudo useradd -u 1020 -c "Perry Example" \
-G tgroup -b /home2 \
-s /usr/bin/zsh \
-e 20201201 -f 5 perry

lásd a fenti szakaszokat az egyes opciók megértéséhez. Ellenőrizze az eredményeket:

$ getent passwd perry; getent group perry; getent shadow perry; id perry
perry:x:1020:1020:Perry Example:/home2/perry:/usr/bin/zsh
perry:x:1020:
perry:!!:18171:0:99999:7:5:20201201:
uid=1020(perry) gid=1020(perry) groups=1020(perry),3000(tgroup)

néhány végső Tanács

a useradd parancs egy” must-know ” minden Unix (nem csak Linux) rendszergazda számára. Fontos, hogy megértsük az összes lehetőséget, mivel a felhasználó létrehozása valami, amit szeretne, hogy jobb az első alkalommal. Ez azt jelenti, hogy van egy jól átgondolt elnevezési konvenció, amely magában foglal egy dedikált UID / GID tartományt, amelyet a felhasználók számára a vállalkozás egész területén fenntartanak, nem csak egyetlen rendszeren—különösen akkor, ha növekvő szervezetben dolgozik.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük