Linux felhasználói csoportok. Felhasználók és csoportok Linuxban. Hozzáadás törlés szerkesztő felhasználók Fiókellenőrzés

A műtői hozzáférési jogok elosztásának alapja Linux rendszer a felhasználó fogalmán múlik. A fájl tulajdonosa bizonyos engedélyeket kap a fájl használatára, nevezetesen az olvasásra, írásra és végrehajtásra. Az olvasási, írási és végrehajtási engedélyek szintén külön vannak beállítva az összes többi felhasználó számára. Mivel a Linuxban minden fájl, egy ilyen rendszer lehetővé teszi az operációs rendszer bármely műveletéhez való hozzáférés szabályozását a fájlhozzáférési jogok beállításával. De a fejlesztők még a Linux létrehozásakor is rájöttek, hogy ez nyilvánvalóan nem elég.

Ezért találták ki a felhasználói csoportokat. A felhasználók csoportokba egyesülhetnek, hogy megadják a csoportoknak a szükséges engedélyeket bizonyos fájlok eléréséhez, és ennek megfelelően műveletekhez. Ebben a cikkben megvizsgáljuk a Linux felhasználói csoportjait, megvizsgáljuk, miért van szükség rájuk, hogyan adhatunk hozzá felhasználót egy csoporthoz és hogyan kezeljük a csoportokat.

Ahogy már mondtam, a Linux csoportjai az operációs rendszer fejlesztésének legelején jelentek meg. Úgy tervezték, hogy javítsák a jogkezelési képességeket. Nézzünk egy kis példát, vegyünk egy olyan szervezetet, amelyben csak egy számítógép van, vannak rendszergazdáink és felhasználóink. Mindenkinek saját fiókja van a számítógépünkön. A rendszergazdák testreszabhatják a rendszert, de jobb, ha a felhasználók nem adnak szabad kezet, nehogy eltörjenek valamit. Ezért az adminisztrátorok egyesülnek admin csoport, és hozzáférést kap az összes berendezéshez, sőt, a dev könyvtárban lévő összes fájlhoz és a felhasználói csoportban egyesült felhasználókhoz, és ez a csoport lehetőséget kap arra, hogy fájlokat olvasson és írjon egy közös könyvtárba, amelyen keresztül kicserélhetik munkájuk eredményét. Minden felhasználóhoz külön-külön is hozzárendelhetnénk jogokat, lehetővé téve számára, hogy hozzáférjen egy adott fájlhoz, de ez túl kényelmetlen. Ezért találták ki a csoportokat. Azt mondod, rendben van, kinevezhetlek? Nos, most képzeljük el, hogy a felhasználóink ​​folyamatok. Itt kerül előtérbe a csoportok szépsége, a csoportokat nem annyira a felhasználók hozzáférésének biztosítására használják, hanem a programjogok kezelésére, különösen a hardverhez való hozzáférésükre. Külön csoportok jönnek létre a szolgáltatásoknak és a felhasználónak, akinek a nevében elindul, egy szolgáltatás több csoport tagja is lehet, amely hozzáférést biztosít bizonyos erőforrásokhoz.

Most nézzük meg, hogyan tekinthetjük meg a Linux-csoportokat.

Csoportok Linuxban

A rendszeren létrehozott összes csoport az /etc/group fájlban található. Ennek a fájlnak a tartalmát tekintve megtudhatja a rendszerén már megtalálható Linux-csoportok listáját. És meg fogsz lepődni.

A szokásos root és felhasználók mellett van itt még néhány tucat csoport. Ezek a programok által létrehozott csoportok, amelyek a programok hozzáférését szabályozzák megosztott erőforrások. Mindegyik csoport lehetővé teszi az olvasást vagy az írást konkrét fájl vagy rendszerkönyvtárat, ezzel szabályozva a felhasználó jogosultságait, és ezáltal az ettől a felhasználótól indított folyamatot. Itt tekinthetjük úgy, hogy egy felhasználó egy folyamat, mivel a folyamatnak megvan az összes joga annak a felhasználónak, akitől elindult.

Nézzük meg közelebbről az egyes csoportokat, hogy jobban megértsük, miért van rájuk szükség:

  • démon- e csoport és a démon felhasználó nevében elindulnak azok a szolgáltatások, amelyeknek szükségük van a fájlok lemezre írására.
  • sys- a csoport hozzáférést biztosít a kernelforrásokhoz, és tartalmazza a rendszerbe mentett fájlokat
  • szinkronizál- lehetővé teszi a /bin/sync parancs végrehajtását
  • játékok- Lehetővé teszi a játékok számára, hogy a beállításokat és az előzményeket egy adott mappába írják
  • Férfi- lehetővé teszi oldalak hozzáadását a /var/cache/man könyvtárhoz
  • lp- lehetővé teszi a párhuzamos portos eszközök használatát
  • levél- lehetővé teszi az adatok írását postafiókok/var/mail/
  • meghatalmazott- proxy szerverek használják, nincs hozzáférés a fájlok lemezre írásához
  • www-adatok- a webszerver ezzel a csoporttal indul, hozzáférést biztosít a /var/www bejegyzéshez, ahol a webes dokumentumfájlok találhatók
  • lista- lehetővé teszi az üzenetek megtekintését a /var/mail mappában
  • nincs csoport- olyan folyamatokhoz használják, amelyek nem tudnak fájlokat létrehozni a merevlemezen, hanem csak olvassák azokat, általában a senki felhasználóval együtt használják.
  • adm- lehetővé teszi a naplók olvasását a /var/log könyvtárból
  • tty- minden eszköz /dev/vca olvasási és írási hozzáférést biztosít a csoporthoz tartozó felhasználók számára
  • korong- megnyitja a hozzáférést a /dev/sd* /dev/hd* merevlemezekhez, azt mondhatjuk, hogy ez a root hozzáférés analógja.
  • betárcsázó - teljes hozzáférés soros portra
  • CD ROM- hozzáférés a CD-ROM-hoz
  • kerék- lehetővé teszi a sudo segédprogram futtatását a jogosultságok kiterjesztéséhez
  • hang-- audio driver kezelése
  • src- teljes hozzáférés a /usr/src/ könyvtárban található forrásokhoz
  • árnyék- lehetővé teszi az /etc/shadow fájl olvasását
  • utmp- lehetővé teszi a /var/log/utmp /var/log/wtmp fájlok írását
  • videó- lehetővé teszi a videó-illesztőprogram használatát
  • plugdev- lehetővé teszi a felszerelést külső eszközök USB, CD stb
  • személyzet- lehetővé teszi az írást a /usr/local mappába

Most, hogy tudja, miért használ csoportokat a Linuxban, és mik ezek alapértelmezés szerint, nézzük meg a LInux-csoportok kezelését.

Linux csoportkezelés

A csoportokat a grafikus felület segítségével is kezelheti. A KDE-ben van egy Kuser nevű program, amelyet kifejezetten erre terveztek, és a Gnome-ban ez a rendszerbeállítások segítségével történik. Ezenkívül a népszerű disztribúciók külön eszközökkel rendelkeznek, mint például a YaST az OpenSUSE-ban vagy Ubuntu beállítások. Orr grafikus felület Szerintem majd rájössz. És megvizsgáljuk a Linux-csoportok terminálon keresztüli kezelését. Először is foglalkozzunk a fájlokkal, és csak azután a felhasználókkal.

A fájl létrehozásakor a rendszer hozzárendeli az azt létrehozó felhasználó elsődleges csoportját. Ez pont ilyen:

Itt látható, hogy az összes mappa tulajdonosa sergiy és a csoport is sergiy. Helyes, mivel ezeket a felhasználókat én hoztam létre. De menjünk tovább:

Itt azt látjuk, hogy az sd* lemezeszközök a lemezcsoporthoz vannak hozzárendelve, ami mind azt jelenti, hogy egy ebbe a csoportba tartozó felhasználó hozzáférhet hozzájuk. Vagy egy másik példa:

Minden úgy van, ahogy az előző bekezdésben tárgyaltuk. De ezeket a csoportokat nem csak a rendszer állíthatja be, hanem Ön is manuálisan módosíthatja a fájlcsoportokat; erre van a chgrp parancs:

chgrp csoport_neve fájlnév

Például hozzunk létre egy fájltesztet:

És változtassuk meg a csoportot:

Ha linux csoportot szeretne létrehozni, ezt a newgrp paranccsal teheti meg:

sudo groupadd teszt

A felhasználók helyzete kicsit bonyolultabb. A felhasználónak van egy főcsoportja, amelyet a létrehozás során adnak meg, valamint több további csoport is. A főcsoport abban különbözik a megszokottaktól, hogy a felhasználó saját könyvtárában minden fájlban megtalálható ez a csoport, és ennek megváltoztatásakor ezen könyvtárak csoportja is megváltozik. Ezenkívül a felhasználó által létrehozott összes fájl megkapja ezt a csoportot. További csoportokra van szükség, hogy lehetővé tegyük a felhasználók számára a különböző erőforrásokhoz való hozzáférést azáltal, hogy hozzáadjuk őket ezekhez a Linux csoportokhoz.

A felhasználók Linux csoportjainak kezelése a usermod paranccsal történik. Nézzük a szintaxisát és beállításait:

$usermod opciók Felhasználónév

  • -G- további csoportok, amelyekhez hozzá kell adni a felhasználót
  • -g módosítsa a felhasználó elsődleges csoportját
  • -R felhasználó eltávolítása a csoportból.

A usermod paranccsal felvehet egy felhasználót egy csoportba:

sudo usermod -G -a csoport_név felhasználónév

A newgrp paranccsal ideiglenesen hozzáadhat egy felhasználót a linux csoporthoz. Megnyílik egy új shell, amelyben a felhasználó rendelkezik a szükséges engedélyekkel, de bezárás után minden visszaáll úgy, ahogy volt:

sudo newgrp csoport_neve

Példaként adjuk hozzá a felhasználónkat a lemezcsoporthoz, hogy a sudo parancs nélkül közvetlenül elérhessük a merevlemezeket:

sudo usermod -G -a lemez sergiy

Most már csatlakoztathatja a lemezeket a sudo parancs nélkül:

mount /dev/sda1 /mnt

A következő paranccsal megtekintheti azokat a Linux csoportokat, amelyekben a felhasználó tagja:

Használhatja az id parancsot is. Az első esetben egyszerűen a Linux-csoportok listáját látjuk, a másodikban pedig a csoport és a felhasználói azonosító is fel van tüntetve. Ha egy felhasználót szeretne hozzáadni egy Linux-csoporthoz, használja a -g kapcsolót az elsődleges csoporthoz.

Hozzuk létre a vivek felhasználót, és adjuk hozzá a fejlesztői csoporthoz. Bejelentkezés root felhasználóként:

Például adjunk hozzá egy felhasználót vivek:

useradd -g felhasználókat -G rendszergazdák,ftp,www,fejlesztők -s/bin/bash -oxxxx-d/home/ghost -m vivek

  • -d kezdőkönyvtár
  • -sállítsa be a kezdő shellt (/bin/sh) - ezt követően módosíthatja a fájlban /etc/passwd
  • -o Jelszó
  • -g elsődleges csoport, amelyhez a felhasználó hozzá van rendelve (a csoportnak léteznie kell)
  • -G más csoportok, amelyekhez a felhasználó hozzá van rendelve
  • -m hozzon létre egy saját könyvtárat a felhasználó számára
  • xxxx karakteres felhasználói jelszó

Győződjön meg arról, hogy a fejlesztői csoport létezik:

# grep fejlesztők /etc/group

Ha nincs csoport, használja a parancsot groupaddúj fejlesztői csoport létrehozásához:

Most használja a parancsot usermod add hozzá a vivek felhasználót a fejlesztői csoporthoz:

# adduser vivek fejlesztők && newgrp fejlesztők

Győződjön meg arról, hogy a felhasználó felkerült a fejlesztői csoportba:

#id vivek
Kimenet:
uid=1122(vivek) gid=1125(vivek) csoportok=1125(vivek),1124(fejlesztők)

Állítsa be/módosítsa a vivek felhasználó jelszavát:

Játsszunk csoportokkal

Mondjuk meg a vivek felhasználónak, hogy csak a fejlesztői csoportban vegyen részt

usermod-G fejlesztők vivek

Mondjuk meg a vivek felhasználónak, hogy csak az adminok, ftp, www, fejlesztői csoportokban vegyen részt, ehhez írja be:

# usermod -G adminok,ftp,www,fejlesztők vivek

Távolítsuk el a vivek felhasználót néhány csoportból (rendeljük hozzá újra a csoportokat):

# usermod -G ftp,www vivek

most a vivek nem szerepel az adminisztrátorok és fejlesztők csoportjában.

Jegyzet: csapat usermod nem módosítja a felhasználónevet, ha az adott felhasználó be van kapcsolva Ebben a pillanatban működik a rendszerben.

userdel- felhasználó törlése

Például törölje a vivek felhasználót:

  • -r törölje a felhasználót a kezdőkönyvtárral együtt

Részletes SZINTAXIS

useradd [-u azonosító[-o] [-i]] [-g csoport] [-G csoport[[,csoport] . . .]] [-d katalógus] [-s héj] [-c egy komment] [-m [-k skel_dir]] [-f inaktív] [-e lejár] [-p passgen] [-a esemény[, . . .]] reg_name

Részletes leírás

Hívás useradd rendszerint új felhasználói bejegyzést ad a rendszeradatfájlokhoz azonosítás és személyazonosság ellenőrzése(Azonosítás és hitelesítés – I&A). A kivétel a felhasználók hálózati információs szolgáltatás(Network Information Service vagy röviden NIS). Lehetővé teszi továbbá, hogy a felhasználó számára további csoportokban tagságot adjon meg (opció -G), és hozzon létre neki egy kezdőkönyvtárat (opció -m). Az új bejelentkezés a parancs végrehajtásáig blokkolva van passwd.

Közvetlenül a telepítés után a különböző paraméterek szabványos értékei megjelennek a fájlban /etc/default/useradd. Az alapértelmezett értékeket igénylő, alább felsorolt ​​opciók alapértelmezett értékei a paranccsal módosíthatók defadm.

Hozzászólások rendszerfájl, amelyek ezzel a paranccsal jöttek létre, soronként 512 karakter hosszúságúak. Ha több opciót is hosszú argumentumok adnak meg, ez a korlátozás megsérthető.

A következő opciók támogatottak:

-u azonosító Felhasználói azonosító szám (UID). Ennek a számnak egy nem negatív egész számnak kell lennie, amely nem lehet nagyobb, mint MAXUID-ban meghatározott sys/param.h. Az alapértelmezés a következő elérhető (egyedi) nem örökölt UID, amely 99-nél nagyobb. Ezt a beállítást a rendszer figyelmen kívül hagyja, ha az új bejelentkezést a Network Information Service (NIS) fogja felügyelni. Az ezzel kapcsolatos további információkért tekintse meg az alábbi „Hálózati információs szolgáltatás regisztrációs nevei” részt.
-o Ez az opció lehetővé teszi az UID megkettőzését (nem egyedivé tételét). Mivel a rendszer egészének védelme, valamint az integritás ellenőrzési nyomvonal(ellenőrzési nyomvonal) és számviteli információk(könyvelési információ) különösen attól függ, hogy az egyes UID-k egyedileg megfelelnek-e egy adott személynek, ennek az opciónak a használata nem ajánlott (a felhasználói műveletek figyelembevétele érdekében).
-én Lehetővé teszi egy örökölt UID használatát.
-g csoport Egy létező csoport egész szám azonosítója vagy szimbolikus neve. Ez az opció határozza meg törzscsoport(elsődleges csoport) egy új felhasználó számára. Alapértelmezés szerint a fájlban megadott szabványos csoport kerül felhasználásra /etc/default/useradd
-G csoport[[,csoport] . . .] Egy vagy több elem egy vesszővel elválasztott listában, amelyek mindegyike egy létező csoport egész szám azonosítóját vagy szimbolikus nevét jelöli. Ez a lista határozza meg tagság további csoportokban(kiegészítő csoporttagság) a felhasználó számára. Az ismétléseket figyelmen kívül hagyjuk. A listában szereplő elemek száma nem haladhatja meg NGROUPS_MAX-1, mivel egy felhasználó plusz a főcsoport további csoportjainak száma nem haladhatja meg NGROUPS_MAX. Ezt a beállítást a rendszer figyelmen kívül hagyja, ha az új bejelentkezést a Network Information Service (NIS) fogja felügyelni. Lásd alább a „Hálózati információs szolgáltatás regisztrációs nevei” című részt.
-d könyvtár Indítási könyvtár(honlapkönyvtár) az új felhasználó. Ennek a mezőnek a hossza nem haladhatja meg a 256 karaktert. Az alapértelmezett HOMEDIR/reg_name, Ahol HOMEDIR- az alapkönyvtár az új felhasználók kezdeti könyvtáraihoz, és reg_name- az új felhasználó regisztrációs neve.
-s shell A program teljes elérési útja, amelyet a felhasználó kezdeti parancsértelmezőjeként használnak közvetlenül a regisztráció után. Ennek a mezőnek a hossza nem haladhatja meg a 256 karaktert. Alapértelmezés szerint ez a mező üres, ami arra kényszeríti a rendszert, hogy a szabványos parancsértelmezőt használja /usr/bin/sh. Értékként héj létező futtatható fájlt kell megadni.
-c megjegyzés Bármilyen szöveges karakterlánc. Általában ezt Rövid leírás regisztrációs név, és most a valódi felhasználó vezeték- és keresztnevének jelzésére szolgál. Ezek az információk a felhasználói rekordban, egy fájlban tárolódnak /etc/passwd. Ennek a mezőnek a hossza nem haladhatja meg a 128 karaktert.
-m Létrehoz egy új felhasználó saját könyvtárát, ha még nem létezik. Ha a címtár már létezik, a hozzáadandó felhasználónak jogosultsággal kell rendelkeznie a megadott könyvtár eléréséhez.
-k skel_dir Egy könyvtár tartalmát másolja skel_dir az új felhasználó saját könyvtárába, a szabványos „csontváz” könyvtár tartalma helyett, /etc/skel. Katalógus skel_dir léteznie kell. A szabványos "csontváz" könyvtár szabványos fájlokat tartalmaz, amelyek meghatározzák a felhasználó munkakörnyezetét. A rendszergazda által megadott könyvtár skel_dir tartalmazhatnak hasonló, meghatározott célra létrehozott fájlokat és könyvtárakat.
-f inaktív A regisztrációs név használata között megengedett maximális napok száma, mielőtt a nevet már érvénytelenné nyilvánították. Az értékek általában pozitív egész számok.
-e lejár Az a dátum, amelytől kezdve a regisztrációs név már nem használható; Ezen dátum után egyetlen felhasználó sem férhet hozzá ezzel a bejelentkezési névvel. (Ez az opció ideiglenes bejelentkezések létrehozásakor hasznos.) Adjon meg egy argumentumértéket lejár(dátumot jelöl) bármilyen formátumú lehet (kivéve a Julián-dátumot). Például megadhatja, hogy 10/6/1999 vagy 1999. október 6.
-p passgen Azt jelzi, hogy a FLAG mező a fájlban /etc/shadow a megadott értékre kell állítani. Ez a mező a paranccsal érhető el passwd annak megállapítására, hogy a jelszógenerátor érvényes-e egy adott felhasználóra. Ha opció -o nincs kifejezetten megadva, a bevitel ellenőrzött FORCED_PASS fájlban /etc/default/useradd a megfelelő mező értékének meghatározásához /etc/shadow. Ha rekordok FORCED_PASS nincs be /etc/default/useradd, a bejegyzés megfelelő mezőjében /etc/shadow nem fog számítani. Ha az érték FORCED_PASS egyenlő 1, belépés /etc/shadowértéket kapja 1. Ha az érték passgen nem üres, és nem nyomtatható ASCII karakter, diagnosztikai üzenet jelenik meg.
- esemény Eseménytípusok vagy osztályok listája, vesszővel elválasztva, képző audit maszk(audit maszk) a felhasználó számára. Közvetlenül a rendszer telepítése után nincs szabványos audit maszk a felhasználó számára, de a fájlban beállítható /etc/default/useradd parancs segítségével defadm. Ez az opció csak akkor használható, ha az Auditing Utilities telepítve van. (Ha meg szeretné tudni, milyen csomagok vannak telepítve a rendszerre, futtassa a parancsot pkginfo.)
reg_name Nyomtatható karakterlánc, amely megadja az új felhasználó bejelentkezési nevét. Nem tartalmazhat kettőspontot ( : ) és soremelés karakterek ( \n). Szintén ne kezdődjön nagybetűvel.

Vegye figyelembe, hogy a fent tárgyalt paraméterek alapértelmezett értékei közül sok módosítható a paranccsal defadm, amelyet fájlokkal való együttműködésre terveztek /etc/default/useradd. Ezek az alapértelmezett értékek csak a helyi felhasználókra vonatkoznak. A NIS-felhasználók esetében az alapértelmezett értékek a Network Information Service adatbázisban vannak beállítva. A NIS alapértékeinek módosításához meg kell adnia a parancssorban a beállításokat.

Hálózati információs szolgáltatás regisztrációs nevei

Ha a bejelentkezési név karakterrel kezdődik + , (Például, +Chris), a felhasználói definíciót a Network Information Service (NIS) kezeli. Az alapértelmezett értékeket a rendszer a NIS-adatbázis alapján határozza meg, nem pedig a fájl alapján /etc/defaults/useradd. Az opciók érvértékei -u, -gÉs -G csendben figyelmen kívül hagyja ezeket a beállításokat. Ehelyett a felhasználói azonosító és a csoportazonosító értékeket a NIS adatbázisból veszik. A részletekért lásd a súgóoldalt. passwd. Kérjük, vegye figyelembe, hogy NIS-felhasználó hozzáadásakor a bejelentkezési névnek már léteznie kell a NIS-adatbázisban. Például bejelentkezési név hozzáadásához Chris NIS felhasználónévként, Chris már léteznie kell a NIS adatbázisban. Akkor fel kell hívni useradd regisztrációs névvel +Chris jelzi, hogy felhasználót kell hozzáadni Chris NIS felhasználóként, nem helyi felhasználóként.

FÁJLOK

/etc/default/useradd
/etc/group
/etc/passwd
/etc/security/ia/ageduid
/etc/security/ia/audit(ha az Auditing Utilities telepítve van)
/etc/security/ia/index
/etc/security/ia/master
/etc/shadow
/etc/skel

DIAGNOSZTIKA

Csapat useradd 0 visszatérési kóddal lép ki, ha sikeres. Ha hibák lépnek fel, a következő üzenetek jelenhetnek meg:


Érvénytelen szintaxis parancs sor.
A parancssori szintaxis érvénytelen.
Érvénytelen argumentumot adtunk meg az opcióban.
Érvénytelen argumentumhoz adtak meg egy opciót.
Az -u opcióban megadott azonosító már használatban van, de az -o opció nincs megadva.
Az -u kapcsolóval megadott uid már használatban van, a -o opció pedig nincs megadva.
A -g paraméterrel megadott csoport nem létezik.
A -g paraméterrel megadott csoport igen nem létezik.
A megadott bejelentkezési név nem egyedi.
A megadott bejelentkezés nem egyedi.
Az /etc/group módosítása nem sikerült. A bejelentkezés hozzáadódik az /etc/passwd fájlhoz, de nem az /etc/group fájlhoz.
Az /etc/group nem frissíthető. A bejelentkezés hozzá lett adva az /etc/passwd fájlhoz, de nem az /etc/group fájlhoz.
A kezdőkönyvtár nem hozható létre (a -m kapcsolóval), vagy a skel_dir átmásolása a kezdőkönyvtárba nem sikerült.
Nem sikerült létrehozni a saját könyvtárat (a -m kapcsolóval), vagy nem lehet befejezni a skel_dir másolatát a saját könyvtárba.
Az azonosító nem elég régi. Válassz másikat.
uid nem öregedett eléggé. Válassz másikat.
Érvénytelen -a opció lett megadva; rendszerszolgáltatás nincs telepítve.
Érvénytelen -a opció lett megadva; rendszerszolgáltatás nincs telepítve.
A megadott megfigyelési eseménytípus vagy osztály érvénytelen.
Érvénytelen megfigyelési eseménytípus vagy osztályesemény került megadásra.

Többfelhasználós hozzáférést biztosító rendszerek, akár operációs rendszer OS, szoftver(szoftver), tartalomkezelő rendszer (CMS), nagyon fontos, hogy rendelkezzenek a felhasználók megbízható kezeléséhez (fiókjaik vagy fiókjaik, felhasználói konfigurációik, saját könyvtáraik stb.), valamint magának a felhasználói hozzáférésnek a megszervezéséhez és kezeléséhez szükséges eszközök. Ilyen esetekben kulcsfontosságú szempont a felhasználók (pontosabban fiókjaik) hozzáértő és átgondolt kezelése, amelytől a teljes rendszer biztonsága, stabilitása és ebből adódóan megbízhatósága múlik. A modern Linux disztribúciók rendelkeznek automatizált rendszerek felhasználókezelés áttekinthető grafikával felhasználói felület(GUI), amely lehetővé teszi a rutin (a valóságban kiderült) tevékenységek gyors és kényelmes elvégzését a felhasználók kezeléséhez és fiókjaik konfigurálásához. Nagyon fontos azonban annak ismerete és megértése, hogy a felhasználókezelés során hogyan és milyen tényleges folyamatok, változások történnek magában a rendszerben.

Felhasználók hozzáadása Linuxban

Ha új John nevű felhasználót szeretne hozzáadni a rendszerhez, egyszerűen futtassa a parancsot:

$sudo useradd john

Ezzel a következő bejegyzés jön létre az /etc/passwd fájlban:

John:x:535:20: :/home/john:/bin/sh

Azonban a csapat useradd sokkal nagyobb lehetőségei vannak, pl.

$ sudo useradd -c "John Silver" -d /home/kalózok/john -g kalózok -G john -m -s /bin/bash john

Ez a parancs hozzáad egy "John Silver" teljes névvel és "john" bejelentkezési névvel rendelkező felhasználót a rendszerhez. Ha beveszi a "kalózok" főcsoportba, egy másik "john" csoporthoz is hozzáadja, és hozzárendel egy saját könyvtárat a /home/pirates/john címen. Ennek eredményeként a megfelelő bejegyzés az /etc/passwd fájlban a következő lesz:

John:x:535:30:John Silver:/home/kalózok/john:/bin/bash

Csapat useradd automatikusan létrehozza a felhasználó saját könyvtárát, ha még nem hozta létre. A az /etc/skel/ fájlokat is belemásolja.

A paraméterek teljes listája useradd

Használat: useradd [opciók] USER
useradd -D
useradd -D [opciók]

Lehetőségek:
-b, --base-dir BAZ_KAT alapkönyvtár az új kezdőkönyvtárához
fiókot
-c, --comment MEGJEGYZÉS mező GECOS az új fiókhoz
-d, --home-dir DOM_KAT kezdőkönyvtár az új fiókhoz
-D, --alapértelmezett beállítások megjelenítése vagy módosítása
alapértelmezett a useradd
-e, --expiredate DATE_STATE az új fiók lejárati dátuma
-f, —inaktív INAKTIVITÁS az új fiók jelszavának inaktivitási időszaka
-g, --gid CSOPORT neve vagy az új elsődleges csoportjának azonosítója
fiókot
-G, --groups CSOPORTOK az új további csoportjainak listája
fiókot
-k, --skel A CAB_SHAB alternatív könyvtárat használ sablonokkal
-K, --key KEY=ÉRTÉK helyettesíti az alapértelmezett értéket
az /etc/login.defs fájlból
-l, --no-log-init nem adja hozzá a felhasználót a lastlog adatbázisokhoz és
hibanapló
-m, --create-home létrehozza a felhasználó saját könyvtárát
-M, --no-create-home nem hozza létre a felhasználó saját könyvtárát
-N, --no-user-group ne hozzon létre azonos nevű csoportot, mint
felhasználó
-o, --non-unique lehetővé teszi a felhasználók létrehozását
ismétlődő (nem egyedi) UID-k
-o, --password PASSWORD titkosított jelszó az új fiókhoz
-r, --system rendszerfiók létrehozása
-R
-s, --shell SHELL regisztrációs shell az új
fiókot
-u, —uid UID az új fiók felhasználói azonosítója
-U, --user-group hozzon létre egy csoportot ugyanazzal a névvel, mint
felhasználó
-Z, --selinux-user SEUSER használja a megadott SEUSER-t ehhez
SELinux egyéni leképezés

Saját könyvtár létrehozása és hozzárendelése a felhasználóhoz

Általában egy saját könyvtár automatikusan létrejön, amikor egy felhasználót adnak a rendszerhez. De van, amikor valamilyen oknál fogva nem jön létre a saját könyvtár. És akkor létre kell hozni. A felhasználó saját könyvtárának létrehozásához használja a szabványos mkdir parancsot. Ezt követően át kell másolni a szükséges konfigurációs szkripteket a kezdőkönyvtárba (a felhasználó munkakörnyezetének rendszerezéséhez), majd a chown és chmod parancsok segítségével be kell állítani a tulajdonosi és hozzáférési módokat a könyvtárra és annak tartalmára. Ezt a legjobb, ha az összes konfigurációs fájlt a célkönyvtárba másolta. Például:

$ mkdir /home/john/ $ cd /etc/skel/ $ cp -Rp . /home/john/ $ chown -R john:john /home/john/ $ chmod -R 644 /home/john/ $ find /home/john/ -type d -exec chmod 755 () \;

Amint láthatja, a konfigurációs fájlok az /etc/skel/ könyvtárból lettek másolva – itt találhatók az indítási konfigurációk példái, amelyek szükség szerint szerkeszthetők. Egyébként az /etc/skel/ könyvtárban lévő fájlok módosított másolatát az usr/local/etc/skel könyvtárban kell tárolni. A saját könyvtár tulajdonosának beállításakor ügyelni kell arra, hogy (a chown parancs hanyag használata esetén) a felhasználó ne legyen a ".." pszeudokönyvtár, azaz a fenti címtárszint tulajdonosa, ami gyakran a /home könyvtár, ami biztonsági okokból elfogadhatatlan.

Jelszó létrehozása a felhasználó számára

Biztonsági okokból a fióknak erős jelszóval kell rendelkeznie. Amit a felhasználói fiók létrehozása után azonnal be kell állítani:

$ sudo passwd_új_felhasználó neve

Például jonh felhasználó számára:

$ sudo passwd john Új jelszó: Adja meg újra az új jelszót: passwd: Minden hitelesítési adat sikeresen frissült.

Számlaellenőrzés

Mielőtt átadná a fiókjába való bejelentkezéshez szükséges adatokat és kezdeti jelszót egy új felhasználónak, ellenőrizni kell. Ehhez be kell fejeznie az aktuális munkamenetet. És jelentkezzen be az új felhasználó nevével (akinek a fiókját ellenőrizni kell). És futtassa a következő parancsokat egymás után:

$ pwd $ ls -al

Az első az aktuális felhasználó saját könyvtárát jeleníti meg, a második pedig az összes (beleértve a rejtett) fájlt és alkönyvtárat is megjeleníti a saját könyvtárban, feltüntetve azok tulajdonosát és hozzáférési módjait.

Számlavezetés

Amint azt korábban megjegyeztük, a Linux rendszerek felhasználóinak kezelésére speciális segédprogramok állnak rendelkezésre a fiókok (felhasználók) hozzáadásához, szerkesztéséhez és törléséhez - useradd, usermod és userdel. A műveletek meghatározott sorrendjét követik egy végcél elérése érdekében – például új felhasználó hozzáadása esetén a parancs useradd ennek megfelelően előállítja a fent leírt teljes „tevékenységkészletet”. Ezen segédprogramok mindegyike rugalmasan konfigurálható konfigurációs fájlok segítségével, amelyeket egyébként a Linux disztribúció fejlesztői nagyon aktívan használnak. Végül is a különböző Linux rendszereken ezeknek a segédprogramoknak a működése kissé eltér, bár a segédprogramok lényegében azonosak. Az alábbiakban egy táblázat mutatja be a parancsokat és konfigurációs fájlokat egyes rendszerek felhasználói kezeléséhez, példaként a segédprogram használatával useradd:

Rendszer Csapatok Konfigurációs fájlok Egy komment
Ubuntu useradd /etc/login.defs
felhasználó hozzáadása /etc/default/useradd Perl verzió
/etc/adduser.conf
SUSE useradd /etc/login.defs
/etc/default/useradd
/etc/default/passwd
/usr/sbin/useradd.local Helyi beállítások
/usr/sbin/userdel.local Helyi beállítások
/usr/sbin/userdel-pre.local Helyi beállítások
/usr/sbin/userdel-post.local Helyi beállítások
piros kalap useradd /etc/login.defs
/etc/default/useradd
Solaris useradd /etc/default/(login,passwd)
/etc/security/policy.conf

Felhasználók eltávolítása

A felhasználók rendszerből való eltávolításához használja a userdel parancsot, például a parancsot

userdel john

Törli a john felhasználót, de gyakran (mint például a parancs useradd, egyébként) nem „tiszta” formában, hanem Perl shell-ek formájában egy fióktörlő szkript segítségével. Például az Ubuntu disztribúciók a deluser parancsot használják, amely egy gyakori Perl-szkript. Ez viszont magát a userdel parancsot hívja meg, hogy töröljön és megtisztítson mindent, amit a parancs korábban végrehajtott useradd. Ebben az esetben egy parancsfájlt használnak (általában az /etc/deluser.conf fájlt Ubuntuban és /etc/login.defs fájlt a RedHatban). Ez lehetővé teszi a következő beállítások megadását a userdel parancshoz:

Használat: userdel [opciók] USER

Lehetőségek:
-f, --kényszeríti a felhasználó és a fájlok törlését, még akkor is, ha jelenleg használatban vannak
-r, --remove távolítsa el a saját könyvtárat és a postafiókot
-R, --root CAT_CHROOT könyvtár a chroot-ba
-Z, --selinux-user távolítsa el az összes felhasználói hozzárendelést
SELinux a felhasználó számára

/etc/passwd fájl – a helyi fiókok leírása

Ha a rendszer nem használ automatizált címtárkezelési szolgáltatást (például LDAP, NIS), akkor az /etc/passwd fájl az a fájl, amely a rendszer által ismert felhasználói fiókokról tárol információkat. A rendszer minden alkalommal hozzáfér ehhez a fájlhoz, amikor a felhasználó megkísérli a hitelesítést, megkeresi a szükséges felhasználói azonosítót, és meghatározza a saját könyvtárát. Ennek a fájlnak a formátuma az, hogy minden sor egy adott felhasználónak (fióknak) felel meg, amely (egy sorban) kettősponttal elválasztva felsorolja a fiók attribútumait (mezőit):

  1. Felhasználónév.
  2. Felhasználói jelszó (titkosított) vagy „helyőrző” jelszó.
  3. Felhasználói azonosító.
  4. Felhasználói csoport azonosítója (alapértelmezett).
  5. GECOS információk - teljes név, iroda, telefonszámok stb.
  6. Főkönyvtár.
  7. Regisztrációs shell.

Az /etc/passwd fájl tartalma így nézhet ki: Mint látható, az összes bejegyzés második mezője egy „x”-et, egy jelszó helyőrzőt tartalmaz. Linux rendszereken a titkosított jelszavakat külön tárolják az /etc/shadow fájlban. Ha az automatikus címtárkezelési szolgáltatást az /etc/passwd fájllal együtt használjuk, akkor ugyanabban a fájlban a „+” karakterrel kezdődő bejegyzések is szerepelnek. Ezek a bejegyzések utasításokat adnak a címtárkezelési szolgáltatások rendszerbe való integrálásához. Érdemes gyorsan átnézni a fiókmezőket:

  • Felhasználónév vagy bejelentkezési név- egyedi név, amelyet az adott rendszer regisztrációs neveinek összeállítására vonatkozó szabályok szerint kell összeállítani. Linux esetén a bejelentkezési név legfeljebb 32 karakter hosszú lehet. Csak kisbetűk és számok használhatók. A regisztrációs névnek betűvel kell kezdődnie.
  • Titkosított jelszó- Mint már említettük, a helyi fiókok jelszavai az /etc/shadow fájlban tárolódnak titkosított formában. Linuxban crypt, MD5 és Blowfish algoritmusokat használnak kriptográfiai eszközökként a jelszavak titkosítására. A jelszó minimális hossza 5 karakter, maximum 8 karakter
  • Felhasználói azonosító egy előjel nélküli egész szám, amely alapján a rendszer „felismeri” az egyes felhasználókat, így a felhasználói azonosítókat a rendszer és a szoftverkörnyezet használja, míg a felhasználóneveket a felhasználók rendszerben való áttekinthetősége és egyszerű megjelenítése érdekében. Mert root felhasználó a 0-s számú azonosító le van foglalva, az 500 utáni azonosítók valós felhasználókhoz is ajánlott hozzárendelni, mivel sok „nem személyre szabott” felhasználó lehet a rendszerben, mint például bin vagy démon – így a felhasználók listája rendben lesz, elkerülje a zavart. A Linux rendszerek pszeudo-user nobodyt is biztosítanak -1 vagy -2 azonosítóval. Általában ezt a pszeudo-felhasználót használják, amikor a rendszer-felhasználó olyan fájlokhoz próbál hozzáférni, amelyeket egy másik számítógépről csatoltak, amely nem bízik az eredeti számítógépben.
  • Csoportazonosító- egy felhasználói azonosítóhoz hasonló előjel nélküli egész szám, amely egyedi felhasználói csoportok kijelölésére szolgál a rendszerben. A 0-s csoport a gyökércsoport számára van fenntartva. A csoportokat elsősorban a fájlok kényelmes kezelésére és megosztására használják. A felhasználói azonosítókhoz hasonlóan a rendszer fenntartja a csoportokat (mint például a bin) a rendszer számára.
  • TerületGECOS– olyan információk, amelyek nem rendelkeznek egyértelműen meghatározott specifikációval, további adatokat tükröznek a felhasználóról: teljes neve, telefonszámai, beosztással és részleggel kapcsolatos információk, stb. Az ebben a mezőben található információk a chfn paranccsal módosíthatók.
  • Főkönyvtár- egy „hely” a fájlrendszer fában, amely egy adott felhasználó adatainak tárolására van fenntartva. Biztonsági okokból ehhez a címtárhoz csak az a felhasználó férhet hozzá, akinek ez a címtár tulajdonosa. Ha a regisztrációkor nincs saját könyvtár, akkor a felhasználói adatok a / könyvtárba kerülnek. Továbbá, ha a /etc/login.defs fájl DEFAULT_HOME paramétere, amely az alapértelmezett saját könyvtárat határozza meg, no-ra van állítva, akkor a felhasználó engedélyezése/regisztrációja lehetetlen.
  • Regisztrációs shell- parancsértelmező (vagy bármely más program) parancshéja, amely akkor indul el, amikor a felhasználó bejelentkezik a fiókjába. Linux esetén tolmácsot használnak

/etc/group fájl – felhasználói csoportok létrehozása és törlése

Új csoport hozzáadása Linuxban a paranccsal történik

$groupadd csoport_neve

ahol a csoport_neve az új csoport neve. Ez a parancs új bejegyzést hoz létre az /etc/group fájlban

Ennek a fájlnak a formátuma megegyezik az /etc/passwd formátummal. Példa az /etc/group fájl tartalmára:
Mint látható, minden sor négy mezőt tartalmaz:

  1. Csoport név.
  2. Titkosított jelszó vagy jelszó helyőrző.
  3. Egyedi csoportazonosító.
  4. A csoportba tartozó felhasználók listája, amely a felhasználóneveket szóközök nélkül, vesszővel elválasztva tartalmazza.

Az érdekesség itt a jelszómező. A csoportjelszó célja, hogy a felhasználók a newgrp paranccsal csatlakozhassanak a csoporthoz. Magának a csoportnak a jelszavát a gpasswd paranccsal állítja be, majd az /etc/gshadow fájlban titkosított formában tárolódik. Meg kell azonban jegyezni, hogy a csoportok jelszavait rendkívül ritkán használják. Rendszergazdák Figyelni kell az /etc/passwd és /etc/group fájlok tartalmát, és összehangolni kell őket egymással, mivel néha előfordulnak olyan helyzetek, amikor egy felhasználót egy csoport tagjaként adnak meg az /etc/passwd fájlban, és ezzel egyidejűleg. amikor nincs ilyen deklaráció az /etc/group fájlban. Megjegyzendő, hogy ebben az esetben a felhasználót a csoport tagjának tekintjük, de továbbra is erősen ajánlott mindkét fájl tartalmát egyeztetni.

Alapértelmezés szerint a Linux disztribúciókban (kivéve a SUSE) felhasználó létrehozásakor (a segédprogram useradd) létrejön az azonos nevű csoportja, amelybe azonnal bekerül. Ennek célja, hogy a lehető legnagyobb mértékben kiküszöbölje annak lehetőségét, hogy a különböző felhasználók hozzáférjenek egymás fájljaihoz.

A paranccsal törölhet egy felhasználói csoportot

$groupdel csoport_neve

Ez a parancs eltávolítja az /etc/group bejegyzést.

/etc/shadow fájl – jelszavak tárolása

Egy külön /etc/shadow fájl a rejtett vagy árnyékjelszavak tárolására szolgál. Amelyhez csak a szuperfelhasználó férhet hozzá. Azt is meg kell jegyezni, hogy az /etc/shadow és az /etc/passwd fájlok fogalmilag összefüggenek, de rendszerszinten gyakorlatilag nincs interakció közöttük. Kivéve, hogy a bejelentkezési nevet árnyékban tartalmazó mező a passwd-ből származik. Azok. Shadow módosításakor a változások nem jelennek meg automatikusan a passwd-ben – ezeket a fájlokat külön tárolja, és a rendszer egymástól függetlenül dolgozza fel. Az /etc/shadow formátuma hasonló az /etc/passwd fájlhoz, és minden sor a következő mezőket tartalmazza:

  1. Regisztrációs név.
  2. A jelszó titkosítva van.
  3. dátum utolsó változtatás Jelszó.
  4. Minimális napok száma a jelszóváltások között.
  5. A napok maximális száma a jelszóváltások között.
  6. A jelszó lejárati üzenet kiadása előtti napok száma.
  7. A napok száma (a jelszó lejárta után), amíg a fiók automatikusan megszűnik.
  8. Számla érvényességi ideje.
  9. Fenntartott mező.

Az /etc/shadow fájl bejegyzése így néz ki:

János:$md5$em5JhGE$a$iQhgS70sakdRaRFyy7Ppj. :14469:0:180:14: : :


Megjegyzendő, hogy az első két mező kitöltése kötelező. A dátummezők formátuma az 1970. január 1-je óta eltelt napok számának felel meg. A regisztrációs név mező, mint már említettük, az /etc/passwd fájl megfelelő értékével van kitöltve. Linuxon a hetedik mező egy értéket tartalmaz, amely meghatározza, hogy a jelszó lejárta után mennyi idővel (napokban) lesz automatikusan letiltva a fiók. Ez az értelmezés eltér a Solaris és a HP-UX rendszereken használt értelmezéstől. A nyolcadik mezőben a usermod paranccsal éééé-hh-óó formátumban állíthatja be a fiók lejárati dátumát.

Ha hibát talál, jelöljön ki egy szövegrészt, és kattintson rá Ctrl+Enter.




Top