Portál AbcLinuxu, 26. dubna 2024 21:43


Dotaz: Samba - přístup přes WWW

17.8.2008 14:44 muficek | skóre: 17 | blog: Muficek | Hradec Králové
Samba - přístup přes WWW
Přečteno: 495×
Odpovědět | Admin
Dobrý den,,
nevíte někdo, zda-li existuje nějaký projekt, který by umožňoval přístup k datům, která jsou sdílena přes Samba server pomocí WWW rozhraní ? Samozřejmě přes SMB autentizaci ?

Situace:
Na lokálním serveru: Samba 3.x + Apache 2.x + PHP 4.x

Děkuji za pomoc.
Věřící mohou mluvit o velkém štěstí, že Ježíš byl ukřižován. Kdyby ho např. utopili, museli by nosit na krku akvárko :-)
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

17.8.2008 15:14 VSi | skóre: 28
Rozbalit Rozbalit vše Re: Samba - přístup přes WWW
Odpovědět | | Sbalit | Link | Blokovat | Admin
Existuje, používám: smbwebclient

Nasadil jsem to cca před rokem a v té době tam byly nějaké problémy s češtinou a ještě něco mi nefungovalo, tak jsem z toho kódu vyšel a pro svoje potřeby ho upravil (ale kód není moc přehledný). Možná už je to opravené.

17.8.2008 18:13 muficek | skóre: 17 | blog: Muficek | Hradec Králové
Rozbalit Rozbalit vše Re: Samba - přístup přes WWW
Hm, koukám, že poslední verze je z roku 2005.

viz zde: http://smbwebclient.sourceforge.net/

Neexistuje ještě nějaká alternativa ?
Věřící mohou mluvit o velkém štěstí, že Ježíš byl ukřižován. Kdyby ho např. utopili, museli by nosit na krku akvárko :-)
17.8.2008 21:16 #Tom | skóre: 32 | blog: Inspirace, aneb co jsem kde vyhrabal
Rozbalit Rozbalit vše Re: Samba - přístup přes WWW
Odpovědět | | Sbalit | Link | Blokovat | Admin
Sdílet data přes WWW lze např. pomocí WebDAV rozšíření nad protokolem HTTP, data jsou přístupná i z Windows pomocí funkce Místa v síti, a při použití nešifrovaného HTTP lze adresář připojit i jako síťový disk.

Řízení přístupu je však trochu problematické. WWW server vyžaduje přístupová práva k dotyčným souborům a adresářům, v případě potřeby i pro zápis.

Přístupová práva v rámci WWW serveru lze zařídit všelijak, nejjednodušší je soubor s hesly a uživatelskými účty, který lze naplňovat MD5 součty z /etc/shadow (smbpasswd je schopen aktualizovat i heslo do systému, je-li mu to dovoleno). Uživatelské účty lze ověřovat i přes LDAP (jak do systému, tak pro Sambu i WWW), tak daleko však moje znalosti nesahají.

Cesta přes WebDAV je nejvhodnější. Za vyzkoušení by tak mohl stát tento projekt: http://davenport.sourceforge.net/. Server je napsán v Javě.
17.8.2008 22:02 VSi | skóre: 28
Rozbalit Rozbalit vše Re: Samba - přístup přes WWW
WebDAV je na tohle opravdu pěkný protokol. Ve Windows funguje vcelku dobře, ale při použití HTTPS jsou pak nějaká nesmyslná omezení (nelze připojit na písmenko, nejde drag-and-drop).

Řešil jsem, jak uživatelům jednoduše a bezpečně zpřístupnit soubory na serveru a nakonec z toho ten smbwebclient stejně vyšel nejlépe.

Rozumnou implementaci WebDAV, která by tohle umožňovala jsem prostě nenašel. Základním problémem je, že server neumí přepnou UID na uživatele, který je přihlášený, takže soubory musí být přístupné pro čtení uživateli, pod kterým běží server. To by nebylo to nejhorší, ale nové soubory mají jako vlastníka též uživatele serveru, což už je docela problém. V některých případech to nemusí nutně vadit, ale pokud chci jednoduše umožnit přístup do domovských adresářů (které se jinak využívají třeba přes Smabu), tak to nelze.

Další možností je FTP přes SSL/TLS, ale tam jsem nenašel jednoduchý a kvalitní klient pro Windows, pak je problém s NATy, složitější nastavení...

SFTP (SSH) jde použít - doporučuji shell rssh, který bez velké konfigurace uživateli omezí přístup jen na SFTP protokol a nemůže nijak spouštět příkazy na serveru. Nejde ale jednoduše uživatele "zamknout" do něakolika adresářů - má třeba přístup k celému /etc /usr a podobně - pokud to nevadí, je to dobrá volba. Pro Windows je bezproblémový WinSCP v jednom exe souboru.

Omezení uživatele jen na nějaké adresáře lze řešit chroot prosředím, ale to je docela složité a ve větším měřítku (stovky uživatelů) problematické.

Dalším problémem s tímto souvisejícím je kódování češtiny. Na Windows je CP-1250 a na Linuxu obvykle UTF-8. Jen některé protokoly / kliety toto umí řešit. Přes webové rozhraní to lze řešit snadno; WinSCP umí překládat UTF-8, takže bez problémů.

Pokud má někdo jiné zkušenosti nebo doporučení, budu rád, když je sem napíše.

18.8.2008 06:30 muficek | skóre: 17 | blog: Muficek | Hradec Králové
Rozbalit Rozbalit vše Re: Samba - přístup přes WWW
Děkuji za rozsáhlé info,

To by nebylo to nejhorší, ale nové soubory mají jako vlastníka též uživatele serveru, což už je docela problém
Řešení v smb.conf pomocí direktiv "force user = XYZ a force group = XYZ" toto nevyřeší ?
Věřící mohou mluvit o velkém štěstí, že Ježíš byl ukřižován. Kdyby ho např. utopili, museli by nosit na krku akvárko :-)
18.8.2008 10:54 VSi | skóre: 28
Rozbalit Rozbalit vše Re: Samba - přístup přes WWW
To ano, ale jen pokud je k souborům přístup výhradně přes Sambu.

Pokud vám nevadí, že soubory různých "skutečných" uživatelů jsou vlastněné jedním UID (pak nelze řešit nějaká složitější oprávnění), tak to lze použít. Tento problém se týká WebDAV serveru - nenašel jsem takový, který by se po ověření uživatele přepnul na jeho UID. Ten server prostě běží pod jedním UID a pod ním vytváří soubory.

Pokud byste chtěl webové rozhraní, což je pro běžbé uživatele velmi pohodlné, tak kromě toho smbwebclient by ještě bylo možné nainstalovat FTP server (přístupný jen z localhostu) a nad ním něco jako net2ftp v PHP - možností je více a když to poběží přes HTTPS tak je to i bezpečné.

To řešení s FTP a webovým přístupem jsem zkoušel, dokonce několik různých projektů v PHP, ale nakonec stejně nejlépe vyšel ten smbwebclient, kde základní věci fungují docela dobře, jen je potřeba mít nastavené LOCALES na tu znakovou sadu, kterou ta webová aplikace používá (kvůli té češtině).

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.