[MEGOLDVA] ACL jogok listazasa jol attekinthetően

Fórumok

Van egy eleg bonyolult es osszevissza agazo konyvtarszerkezetunk, ACl jogokkal, jogokat cask konyvtarakra adtunk, viszont hasznaltunk csoportokat es usereket is a konyvtar jogoknal.

Getfacl al nagyon szepen kilehet listazni rekurzivan is jogokat, viszont en olyan jol attekintheto listat szeretnek amely csak azon konyvtarakat (és arra vonatkozo jogokat (csoport,user) mutatja amelynek egyedi jogai vannak (tehat az egyel felette lévőtől eltér a jog, de az alatta levoeknek ugyanaz a joguk mint neki)

Van erre valami tool ?

Esetleg valami olyan cucc amivel lehet nezegetni jogokat szepen konyvtarszerkezetben, es neadj isten meg adni is grafikus feluleten ? ( vicces de ezt mar netware 4.0 is tudta NDS el) jo nem kopkodok, csak kene vlmi hozza) de a lényeg a listazas lenne elso korben.

Hozzászólások

subscribe :)

Mondjuk én ezt úgy oldom meg h. nem nagyon van egyedi jogokkal felruházott mappám. Persze szép lenne az ACL, pláne h. samba is támogatja.

hat pedig jolenne ha lenne :(

Jelenleg naponta van egy naponta lefuto getfacl -R script, ami csinal olyan 120mega koruli list fajlt a jogokrol, ha mas nincs akkor irok vlmi kis progit ami ezt feldolgozva kilistazza a fenti elvek szerint a konyvtar jogokat.

De ha valakinek van mas otlete akkor szivesen varom.. :)

Egyébként találtam WEBMIN hez egy modult ami elvileg tud olyat hogy webes feluleten lehet ACL eket kiosztani, de nekem nem pont ez kell, hatha valakinek jo lesz.... :

http://webmin-fsacls.sourceforge.net/en/index.html

De ezzel tobb gondom is van:
- webmin nincs mar egy ideje debian csomagban, es gondolom nem veletlen, biztonsag pedig fontos
- ahogy neztem a kepeket a modulrol nemnagyon tud olyat hogy konyvtarszerkezetet mutatna a jogokkal egyutt szepen egyben.
- 2007 ota nemnagyon fejlesztik, ez plane aggaszt biztonsagi es egyeb szempontokból is

Kozben kideritettem hogy valsz azert nincs ilyen progi, mert ha SAMBA domainbe csatlakoznak a win kliensek, es megfeleloen bevan allitva ( NT ACl support) akkor a win oldalon win intezobol lehet allitgatni a jogokat (allitolag)

De nalunk win xp home ok vannak (ezek ugye alapbol nemtudnak domainbe lepni, es nem akartam nagyon hackolni wint licenc okok miatt), es amig bevolt kapcsolva samban nt acl addig a jogokat nagyon osszekavarodtak...

Szoval osszedobtam 1 kis win32 progit (tudom tudom hogy webest kellett volna es ha nemis webes akkor JAVA vagy .NET mittomen de nekem ebben van gyakorlatom, ezzel ment gyorsan...)

Szoval a kis progi egy getfacl -R alltal generalt list fajlt dolgoz fel, kikeresi belole a konyvtarakat, es szep treeview formatumban lehet maszkalni, mellette pedig megjeleniti a jogokat az aktualisan kivalasztott konyvtarhoz (ACL meg mindenfele jogot)

Maga a legyujtes eleg hosszadalmas egy 112 megas getfacl listafajlt jopar percig matat, szoval a legyujtott adatokat lelehet menteni utana sajat formatumban aztan visszatolteni.

De meg ez meg beta elotti allapot, es sajna eleg taknyolos megoldas szal nemteszem sehova mert agyonfikazna mindenki...

Viszont akinek azert kellene mert hasznos lenne neki az irjon PM es elkuldom....

Na szoval a dolog kezd eleg hasznalhato lenni, igaz csak bizonyos celokra erdemes vele szenvedni de jo segitseg lehet ha valakinek olyan a halozata mint mienk szoval valahogy igy nez ki a program, amely egy getfacl lista kimenetet dolgozza fel :

http://kepfeltoltes.hu/090825/aclview1_www.kepfeltoltes.hu_.jpg

http://kepfeltoltes.hu/090825/aclview2_www.kepfeltoltes.hu_.jpg

Hmmm, jónak néz ki. :) Tehát ha jól értem, akkor samba serveren getfacl a megosztásra, melynek a kimenetét lehet a programba betölteni, és az elvégzett/elvégzendő módosításokról generál egy script állományt amit csak le kell futtatni a szerveren. Ügyes...

Felhasználó, és csoport listákat honnan veszi? Vagy eleve van egy script ami minden szükséges adatot összegyűjt és nem kell a getfacl-lal manuálisan szórakozni?

Szemtelen kérdés : Esetleg meg lehetne kapni a programot tesztelésre??? Persze csak ha nem ütközik jogi akadályokba, nem szeretném ha gondod lenne belőle...

------
Az akarok lenni ami akkor voltam, mikor az akartam lenni ami most vagyok...

1. Jol erted, pont azt csinalja...

2. Linux serveren minden nap este lefut egy getfacl parancs ami samba megosztasra kirakja a megfelelo getfacl alltal generalt list fajlokat, es azt a filet lehet ezzel a progival win alol matatni, es ha uj jogokat akarsz csinalni akkor itt kioszthatod, aztan csak 1 shellbe kell bepastolni amit legeneralt (de a parancsokat meg nem probaltam, de elvileg menni kell amiket general :) meg ha vlmi syntax hiba van azt term. lehet javitani...

Felhasznalo es csoport listakat a felolvasott getfacl alltal generalt lista fajlbol gyujtogeti ki.

Ujbol hangsulyozom hogy ha klienseken win xp prof van es samba domain modba fut akkor elvileg nemkell ilyen "taknyolas" mert elvileg akkor win xp cuccaival lehet allitani jogokat (allitolag - en nem probaltam Xp home... :(

Ha kell a program eltudom kuldeni de vannak korlatai, pl. csak konyvtarokat olvas fel a list fajlbol mert fajlokra nem adunk mi jogokat, meg acl list fajlbol ugy valogatom ki hogy melyik bejegyzes konyvtar hogy amelyik bejegyzesnel nincs DEFAULT ACl bejegyzes az konyvtar.
Illetve ugy oldottam kesobb meg ezt hogy mar a getfacl lista generalo scriptet linux oldalon ugy csinaltam ami csak konyvtarak ACL jogait listazza ki rekurzivan :


itt=/adatok/konyv_sources
cel=/adatok/konyv_i/smenu/joglist_sources_dir.lst
rm /adatok/konyv_i/smenu/joglist_sources_dir.lst
for file in $(find ${itt} -type d -print);
do
# echo $file
getfacl $file >> $cel
done

Igy sokkal rovidebb a list file, gyorsabban felolvassa az acl listazo.

Ha kell progi eltudom kuldeni, irj PM et meg vlmi mailcimet ahova kuldjem.
de hangsulyozom ez hobbi project, vannak betegsegei, pl. ekezetes karaktereket neha nemszeresse :)

Ment PM...

Közben átírtam egy kicsit a scriptedet, így az ékezetes és szóközös könyvtárnevekkel is elboldogul nálam. Az usereink előszeretettel hoznak létre ilyen könyvtárakat...


#!/bin/sh
itt=/DATA
cel=/DATA/FILEJOG/jogok.txt
templist=/DATA/FILEJOG/templist.txt
rm $cel

find $itt -type d > $templist

cat $templist | while read nev; do
getfacl "$nev" >> $cel
done

rm $templist

------
Az akarok lenni ami akkor voltam, mikor az akartam lenni ami most vagyok...

Hat nekem igy se az igazi, pl amelyik konyvtar neveben van egy szokoz ott ezt irja lst fajlba :
Abev/Abev\0402009
de ez helyesen : Abev/Abev 2009 lenne... majd meg probalgatom...

Ahogy nezem csak a konyvtarnevben levo szokozzel borul meg agya, ahelyett mindig ir \040 akarmit, acl listazoba majd beleirom hogy ahelyett szokozt olvasson be...

templist fileba jo minden meg, de amit getfacl ad vissza abban van a bibi, valsz GETFACL csinal vlmit "nemjol", vagy maskepp kell hivni...


server:#getfacl /adatok/konyv_abev/Abev/Abev\ 2009/
getfacl: Removing leading '/' from absolute path names
# file: adatok/konyv_abev/Abev/Abev\0402009/
# owner: zoli
# group: svisor

Érdekes, ez a megoldás hibás templist állományt generál. Ha 2 szóköz van egymás után a könyvtár nevében, akkor az leredukálódik egyre a kimeneti állományban, mig az eredeti közvetlen file-ba irányításnál nem jön elő ez a probléma.

------
Az akarok lenni ami akkor voltam, mikor az akartam lenni ami most vagyok...

Igen, sajnos a getfacl ilyen hülye kódolással jeleníti meg az ékezetes karaktereket, de ez szerintem a programod szintjén egy fügvénnyel könnyen megoldható, hogy amikor beolvasol egy sort akkor kicserélgeti ezeket a kódokat a normális karakterekre. Csak egy fordító tábla kell, hogy pl. \040 az egyenlő a space-szel...

Mondjuk engem nem zavarna ez a fajta kódolás, így is felismerhetőek lennének a könyvtárneveink, csak sajnos a setfacl már nem fogadja el ebben a formában, így mindenféleképpen vissza kell alakítani az eredeti alakra hogy a parancsfájlok a végén korrektül előállíthatóak legyenek.

------
Az akarok lenni ami akkor voltam, mikor az akartam lenni ami most vagyok...

Ahogy sejtettem van egy egyszeru megoldas amely mellett felesleges olyan kulso progi amit csinaltam (bar jo gyakorlat volt :)

Szoval attol fuggetlenul hogy Xp HOME ok vannak halozaton, meg lehet a SAMBA-t domainre configolni, szepen ACL jogokat kiosztani a megosztason, ezutan az XP HOME-k sima net use al csatoljak fel megosztasokat (nem lépnek be domainbe) ettől még természetesen a serveren file ACL jogok rajuk is érvényesek.
VISZONT
Legalább egy darab XP prof (vagy olyan oprendszer amely képes NT Domainba belépni) kell, amivel belépünk a domainbe, es azon a gépen intézőben simán tudjuk szerkeszteni a könyvtár jogokat.
Egyetlen szépséghibája a dolgoknak hogy azon a gépen Domainbe root userrel kell belépni, mert linuxon csak neki van joga minden fájl/könyvtáron jogosultságot állítani. (pontosabban a fájl/könyvtár tulajdonos is tud)
Szóval samba domain adatbazisba felkell venni root ot is (de ezt egyebkent is felszoktak) azzal Xp profon belepni domainbe, es maris lehet szepen minden konyvtar jogot szerkeszteni intezo/security fülön.

Ezennel a kérdést megoldottnak tekintem, több megoldást is találtam :)