Sziasztok!
Rendesen sikerült megszivatnom magam, remélem tudtok segíteni :-).
Az itthoni hálózatom minden megosztása eddig NFS-sel működött. Nem is volt semmi gond, amíg el nem jutottam addig a ponti, amikor is több tényező miatt át kellett állnom SAMBA-ra.Gondoltam... nem gáz, nem olyan nagy dolog. Utánaolvastam a dolgoknak, csináltam egy pöpec kis smb.conf-ot. Minden nagyszerűen müxik. Olyanok is amiket NFS mellett el sem tudtam képzelni.... (és most jön a "kivéve"), kivéve a "Public Folder"-t. Talán nem kell magyaráznom, hogy mi is akar lenni ez a Public Folder. Minden gépről el lehessen érni, file jogok legyenek 0666, folder jogok 0777, user és group pedig legyen share.
Az user-t és group-ot be tudom állítani a force user/group opcióval, a jogokat pedig elméletileg a "create mask" és társaival tudnám állítani, de az istenért sem müxik.
kivonat a smb.conf-ból:
[SHARED]
path = /mnt/250GB/exports/shared_folder
read only = No
guest only = Yes
guest ok = Yes
create mask = 0666
directory mask = 0777
Lehet hogy rosszul értelmezem a doksikat, de szerintem ennek azt kellene csinálni amit én szeretnék nem? A mai délutánt guglival és man oldalakkal töltöttem, de nem jutok tovább.
Több helyen (pl itt) találkoztam ezzel a problémával a neten (itt a hup-on is), de megoldást sehol sem találtam. Van valami ötletetek?
Ja és mielőtt elfelejtem, a gépen egy frissen telepített debian testing van.
- 3304 megtekintés
Hozzászólások
force user, force group
- A hozzászóláshoz be kell jelentkezni
Próbáltam, az sem jó. Jobban mondva... ez a funkció müxik, de a jogokat ettől függetlenül rosszul állítja be.
- A hozzászóláshoz be kell jelentkezni
Mindenesetre én is tudok ám... a pontos hibát le sem írtam :-)
Akár melyik gépről felcsatolom a megosztást, és létrehozok egy fájlt (
touch valami.fajl
), akkor az nem 666-os, hanem 644-es jogokkal jön létre.
És lassan kifogyok az ötletekből.
- A hozzászóláshoz be kell jelentkezni
man smb.conf, reszletesen le van irva, mire valo a create mask. last tovabba a force create mode opciot, es a konyvtarakra vonatkozo tarsat. Szerk: 2007-et irunk (bar mar nem sokaig), ACL is van a vilagon.
- A hozzászóláshoz be kell jelentkezni
Kösz, de mint írtam, olvastam a SAMBA man-ját. Szerintem meg is értettem, mi van oda írva, a probléma, hogy nem úgy működik, mint kellene (szerintem).
ACL-ben nem is gondolkoztam, az igazat megvallva. Ez tűnt a legegyszerűbb megoldásnak. Mindenesetre megnézem. Kösz.
- A hozzászóláshoz be kell jelentkezni
Szerintem pedig eppen hogy nem ertetted meg... Nem mindegy, hogy a kliens altal kert jogokkal logikai ES ill. VAGY muveletet hajt vegre a samba. A create mask az elobbi, a force create mode az utobbira valo.
- A hozzászóláshoz be kell jelentkezni
Hát akkor valamit nagyon félreérthettem. Én ebből a sorból indultam ki:
Részlet a man smb.conf/create mask pontból:
"...Following this Samba will bit-wise ’OR’ the UNIX mode created from
this parameter with the value of the force create mode parameter
which is set to 000 by default..."
Ezt én úgy értelmeztem, hogy a "force create mode"-ra (ami alapban 000) és a "create mode"-ra VAGY műveletet hajt végre, vagyis effektíve 000 | 666 => 666
Ha rosszul értelmezem, akkor már valszeg az angol tudásom a kevés. Tudnál légyszives segíteni?
- A hozzászóláshoz be kell jelentkezni
Ez azt jelenti, hogy (klienskeres & create mask) | force create mode lesz beallitva.
Azaz a create mask arra szolgal, hogy a kliens legfeljebb azokat a biteket billentheti be, ami a create mask-ban meg vannak adva. A force create mode pedig azt, ami feltetlenul be lesz allitva, fuggetlenul attol, mit kert a kliens, es hogy modositotta azt a create mask.
- A hozzászóláshoz be kell jelentkezni
Aham. Vagyis akkor amit a force-szal beállítok, az feltétlenül be lesz billentve? Erre gondoltam én is, de sajnos akkor sem működik, ha a force-ot beállítom.
Ja és időközben próbálkoztam. Az eredmény? Bármilyen kombinációban, akármilyen maszkot állítok be, force vagy force nélkül, nagy ívben tesz rá... A kliens gépről egy "touch valami" létrehozza a valami fájlt a megosztáson, de 644-es jogokkal.
- A hozzászóláshoz be kell jelentkezni
Most tartunk ott, hogy nem igazan hiszem el, amit irsz...
force create mode = 777 mellett feltoltott file jogai:
getfacl log.nmbd-1
# file: log.nmbd-1
# owner: wildy
# group: wildy
user::rwx
user:wildy:rwx
group::rwx
mask::rwx
other::rwx
Enelkul viszont:
getfacl log.nmbd
# file: log.nmbd
# owner: wildy
# group: wildy
user::rwx
user:wildy:rwx
group::r--
mask::rwx
other::r--
Eleg szembetuno a kulonbseg. Mind CIFS-en keresztul, mind smbclient hasznalataval ugy mukodik, ahogy kell. Mindez egy 3.0.28-as samba, debian SID, ACL-es XFS filerendszerrel.
- A hozzászóláshoz be kell jelentkezni
Ok, gondoltam nagyon elb*** valamit, úgyhogy nekiálltam előlról. Csont nulláról írtam egy új smb.conf-t. Először nézzük force create nélkül:
lac@laptop[~]$> cd /mnt/fileserver/teszt_mappa/
lac@laptop[teszt_mappa]$> ls -l
total 0
lac@laptop[teszt_mappa]$> touch teszt
lac@laptop[teszt_mappa]$> ls -l
total 0
-rw-r--r-- 1 shared shared 0 2007-12-23 18:48 teszt
lac@laptop[teszt_mappa]$>
Utána umount, smb.conf szerkesztés, /etc/init.s/samba restart (biztos ami biztos) és megint tesztelünk:
lac@laptop[fileserver]$> mkdir /mnt/fileserver/ujteszt
lac@laptop[fileserver]$> cd ujteszt/
lac@laptop[ujteszt]$> ls -l
total 0
lac@laptop[ujteszt]$> touch ujvalami
lac@laptop[ujteszt]$> ls -l
total 0
-rw-r--r-- 1 shared shared 0 2007-12-23 18:50 ujvalami
lac@laptop[ujteszt]$>
Lehet, hogy hihetetlen, de így van. Ha azt a linket megnézed amit belinkeltem, ott a srácnak is ugyanez volt a problémája (igen, tudom hogy az egy régi post), és nem tudták megoldani.
- A hozzászóláshoz be kell jelentkezni
Itt szerintem az lesz, hogy a samba-n be van kapcsolva a Unix Extensions, ezért a szerver ugyanúgy viselkedik, mintha Unix filerendszer lenne...azaz a kliens umask-ja is befolyásolja az új fáljok jogait.
Próbáld ki ezt:
umask 000
mkdir naezmost
- A hozzászóláshoz be kell jelentkezni
Ééééés ott a pont. Köszönöm szépen. De tényleg... ezt így privát abszolút nem ismertem. Az smb.conf-ba egy "unix extensions = no" meg is oldotta problémát.
Szerk: Asszem túl gyorsan örültem. Minden OK, amíg a terminálon kiadom az umask 000 parancsot.
Sajnos véletlenül másodszorra ugyanabban a konzolban próbáltam ki, ezért lett fals siker... :-)
Szóval ez az umask dolog müxik rendesen, de hogyan tudom én azt megcsinálni hogy a szerver ezzel ne foglalkozzon? Egyenlőre nem sokmindent talátam a neten.
- A hozzászóláshoz be kell jelentkezni
Nem ez a gondod... A problema az, hogy a szerver arra allitja, ami az smb.conf-ban van, a kliens viszont lokalisan mast mutat (amig valid a cache, lasd pl. umount/mount utan latszolag valtoznak a jogok), egy ideje mar a cifs forrasat turom, hogy ezt felul lehet-e biralni, egyelore ugy tunik, hogy nem :(
- A hozzászóláshoz be kell jelentkezni
Hát kösz, hogy így belelovalod magad. Én amennyire tudtam, végignyálaztam a netet, de nem nagyon találok semmit ami segítene.
- A hozzászóláshoz be kell jelentkezni
Nade ilyenkor a szerveren már jó, más gépek látják normálisan, nem?
Ja meg ha már tud Unixosan viselkedni a fájlrendszer, akkor inkább tennék egy default ACL-t a könyvtárra, (setfacl -d -m o:rwx a_public_konyvtaram), és csók.
- A hozzászóláshoz be kell jelentkezni
Sajnos a szerveren sem jó. Csináltam egy képet. Ezen rajtva 2 kliens, meg a szerver terminál ablaka (SSH Rulez). GEP_1-en létrehozok egy fájlt, majd megnézem a jogokat GEP_2-n és SERVER-en.
Ha GEP_1-en kiadom az "umask 000" parancsot, utána már a másik gépen, és a szerveren is rendben vannak a jogok. Erről is csináltam képet.
- A hozzászóláshoz be kell jelentkezni
Kipróbáltam unix extensions = no -val:
kliens:
touch aaa
ls -l
-rw-r--r-- 1 xxx xxx 0 2007-12-24 17:30 aaa
szerver:
ls -l
-rw-rw-rw- 1 xxx xxx 0 Dec 24 17:30 aaa
Szóval így azt hozza, amit kell...De ha a unix extensions ki van kapcsolva, akkor az umask nem is tudná befolyásolni a jogot.
- A hozzászóláshoz be kell jelentkezni
Most nem tudom kipróbálni, de a
"guest only = Yes"-re semmi szükség
- A hozzászóláshoz be kell jelentkezni
Van hasonló megosztásom a hálón, átírtam kb a tiédre. Próbáld meg így, nekem megy szépen.
[SHARED]
comment = Shared dir
path = /mnt/250GB/exports/shared_folder
browsable = yes
writable = yes
hosts allow = (engedélyezett hostok)
hosts deny = any
force user = share
force group = share
create mask = 0666
directory mask = 0777
-- pgergely --
- A hozzászóláshoz be kell jelentkezni
Sajnos nem megy... szerintem is így kellene lennie, de akkor sem megy.
- A hozzászóláshoz be kell jelentkezni
Csak egy ötlet a jogosultságokat simán 777 vagy 666 ként add meg. Figyelj arra, hogy a samba ban létrehozott csoportok és felhasználók nem egyeznek meg a linux felhasználókkal csoportokkal. Ha nem haladsz tedd fel a webmint ott simán összekattogtathatod a beállításokat html felületen. Jobb tletem nincs most. :)
- A hozzászóláshoz be kell jelentkezni
Kösz, de próbáltam. Mellesleg mikor már azt hittem, hogy tiszta hülye vagyok, felraktam a webmin-t is, de onnan sem megy :-)
- A hozzászóláshoz be kell jelentkezni
Na... végre sikerült időt szakítanom erre a dögre, és úgy néz ki végre úgy működik ahogy kell. Szerver oldalon szükség volt a 'unix extensions = no'-ra, valamint minden kliens fstab-jába a 'noperm'-re, a 'file_mask=0666'-ra valamint a 'dir_mask=0777'-re. Ezek nélkül nem megy.
Eddig úgy tűnik jó, habár most épp nincs lehetőségem kipróbálni windows klienssel. Remélem nem kell tovább görcsölni vele.
Mindenkinek köszönöm a segítséget!
- A hozzászóláshoz be kell jelentkezni