Portál AbcLinuxu, 10. května 2025 23:03
Ahoj,
mam takovy problem, na ktery jsem nikde nenasel odpoved. Tak snad tady mi nekdo poradi.
Mam server (Debian Lenny) na kterem mi bezi Samba a mam tam prostupny /home/Ivan .
Na lokale (Ubuntu II) si slozku mountnu v gnome smb://server/Ivan - zepta se me to na heslo a na plose se mi slozka ukaze. Kdyz do ni neco skopcim, tak je to v poradku. Na serveru se podivam a mam nastavena prava (podle nastaveni Samby) - pro soubory: rw- --- --- a pro adresare rwx --- --- .
ALE:
kdyz si disk mountnu (v /etc/rc.local) pomoci: mount -t cifs //10.0.1.1/Ivan /media/ivan-server -o credentials=/home/Ivan/.smbpassword,iocharset=utf8
tak je problem, protoze se mi soubor i adresar ulozi s pravy rwx rwx rwx .
Tak doufam, ze tady mi nekdo poradi, kde je chybka. Diky mockrat.
no ja bych spis potreboval, aby to akceptovalo prava nastavena v sambe... tzn. cteni (a spousteni) jen pro uzivatele.. tak jako v prvnim pripade...
Samba nikam výchozí práva pro vytváření souborů neinzeruje. Buďto si práva omezte v konfiguraci serveru, nebo si na klientovi seřízněte práva při mountu nebo si na klientovi nastavte umask(1p).
??
create mask = 0600
directory mask = 0700
... to mi pri mountu v prvnim pripade funguje presne tak, jak zadam
Jo ták. Před tím jste nenapsal, že práva omezujete na serveru, tak jsem předpokládal, že to je iniciativa klienta.
Tohle bych viděl na chybu v smbd. Chová se vám tak cifs i smbfs? Koukám, že mi to ve verzi 3.0.33 taky nefunguje. Ale dřív to jelo.
Už vím, kde je chyba.
smbd zná konfigurační volby security mask, security direcory mask a k nim příslušné force security mode a force directory security mode, které se vztahují na manipulaci s UNIX atributy přes rozhraní NT klientů.
Zdá se, že od jisté verze Linux přešel na tento způsob práce s právy, což má za následek, že dříve nastavené create mask a další se neuplatní a klient si může nastavovat práva, jaká chce.
No, nevim, jestli si spatne rozumime, nebo to spatne chapu a nerozumim Vasi odpovedi. Proc teda, kdyz mountuju klasicky v klikacim Gnome, tak to je ok a v prikazu, ktery mam v /etc/rc.local to dela problemy a prava jsou po zapsani na server jina?
klasicky v klikacim Gnome
oxymóron :D
Možná proto, že gnomácký GVS nemá s jádrem nic společného, protože používá jiný způsob práce s unixovými atributy v CIFS než současné jádro.
Já jsem o tom do teď taky neměl tušení, ale řekl bych, že věc se má takto:
Protokol CIFS má dva různé způsoby, jak měnit práva souborů. Gnome i jádro dříve používalo způsob, na který zabírá konfigurační volba samba serveru create mask. Jádro 2.6.28 (možná dřívější) ale přešlo na druhý způsob, který se na serveru řídí jinou volbou security mask. Tyto dva systémy, zdá se, jsou na sobě nezávislé.
Diky, tak jsem pridal security mask a domaci adresar funguje, prava jsou nastavena spravne. Ale mam jeste slozku public, kde se mi misto prav 0660 nastavi 0640.. tak kde je zase problem ted?
tak jsem hledal, ale nenasel. Pouzivam napr force group atd .. to mi vsechno jde tak jak ma, ale jen pro mountu z gnome.. nikoliv s cifs Prosim, jestli to nekdo pouziva a funguje mu to jak ma, necht mi napise. Diky moc.
Zkousel jsem:
force create mask, force directory mask
ale nezabira..
Tak jako jste vedle create mask musel nastavit security mask, tak vedle force create mode musíte nastavit force security mode.
Opravdu si přečtete manuál. Tam jsou všechny platný volby vyjmenovaný. force create mask ani force directory mask tam opravdu nenajdete.
Takze aby se mi prava priradila i u mountu pomoci CIFS, musel jsem nastavit toto:
# CIFS
security mask = 0660 ;prava souboru - nastavi prava others u CIFS
directory security mask = 0770 ;prava adresare - nastavi prava others u CIFS
force security mode = 0660 ;prava souboru - nenastavi prava others u CIFS
force directory security mode = 0770 ;prava adresare - nenastavi prava others u CIFS
Nastavil jsem podle Vas tyhle parametry, vse je OK, ale vsiml jsem si jeste jedne neprijemnosti.
Kdyz na disku (slozce Samby) vytvorim v tomhle nastaneni adresar, prava ma 0750 misto 0770 ... soubor je OK. Jeste jednou zduraznim, ze tahle chyba je jen kdyz adresar vytvarim (novy), ne kdyz ho s jinymi pravy kopiruju do slozky. Cim to muze byt?
Netusim, me to dela taky (vsiml jsem si toho diky vam). Tak snad nam tady nekdo zkusenejsi poradi....
smbd 3.0.33:
create mask = 0770 security mask = 0770 force create mode = 0660 force security mode = 0660 directory mask = 0770 security directory mask = 0770 force directory mode = 0770 force directory security mode = 0770
klient je cifs Linuxu 2.6.28-gentoo-r2 a tuto chybu nepozoruji:
$ mount |grep cifs //router/privat on /mnt/privat/routercifs type cifs (rw,mand,noexec,nosuid,nodev) $ umask 0022 $ mkdir /mnt/privat/routercifs/TEMP/testdir $ stat /mnt/privat/routercifs/TEMP/testdir File: „/mnt/privat/routercifs/TEMP/testdir“ Size: 0 Blocks: 0 IO Block: 16384 adresář Device: 10h/16d Inode: 602403 Links: 2 Access: (0770/drwxrwx---) Uid: ( 500/ petr) Gid: ( 100/ users) Access: 2009-02-25 12:14:48.000000000 +0100 Modify: 2009-02-25 12:14:45.000000000 +0100 Change: 2009-02-25 12:14:45.000000000 +0100
a na serveru opravdu:
# stat ~privat/pub/TEMP/testdir File: „/home/privat/pub/TEMP/testdir“ Size: 4096 Blocks: 8 IO Block: 4096 adresář Device: 1601h/5633d Inode: 7847939 Links: 2 Access: (0770/drwxrwx---) Uid: ( 502/ privat) Gid: ( 100/ users) Access: 2009-02-25 12:14:48.000000000 +0100 Modify: 2009-02-25 12:14:45.000000000 +0100 Change: 2009-02-25 12:14:45.000000000 +0100
Mel bych jeste otazku.
Pouzivam na Samba serveru force group skupina2.
Na serveru mam uzivatele ve skupine user a skupina2. Kdyz nakopiruju na server soubor z klienta, ktery ma prava pro skupinu blabla, na serveru se soubor ulozi spravne pod skupinou skupina2.
Kdyz ma ale soubor na klientovi skupinu user, ulozi se na server zase ve skupine user a je ignorovany ten parametr force group skupina2.
Jak je to mouzny?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.