Mount CIFS share

Diskuze o linuxu, rady, návody, zajímavosti.
Zamčeno
rsta
Příspěvky: 3
Registrován: úte 30. dub 2013 16:50:10

Mount CIFS share

Příspěvek od rsta »

Dobrý den,

při pokusu připojit SAMBA share obdržím hlášku "cifs filesystem not supported by the system". Provozuji základní debian, všechny potřebné balíčky mám nainstalovány (smbfs, smb-client...).

Děkuji za odpověď
4smart.cz
Administrátor
Příspěvky: 1373
Registrován: úte 12. říj 2010 9:16:11
Kontaktovat uživatele:

Re: Mount CIFS share

Příspěvek od 4smart.cz »

Dobrý den.

Nainstalujte si nástroj fusesmb, který je založen na použití modulu FUSE.
S jeho pomocí by mělo být možné SMB/CIFS připojit.

Modul FUSE umožňuje volně mountovat různé souborové systémy v uživatelském prostoru.

Pozn.: Protokol CIFS je určen pro sítě LAN, kde využívá síťových broadcastů.
Z tohoto důvodu je nutné, aby mezi klientem a serverem nebyl síťový router.
Obvykle lze tento problém vyřešit implementací VPN sítě (na 4smart.cz je podporováno openvpn).

J.M.
rsta
Příspěvky: 3
Registrován: úte 30. dub 2013 16:50:10

Re: Mount CIFS share

Příspěvek od rsta »

Dobrý den,

myslím, že je to právě fusesmb, který používá broadcasty a je určen pro práci v LAN. Já bych potřeboval připojit svazek na internetu, což normální mount -t cifs ... umí, ale fusesmb mi tady nepomůže.

S pozdravem,
R.S
4smart.cz
Administrátor
Příspěvky: 1373
Registrován: úte 12. říj 2010 9:16:11
Kontaktovat uživatele:

Re: Mount CIFS share

Příspěvek od 4smart.cz »

Dobrý den.

Začal jsem se podrobně zabývat tímto problémem a zde přináším výsledky:

V dalším textu budu místo CIFS používat slovo SAMBA - což je svobodná implementaci CIFS pod Linuxem a jinými OS.

Na úvod - bez modulu FUSE se v roli samba klienta ve VPS OpenVZ Hosta nelze obejít.
Jádro nemá potřebnou implementaci pro připojení smb filesystému v prostředí kontejneru virtuálního serveru.
Připojit samba úložiště běžně známým způsobem s pomocí nástroje mount, ( = smbmount) lze pouze v prostředí HW uzlu.
Existuje pak možnost nabindování takto připojeného bodu do kontejneru VPS.
Toto řešení je ale z mého pohledu dosti nečisté a spíše by přineslo více problémů a nutnost rozšířit implementaci 4smart.cz a ošetřit různé stavy.
Proto jsem tento způsob zavrhl.

Také jsem uvedl, že CIFS/SAMBA je protokol určený především pro LAN, právě kvůli broadcastům. To není úplně pravda. Použít jej i za hranicí routeru lze, ale
bez možnosti objevování okolních stanic. Alternativně jde použít WINS server místo síťových broadcastů.

Co tedy udělat proto, aby ve VPS bylo možné připojit vzdálený SAMBA adresář.

1) Nainstalovat nástroj smbnetfs, který využívá FUSE, v debianu:

Kód: Vybrat vše

aptitude install smbnetfs
2) V domovském adresáři uživatele, pod nímž budeme provozovat nástroj smbnetfs je třeba vytvořit adresář .smb:

Kód: Vybrat vše

mkdir .smb
3) V domovském adresáři si vytvoříme speciální adresář, kam budou přimountovány vzdálené síťové SAMBA zdroje, pojmenujte si jej jak potřebujete, zde jsem zvolil název adresáře samba:

Kód: Vybrat vše

mkdir samba
4) Připojíme souborový systém fuse do tohoto adresáře s pomocí nainstalovaného nástroje:

Kód: Vybrat vše

smbnetfs ~/samba
Adresář ~/samba bude i po vykonání tohoto příkazu zřejmě prázdný, nelekejte se.

5) Nyní se připojíme ke vzdálenému SAMBA serveru s veřejnou IP adresou, nebo pokud je ve Vašem VPS virtuální provátní síť (openVPN) jako v mém případě, tak k lokálnímu stroji v této VPN síti - zde je ukázka syntaxe:

Kód: Vybrat vše

cd ~/samba/nazev_uzivatele_na_vzdalenem_serveru:heslo_uzivatele_na_vzdalenem_serveru@ip_adresa_nebo_domena_vzdaleneho_serveru/adresarova_struktura_kam_ma_uzivatel_pristup
Praktická ukázka, která zpřístupní v prostředí VPS vzdálené SAMBA úložiště na mém laptopu:

Kód: Vybrat vše

cd ~/samba/admin:dfr345kld@10.0.33.5/profiles
Jak vidíte, jde o prosté zanoření do adresářové struktury s použití příkazu cd. V tomto okmažiku, pokud bylo připojení úspěšné, by již adresář ~/samba neměl být prázdný - příkaz ls by měl vygenerovat adresářovou strukturu.

6)Jak si usnadnit život a nezadávat neustále takto složitou cestu při změně adresáře, která navíc obsahuje uživatelské jméno a heslo
Nainstalujte si nástroj bindfs, v debianu:

Kód: Vybrat vše

aptitude install bindfs
Vytvořte si ve svém domovském adresáři nový adresář, který nejlépe charakterizuje název vzdáleného SAMBA serveru nebo jeho účel. V mém případě:

Kód: Vybrat vše

mkdir ~/laptop
Do tohoto adresáře přibindujeme vzdálený připojený bod. V mém případě:

Kód: Vybrat vše

bindfs ~/samba/admin:dfr345kld@10.0.33.5/profiles ~/laptop
Nyní lze pracovat výhradně s adresářem ~/laptop.


Poznámky na závěr:
* Odpojit přípojný bod ~/samba lze s pomocí nástroje fusermount:

Kód: Vybrat vše

fusermount -u ~/samba
* Pokud nástroj smbnetfs hlásí, že modul FUSE chybí, kontaktujte mě na email podpora[at]4smart.cz. Tato situace se týká některých VPS starších 1 rok.

J.M.
rsta
Příspěvky: 3
Registrován: úte 30. dub 2013 16:50:10

Re: Mount CIFS share

Příspěvek od rsta »

Dobrý den,

děkuji za podrobný popis. Toto řešení mi bude stačit.

S pozdravem,
R.S.
Zamčeno