/etc-ből mit kell meneteni felhasználó és jelszó módosításhoz?

Fórumok

Sziasztok!

Már szinte úgy használható a live linuxom, mint egy desktop oprendszer, ám a kényelemhez hiányzik még a felhasználókezelés. A gép leállításakor mentem a felhasználói profilokat.

Az a gérdésem, mely file-okat kell eltárolnom, ha azt szeretném, hogy a felhasználók jelszavaikat megváltoztathassák, új felhasználók jöhessenek létre. Ezekre gondoltam elsőre:

/etc/group
/etc/group-
/etc/gshadow
/etc/gshadow-
/etc/passwd
/etc/passwd-
/etc/shadow
/etc/shadow-
/var/lib/AccountsService

Hiányzik még valami?

Hozzászólások

Szép és jó, csak ne akarj linux-os filerendszert felcsatolni mert az uid/gid-ek nem fognak passzolni.

A már létező user-ek uid-jét nem változtatnám meg. Momentán úgy néz ki a dolog, hogy van egy kb. 1 GB-os erősen tömörített live image a pendrive elején, valahol hátrább egy ext4. Ez utóbbit adott, ismert offset-tel felcsatolom induláskor - partíciós tábla nem tartalmazza, mert elöl van a live image. Az üres /home alá egy tmpfs-t csatolok. Ez RAM illetve swap felé tud tágulni. Ezután az imént felcsatolt, a pendrive hátsó felében lévő ext4-en lévő, csak a root számára elérhető backup alkönyvtárban lévő tar.gz-ből kibontom a user-ek alkönyvtárait a /home-ba, majd restorecon, hogy a SELinux-szal se legyen baj. Utána lightdm, login, s a dolog úgy fest, mint egy desktop gép: böngészési előzmények, beállítások, $HOME-ban hagyott file-ok a helyükön, ahogy legutóbb hagytam őket, mindez úgy, hogy lehet, egészen más fizikai gépen lett boot-olva.

A fentiek természetesen scriptből, automatikusan.

Annyit szeretnék, hogy a user-ek és a root tudják változtatni a jelszavukat úgy, hogy az szintén ne felejtődjék el.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Csak egy ötlet: mi lenne, ha azon az ext4-en lenne egy /etc könyvtár? A live image etc-jében csak a legszükségesebbek lennének (pl. fstab), és erre a liveimage/etc-re pl. mount --bind-dal csatolnád az ext4/etc-t?
Lehet, hogy nem is működőképes a dolog, de ha igen, akkor esetleg más módosítás is megmarad, amit a /etc-ben csinálsz.

A bind mount nem már felcsatolt alkönyvtár másik alkönyvtárhoz is történő csatolására való? Nem üres alkönyvtárhoz filerendszert csatolni legális?

Igazából ezek rövid, alig néhány kilobyte-os file-ok. A live image ugyan read only, viszont a tényleges, működő filerendszer copy on write. Tehát, ha módosítok a /etc/shadow file-on, arról másolat készül RAM-ba, majd ez a módosított változat lesz erélhető. A következő boot alkalmával megint a változtatás előtti tartalmú lesz a file, de tar.gz-ből ezt újfent lehet aktualizálni.

Ha időm lesz rá, foglalkozom vele. Gyanítom, nem ma.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

A bind mount nem már felcsatolt alkönyvtár másik alkönyvtárhoz is történő csatolására való?

# mount | grep etc
# mkdir mount-bind
# mount --bind /etc/ mount-bind/
# mount | grep mount-bind
/dev/sda6 on /root/mount-bind type ext4 (rw,relatime,data=ordered)
# diff /etc/ mount-bind/
# 

The bind mounts.
Since Linux 2.4.0 it is possible to remount part of the file hierarchy somewhere else. The call is
mount --bind olddir newdir
or shortoption
mount -B olddir newdir
or fstab entry is:
/olddir /newdir none bind

After this call the same contents is accessible in two places. One can also remount a single file (on a single file). It's also
possible to use the bind mount to create a mountpoint from a regular directory, for example:

mount --bind foo foo

Úgy vagyok vele, nagyon részletesen dokumentálni sok idő. A blogomban inkább csak ötleteket adok annak kapcsán, amit csináltam. Ha valaki a tettek mezejére lép, az kérdezzen a blogban, és igyekszem segíteni.

Így, hogy az említett feature-öket beletettem, nagyon megszerettem, mert valóban használható. Egy itt, a HUP-on felvetett ötlet kapcsán megcsináltam azt is, hogy ha egy alkalmazás indító ikonjára akkor kattintanak, amikor már fut az alkalmazás, akkor csak a fókuszt teszi az ablakra, nem indítja el még egy példányban. Így is kíméli a memóriahasználatot.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Attol fugg, hogy mi megy mogotte. Ha pl valami random PAM-os config, akkor barmilyen fileok kellhetnek. Ugyanigy erdemes az nsswitch-be is belenezni.

Remek. :( Viszont, ha arra szűkítem a feladatot, hogy új júzer nem teremtődik, csak a jelszava változhat meg, akkor a shadow file-ok mentése elegendő. Jól gondolom?

Az rc.local-ból futtatva induláskor a scriptet, mentésből visszaállítanám ezeket, így a modosított jelszó is visszaállna.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Hat, egy random pam/nss konfig me'g egy desktop/server rendszerre se ma'szik fel "csak ugy veletlenul, magatol", nemhogy egy live-ra. Szoval az szvsz-em szerint az /etc/{passwd,shadow,group,gshadow} fileok mente'se elegendo" lehet. Mivel live linux, ezert per def egyszeru"en es kockazat nelkul ki is lehet probalni hogy a gyakorlatban is igy van-e...