Felhasználói adatok megváltoztatása chfn és usermod segítségével Linuxon

A felhasználói fiók többről szól, mint egy felhasználónév. Ismerje meg, hogyan állíthatja be és módosíthatja a Linux felhasználói fiókokhoz társított összes metaadatot a parancssorból.

Mi van a névben?

Ha Linux- vagy Unix-szerű számítógépet használ, lesz felhasználói fiókja. A fióknak adott név a felhasználói fiók neve. Ez az a név, amellyel bejelentkezik. Ez egyben (alapértelmezés szerint) a bejelentkezési csoportjának és a saját könyvtárának a neve. Mindegyik ugyanazt az azonosítót használja.

Minden felhasználói fiókhoz egy másik információkészlet is tárolható. Valós adatok, például a személy teljes neve, irodai száma és munkahelyi telefonszáma meghatározhatók és csatolhatók hozzájuk. Valójában teljesen tetszőleges információrészletek címkézhetők a felhasználói fiókokhoz.

Gyakorlatilag ez hasznosabb lesz a rendszergazdák számára, akik olyan számítógépeket gondoznak, amelyeken sok felhasználói fiók van konfigurálva. De még az egyfelhasználós linuxos számítógépek esetében is mindig érdekes tudni, mi történik a motorháztető alatt.

A GECOS mező

Egy időben a Unix úttörőinek nem volt saját nyomtatójuk. Nyomtatási munkáikat a General Electric nagyszámítógép, amelyen a General Electric átfogó operációs rendszer (GECOS). Ennek eléréséhez a Unix rendszerek felhasználóinak tárolniuk és használniuk kellett egy fiók hitelesítő adatait a GECOS rendszeren.

A GECOS mezőt a hitelesítő adatok tárolására hozták létre. Ez a rendkívül szűk körű követelmény már régen átment a történelembe, és a GECOS mezőt a felhasználói fiók tulajdonosával kapcsolatos egyéb adatok tárolására használták. Lehet, hogy új munkája van, de megtartja régi nevét. Még mindig GECOS mezőnek hívják.

A mező az /etc/passwd fájlban található, a felhasználói fiókkal kapcsolatos egyéb információkkal együtt:

A fiók felhasználóneve.
A felhasználói azonosító.
A csoport azonosítója.
A felhasználói fiók kezdőkönyvtárának elérési útja.
A shell, amely a felhasználó bejelentkezésekor indul el.

Itt van a ujj parancs és a rózsaszínű parancs lekéri a megjelenített információkat.

A chfn parancs

A chfn (ujjinformáció módosítása) lehetővé teszi állítsa be és módosítsa a GECOS mezőben tárolt információkat. Az információk a mezőn belül vesszővel elválasztott listaként tárolódnak.

  Hogyan lehet letiltani az értesítések megjelenítését webhelyeken

A chfn parancs már jelen volt az Ubuntu 18.04.1-en és a Manjaro 18.1.0-n. Fedora 31-re kellett telepíteni. A telepítéshez használja ezt a parancsot:

sudo dnf install util-linux-user

Nézzük meg, mit tudhat meg a „dave” felhasználói fiók tulajdonosáról. A maximális információ eléréséhez a -l (hosszú formátum) opciót használjuk:

finger dave -l

Ez az, amit találhat:

Lekéri a fiók felhasználónevét, a kezdőkönyvtárat és az alapértelmezett shellt. Ezek mind a felhasználói fiókhoz kapcsolódnak. Nem utalnak arra a valódi személyre, aki ezt a fiókot használja. A chfn paranccsal tárolhatunk információkat az aktuális személyről.

chfn dave

A chfn ilyen módon történő használata egy rövid, interaktív folyamatot indít el. A rendszer kéri, hogy írjon be egy adatértéket minden olyan információhoz, amelyet a GECOS mező tartalmazhat. Az egyes adatértékek aktuális értéke zárójelben jelenik meg []. Ha meg szeretné tartani az aktuális adatokat, nyomja meg az „Enter” billentyűt, és a zárójelben lévő érték megmarad.

Az általunk megadott adatok a következők voltak:

Szobaszám: 512
Munkahelyi telefon: 555-4567
Otthoni telefon: 555-5432

Ellenőrizzük, hogy az ujjunk felveszi-e az új információt:

finger dave -l

Dehogynem. De lehet, hogy észrevette, hogy nem kérte a teljes név megváltoztatását. Ez csak akkor működik, ha sudo-t használsz. De nem kell újra végigmennünk az egész chfn munkamenetet, csak azért, mert elfelejtettük a sudo-t használni. Bármely adatértéket egyedileg módosíthatjuk.

Az egyéni adatértékek módosítása

A felhasználói fiók tulajdonosának teljes nevét beállíthatjuk a -f (teljes név) kapcsolóval, a sudo-val együtt.

sudo chfn -f "Dave McKay" dave

sudo chfn -f

És ha még egyszer ellenőrizzük ujjal:

Láthatjuk, hogy a teljes név hozzáadásra került.

Más lehetőségek is vannak a szobaszám, az otthoni telefonszám és a munkahelyi telefonszám megváltoztatására. A szoba (iroda) szám megváltoztatásához használja az -r (szobaszám) opciót:

sudo chfn -r 633 dave

Ne feledje, hogy egyes disztribúciókban az -o (irodai szobaszám) opciót használhatja az -r kapcsoló helyett. Erről hamarosan bővebben. Egyelőre a chfn verziójához tartozó lehetőségek megtekintéséhez használja a következőket:

man chfn

Az irodai telefonszám megváltoztatásához használja a -w (munkahelyi telefon) opciót:

sudo chfn -w 555-1122 dave

Végül pedig az otthoni telefonszám megváltoztatásához használja a -h (otthoni telefonszám) opciót:

sudo chfn -h 555-6576 dave

Használjuk újra az ujjal, hogy megnézzük, elfogadták-e az összes módosítást:

finger dave -l

Siker. Ezek a parancsok mindegyike működött, és az adatértékek frissültek.

  Hogyan használhatjuk a OneDrive-ot képek és dokumentumok keresésére a bennük lévő szöveg alapján

A chfn használata más felhasználói fiókokon

Ennyit a saját információink megváltoztatásáról, mi a helyzet a GECOS információinak módosításával a többi felhasználó számára? Ez ugyanolyan egyszerű. A sudo-t kell használnia, de ez az egyetlen különbség. Nézzük meg, milyen adatok vannak beállítva a mary felhasználói fiókhoz:

finger mary -l

Ehhez a felhasználói fiókhoz a szokásos alapértelmezett információk vannak beállítva. Tegyük hozzá az információkat:

sudo chfn mary

Ugyanazon a munkameneten futunk végig, mint korábban, és minden tárolható információhoz adatértéket kell megadnunk. És mivel a sudo -t használtuk, a teljes név adatértékét kérik tőlünk.

Várjon egy kicsit, mi az utolsó elem, az úgynevezett „Egyéb?”

nem támogatja a chfn minden verziója, és csak akkor látja, ha sudo-t használ, ezért nem láttuk korábban, amikor (szándékosan) nem használtuk a sudo-t:

chfn dave

Az „Egyéb” adatérték bármit tartalmazhat, amit szeretne. Nincs előírt vagy elvárt felhasználása.

A chfn azon verziói, amelyek támogatják az „Egyéb” mezőt, az -o (other) opciót is biztosítják az érték közvetlen megváltoztatásához. Ez az -o „irodaszám” és az „egyéb” -o közötti ütközés miatt van, hogy egyes rendszerek az -r-t használják a „szobaszám” kifejezésre.

A mary felhasználói fiókhoz tárolt adatokat az /etc/paswd fájlban láthatjuk a less használatával:

less /etc/passwd

Azokon a rendszereken, amelyek támogatják (a chfn verziószámát a kézikönyvoldalon találja) közvetlenül beállíthatja az „egyéb” mezőt az -o (egyéb) kapcsolóval:

sudo chfn -o "HTG Freelancer" dave

sudo chfn -o

És ellenőrizhetjük a dave felhasználói fiók adatait a less paranccsal:

less /etc/passwd

[asswdaterminálablakban”width=”646″height=”382″/>[asswdinaterminalwindow”width=”646″height=”382″/>

Ez nyilvánvaló kérdést vet fel. Ha a chfn verziója nem támogatja az „Egyéb” mezőt, hogyan módosíthatja? Ezt a usermod paranccsal tehetjük meg.

  Widget-verem létrehozása az iPhone kezdőképernyőjén

A usermod parancs

A usermod parancs lehetővé teszi módosíthatja a felhasználói fiók jellemzőit olyan műveletekkel, mint a felhasználói fiók hozzáadása vagy eltávolítása a csoportokból, valamint az alapértelmezett shell módosítása. Használható a GECOS mező közvetlen manipulálására is.

Nézzük meg közelebbről az /etc/passwd fájl mary felhasználói fiókjához tartozó sort. Használjuk grep, hogy elkülönítse számunkra ezt a vonalat. Ez működni fog, mert a felhasználóneveknek egyedinek kell lenniük. Csak egy mary nevű felhasználói fiók lehet.

grep mary /etc/passwd

Megjelennek az etc/passwd fájl mezői. A „:” kettőspont mezőelválasztóként használatos. balról jobbra a mezők a következők:

A fiók felhasználóneve.
A felhasználói fiók jelszavát jelző „x” az /etc/shadow fájlban titkosítva van.
A mary felhasználói fiók felhasználói azonosítója.
A mary felhasználói fiók csoportazonosítója.
A GECOS mező.
A mary felhasználói fiók kezdőkönyvtárának elérési útja.
A shell, amely akkor indul el, amikor a mary fiók tulajdonosa bejelentkezik.

A GECOS mezőben lévő adatértékek elválasztójaként egy vesszőt használunk. A GECOS mező értékei balról jobbra:

Teljes név.
Szoba (vagy iroda) száma.
Munkahelyi telefonszám.
Otthoni telefonszám.
Egyéb információk.

Vegye figyelembe, hogy a usermod parancs a teljes GECOS mezőt az Ön által megadott új értékre állítja. Ha csak a személy teljes nevét adja meg, akkor a GECOS mezőben csak a teljes név szerepel. Ez azt jelenti, hogy meg kell adnia minden meglévő adatértéket, amelyet meg szeretne tartani.

Íme egy példa. Mary felhasználót előléptették, és a negyedik emeletre fog költözni. Kap egy új irodai számot, egy új munkahelyi telefonszámot, és hozzáadjuk a középső nevét. Az „Egyéb” mező értéke szintén megváltozik. Bár az otthoni telefonszáma nem fog változni, meg kell adnunk a usermod karakterláncában.

A -c (comment) opciót kell használnunk, és a parancsot a sudo-val kell futtatnunk.

sudo usermod -c "Mary Carol Quinn,405,5559654,555-7704,Linux Advocate" mary

sudo usermod -c

A grep használatával jelentést készít a /etc/passwd fájl tartalmáról a mary számára, és ez azt mutatja, hogy az új értékek hozzáadásra kerültek.

grep mary /etc/passwd

Minden fluxus, semmi sem marad fenn

A pontatlan adatok semmit sem érnek. Amikor megváltoznak az emberekre vonatkozó információk – irodaköltöztetések, névváltoztatások, szereposztások –, könnyedén frissítheti metaadataikat, hogy tükrözzék az aktuális pozíciót.