samba kérdés

Fórumok

Hi.

Kicsit belekavarodtam a Samba megosztásba.
Kéne egy adott megosztást csinálnom csak nem tudom, hogy kivitelezhető e és hogyan
kb igy kéne kinézni a könyvtárstruktúrának:
kozos -> ide minden user be tud lépni
kozos/mappa1 -> user1, user2 tudjon irni, csoport1 belépni és olvasni de irni ne, csoport2 ne tudjon belépni
kozos/mappa2 -> user1, user2 tudjon irni, csoport2 belépni és olvasni de irni ne, csoport1 ne tudjon belépni

tud valaki segiteni?

Hozzászólások

[mappa1]
...
valid users = user1 user2 @csoport1
read only = yes
write list = user1 user2
...

ezek alapján mappa2

Persze itt felemrül, hogy ha a "kozos" a megosztás és az alatta levő könyvtárakat akarod így megoldani, akkor unix jogosultsággal kellene megoldani, de ott csak a grouppal lehetne játszani, pl így:
jogok user group dir
drwxrw---- smb csoport1 mappa1
Azonban ebben az esetben a user1 és user2 hiába tagja a csoport1-nek, nem fog tudni írni. Lehet még azt mondani, hogy force user=smb, és ebben az esetben akkor amikor belép user1 és user2, ők smb-k lesznek és így már tudnak írni.

Mint írtam, attól függ, mivel jogok öröklődnek az alkönyvtárakra. Ha a megosztás csak a "kozos", akkor az alkönyvtárakat bizony csak unix jogosultságokkal lehet megfogni szofisztikáltan. Illetve biztos lehet acl-ekkel is, de ahhoz nálam hozzáértőbb ember kellene.
Én úgy csinálnám, hogy a "kozos"-t megosztanám. Az alatta levő könyvtárakra pedig owner smb rwx-el, group csoport1 és csoport2 rw-vel, other pedig ---. A "kozos"-re forece user=smb, innentől kezdve pedig már jól működik. Persze a valid users= user1, user2, @csoportX akkor is kell.
A legjobb lenne azonban a mappa1-t és mappa2-t külön megosztásra tenni.
És ennél még jobb, ha nálam hozzáértőbb ember ACL-ekkel megoldja. :)

Ha állitom a jogosultságot egy megosztásnál, utána a sambűt vagy valamit ujra kell e inditani ahoz, hogy a beállitások életbe lépjenek?
2 órája szórakzok vele, de nagyon érdekes dolgok jönnek el.
user1 mondjuk tud irni, de aztán mondom megvonom tőle a jogot. Hiába inditom ujra még a klienst is nem megy végbe a modositás. Ugyanugy tud irni.

persze hogy újra kell indítani a samba szervert. Különben nem értesül a könyvtárak jogosultságainak változásáról. Kliensen meg elég le, majd felcsatlakozni. De tényleg érdemesebb inkább ACL-t használni ilyen esetben. Bár a fenti megoldásomat kipróbálva nálam tökéletesen működik.

Hasznalj ACL-kepes filerendszert a samba alatt, azzal normalisan megoldhato a feladat.

Ahogy látom sokan emlegetik az ACL-t, de senki nem fejti ki. Gondolom kicsit "nehézkesebb" lehet kezelni? Az eddigi leirások amit erről hirtelen néztem nem volt túl egyértelmű.

Igen nálam is jól működik a dolog, de - és épp ezért kérdeztem a restartot - nem tudom ujrainditani a sambát mret dolgoznak alatta (windows/dos progikat futtatnak) és ezért nem tudok restartolni.
Viszont néhány percentként csak frisit, mert a változások idővel csak érvényesülnek.

Szerintem nem nehezkesebb (sot, eppen ellenkezoleg, egyszerubb) mint csoportokba rakosgatni a felhasznalokat, es mindenhol force user, write list, ... parameterekkel gorcsolni. Nagyjabol annyi a teendod, hogy megnezed, a filerendszered tamogatja-e az ACL-eket, he kell remount, utana meg getfacl/setfacl. Nehany hasznalat utan mar nem okozhat gondot. A samba ujrainditasa nem szukseges egy konyvtar hozzaferesenek filerendszer szintjen torteno modositasa utan, csak akkor, ha samba konfig opciokat hasznalsz. (Magatol nem olvassa ujra a konfigot, csak az ujonnan inditott smbd processzek olvassak fel, ill. egy reload utan ervenyesulnek a modositasok.)

create mask =
ill
directory mask =
kombinácó közelebb vihet a megoldáshoz!
Az írás/olvasás-t iletően.

----------------------------------------------------------------
"Értem én hogy villanymotor, de mi hajtja!?

Ne így keress megoldást!

csinálj egy "gyökeret" a sambához, ebbe a kíván userx
tulajdonába legyenek alkönytárak, amik másoknak( vagy a kívánt csoportnak) olvahatóak.
Lehet nem egy könytárban lesz minden fájl, de
áttekinthetőbb és jobban konfogolhatók a jogok!
Így talán acl-ezés is kikerülhető!
(Nem biztos, csak talán.)

----------------------------------------------------------------
"Értem én hogy villanymotor, de mi hajtja!?

Most nem értem, hogya a fenti megoldással amit először adtam mi a baj?
-A két felhasználó az allow users miatt belép, majd a force user=smb miatt rögtön az smb user jogaival fog rendelkezni. Így ha a könyvtár tulajdonosa az smb user és csak neki van joga írni, a két user is fog tudni írni (force user miatt).
- Mivel a filesystemen a csoport1 -nek csak olvasás joga van, mindenki más aki nem user1 és user2, és nincs bent a unix-os csoport1-ben az nem tud írni.
- Persze a csoport1-be tartozók is smb jogokat kapnak így elméletileg szintén tudnának írni, DE van egy problémájuk. Hiába kapja meg a csoport1 is az smb user jogait (force user) a filesystemen (azaz elméletileg írhatnának rá), mert már a samba szerver megfogja az írási kísérletüket a read only=yes miatt. Csak a write list-ben lévők írhatnak, azaz user1 és user2.
- Szóval mi nem megy?

Rétegesen kell gondolkodni. Van egyszer a samba szerver és alatta van a filesystem. Hiába engedsz mondjuk meg mindent a samba-ban, ha a filesystemen 500 mondjuk valaminek a jogosultsága, akkor az ugye erősebb, így a samba nem tud mit csinálni. RÉTEGEK! Ez a lényeg.