Igorka setgid bitek és umask
A folytatása a cikket a setuidot és úgy döntött, hogy írjon egy ilyen kicsit setgid. továbbá, hogy a példa adok itt volt a házi feladatot Linux tanfolyamok. Bár a munka véleményem csak foglalkozni vele, csak kettő-hat versenyző. Azt megbirkózott, és azt akarom mondani, hogy hogyan. A feladat a következő volt: hozzon létre egy megosztott mappát PUB két felhasználó, kollaborálását. Legyen a felhasználók számára, hogy hozzon létre a mappában található fájlokat, és szerkesztheti egymás fájljait. Más felhasználók nem férnek hozzá a mappát.
Ahhoz, hogy megoldja ezt a problémát meg kell egy kicsit setgid. Hadd emlékeztessem önöket, hogy ha ez a bit be van állítva a könyvtár, a létrehozott objektumok is meg fogja kapni a könyvtár tulajdonosa csoport, és nem a felhasználó. Magyarázat: igor felhasználó. Ez létrehoz egy könyvtárat (setgid bit nincs beállítva) fájlt. A tulajdonos a fájl igor. A csoport fő csoportja felhasználó igor (alapértelmezett igor). Ha van egy könyvtár, a tulajdonos gyökér. és a csoport tulajdoni hányad. és setgid bit be van állítva, a tulajdonos a létrehozott objektum igor. és a csoport a nem igor. és ossza (mint a telefonkönyvben). Továbbá a példa lesz még egyértelműbb.
Először hozzon létre a könyvtár maga PUB:
Ezután I létre PUB csoport. amely egy csoportja a tulajdonos a könyvtár:
$ Sudo addgroup pub
Egy felhasználó I (Igor), és a második létrehozott
$ Sudo adduser Olya
Most adjunk hozzá egy felhasználói csoportot a kocsmában:
$ Sudo addgroup Igor pub
Igor @ ubuntu:
$ Sudo addgroup Olya pub
Ellenőrizze, hogy a felhasználó hozzá a pub-csoport:
$ Kevesebb / etc / group | grep pub
pub: x: 1002: igor, Olya
Most change directory csoport tulajdonosi / PUB root a pub:
$ Sudo chown root: pub / pub /
Most határozza meg a szabályokat, az / PUB és setgid bit és ellenőrizze az eredményt:
$ Sudo chmod g + WS, o = / pub /
Igor @ ubuntu:
Setgid bit készlet, nincs jogosultsága az összes többi felhasználó számára.
Úgy tűnik, minden volt. Megnézem. Mentem Olya venni, és hozzon létre egy fájlt file.txt:
A konzol felhasználói Igor próbálja megváltoztatni a fájl:
$ Echo Hello!> /PUB/file.txt
bash: /PUB/file.txt: Permission denied
és kapok egy üzenetet, hogy a hozzáférés megtagadva. Azt nézzük meg az engedélyeket a fájlra:
$ Ls -l / pub /
ls: nem lehet megnyitni a könyvtárat a / pub /: Permission denied
Valószínűleg kell, hogy ki, és menjen újra a konzolt, mert még nem tudom, hogy hozzá a pub-csoport. Megyek, hogy ki a rendszer újra, ellenőrizze az engedély:
Látom, hogy egy csoport pub fájl csak olvasható jogosultságokat. Azt hiszem, az alapértelmezett szabályokat, sablonok, és a csapat umask. Az összes felhasználó számára, a sablon meghatározza a szabályokat a létrehozott objektumok, meg 0022 (ennek ellenőrzésére, akkor írja be az umask paraméterek nélkül), amely megadja a jogot, hogy az objektum fájl 644 (vagy -RW-r-r-). Meg kell változtatni ezt a sablont Igor és Olya felhasználók. A jogokat a létrehozott fájlok -rw-rw--. Erre az esetre a minta egyenlő 0017. Ubuntu ez a minta van állítva a .profile fájlban. amely található a home könyvtár minden felhasználó. Azt változtatni ezt a mintát a fájlban .profile Igor és Olya felhasználók. Meg kell találni a vonal a szó umask és módosítsa az értéket a jobb benne. Megyek be a rendszerbe, és ellenőrizze újra az eredmény:
$ Touch /PUB/file.txt
Igor @ ubuntu:
$ Echo Hello!> /PUB/file.txt
Igor @ ubuntu:
$ Cat /PUB/file.txt
Hello!
Igor @ ubuntu:
$ Touch /PUB/file2.txt
Olya @ ubuntu:
$ Echo Hello Igor!> File2.txt
Olya @ ubuntu:
Most minden rendben van. A katalógusban / PUB fájlokat hoz létre, amelyek szerkeszthetők mindkét felhasználó. A feladat meglehetősen gyakori, és most már tudom, hogy hogyan lehet megoldani, tudva, hogy van egy kicsit segid és umask.