Portál AbcLinuxu, 28. dubna 2024 01:55


Dotaz: UID nového souboru u CIFS připojeného jiným uživatelem

3.7.2012 13:42 JanM | skóre: 28
UID nového souboru u CIFS připojeného jiným uživatelem
Přečteno: 283×
Odpovědět | Admin
Dobré odpoledne,

hledám řešení pro následující situaci: Zřejmě to lze vyřešit tak, že USER2 připojí //server/nahrávky pomocí svých oprávnění. Tzn., že např. pomocí autofs by se připojoval //server/nahrávky do /home/$USER/media/nahrávky pro každého uživatele.

To se mi ovšem moc nelíbí, raději bych měl přístup k adresáři "nahrávky" připojeném v jednom bodě pro všechny uživatele: /media/nahrávky.

Existuje jiné řešení? (Použití SAMBA je podmínkou.)

Řešení dotazu:


Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

3.7.2012 21:59 Franta Hanzlík
Rozbalit Rozbalit vše Re: UID nového souboru u CIFS připojeného jiným uživatelem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Takhle prostě funguje SMB/CIFS sdílení, je to pojaté jinak než NFS. Mrkvo$oft holt s nějakým připojením více uživatelů z jednoho stroje neuvažoval. Takže nezbývá než, jak píšete, aby si to každý klient připojoval sám.

BTW, co brání tomu, aby Linux klienti přistupovali k síťovým datům na Linux (Unix?) serveru přes NFS? Sambu bych tam nechal taky pokud jsou i win klienti, ale proč ji cpát mezi Un*x-y?
3.7.2012 22:38 JanM | skóre: 28
Rozbalit Rozbalit vše Re: UID nového souboru u CIFS připojeného jiným uživatelem
Právě se věnuji RTFM (mount.cifs) a kupodivu Samba s CIFS na linuxu to umožňuje pomocí "multiuser":

Furthermore,..., ownership of files is presented as the current user accessing the share.

Má to drobnou chybu, vyžaduje volbu "sec", konkrétně sec=krb5, neb jinak kernel nemá možnost se "optat" uživatele ukládajícího soubor na jeho přístupové heslo.

Toto omezení snad řeší patch: http://www.spinics.net/lists/linux-cifs/msg05097.html který se již nachází v mém kernelu na klientu (3.4.x), ale bohužel ne na serveru (arch LTS 3.0.xx).

Stejně tak jsem ještě nezjistil, zda mé cifs-utils obsahují patch pro "/usr/bin/cifscreds", který zpřístupní kernelu kombinaci username&password, což zajistí, že kdykoliv nějaký uživatel přistoupí k nasdílenému adresáři, kernel automatický vytvoří další spojení s právy tohoto uživatele.

Pokud to dořeším, tak dám vědět, ale teď jdu spát.

P.S. Dříve jsem používal NFS, přenosy byly rychlejší, ale občas to krásně vytuhlo (obvykle při nestandardním ukončení spojení, výpadku serveru atd.), občas to nezobrazovalo některé soubory (obsahující nabodeníčka v názvu souboru, ale jen u některých). Prostě buggy... Samba + autofs je stabilnější.
17.8.2012 18:23 JanM | skóre: 28
Rozbalit Rozbalit vše Re: UID nového souboru u CIFS připojeného jiným uživatelem
Mlýny se točily pomalu, ale přece se nakonec zadařilo:

Kernel 3.4.8 a cifs-utils 5.6.2 již obsahují vše potřebné, potíž byla s tím, že při přihlášení z GDM (i LightDM) selhalo vytvoření "session keyringu" (viz man pam_keyinit), takže následně nefungovalo ani přidávání hesel pomocí cifscreds.

Řeší to prozatím neschválený patch kernelu http://linux-nfs.org/pipermail/keyrings/2012-May/000911.html (lze aplikovat i na řadu 3.4) a už jen stačí připojit sdílený adresář pomocí jakéhokoliv uživatele:
user1$ sudo mount -t cifs -o credentials=/etc/smb_user1,sec=ntlmssp,multiuser //server/share /mnt
a pak jiný uživatel (s účtem na samba serveru) pouze přidá své credentials do keyringu:
user2$ cifscreds add server
password: _nejake_heslo
a při ls /mnt se soubory zobrazí s UID = user2.

Uživatelé bez přidaných credentials do keyringu nemají přístup k adresáři /mnt vůbec.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.