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