[[obsah|Hlavní stránka]] ===== Sdílení souborů a adresářů ===== {{:navody:48x48:places:gnome-fs-smb.png?48 }} Sdílení souborů a adresářů je ve //Fedoře// možné různými způsoby. V této kapitole je popsané sdílení souborů přes //WebDAV//, který je rozšířením protokolu //HTTP//. Hodí se pro jednoduché sdílení mezi linuxovými počítači. Chcete-li pokročilejší sdílení adresářů, které je nativně podporováno i ve //Windows//, zvolte //Sambu//, která je popsána podrobně dále v kapitole. ==== Sdílení souborů pomocí protokolu WebDAV ==== Nejjednodušším způsobem, jak sdílet soubory s ostatními počítači, je protokol WebDAV. Je totiž podporovaný již ve výchozí instalaci. Nastavení, jak ho můžete vidět na obrázku níže, naleznete v //Nastavení->Sdílení->Sdílení osobních souborů//. Tam můžete jedním kliknutím aktivovat pro danou síť sdílení složky //Veřejné//, která se nachází ve vašem domovském adresáři. Přístup můžete také chránit heslem. Dejte si také pozor na to, že sdílení nebude pro vzdálený počítač dostupné, dokud bude složka //Veřejné// prázdná. {{ :navody:f22_sdileni_souboru.png?400 | Nastavení sdílení souborů}} Ke sdílené složce se můžete jednoduše připojit z jiného počítače třeba pomocí //Nautilu//. Buď přes //Procházet síť//, kde by se mělo sdílení automaticky objevit, nebo přes //Připojit k serveru//, kde musíte zadat adresu sdílení, kterou máte uvedenou v nastavení. ==== Sdílení adresářů pomocí serveru Samba ==== //OS// typu //Windows// používají protokol //Microsoft SMB// (**S**erver **M**essage **B**lock) známý také pod jménem //CIFS// (**C**ommon **I**nternet **F**ile **S**ystem). Tento protokol umožňuje sdílení souborů, adresářů, tiskáren apod. //Linux// tento protokol implementuje ve formě balíku //Samba//. //Samba// je vydána pod //GNU General Public// licencí. Systém umožňuje integraci //OS// typu //Windows// do linuxových sítí. Na straně //Windows// přitom není zapotřebí instalovat žádný speciální software. **Poznámka:** Problematikou sdílení souborů a adresářů mezi počítači s operačním systémem //Fedora// se zabývá kapitola [[sit#Přípojování sdílených adresářů]]. Velice podrobnou knihu o //Sambě// v anglickém jazyce naleznete na [[https://www.samba.org/samba/docs/using_samba/toc.html]]. === Instalace serveru Samba === * Přečtěte si kapitolu [[obecne_poznamky|Obecné poznámky]]. * Přečtěte si kapitolu [[instalace_aplikaci#Přidání repozitáře]]. Server //Samba// lze nainstalovat přes terminál dnf -y install samba dnf -y install samba-client dnf -y install system-config-samba === Konfigurace pomocí grafického rozhraní === **Poznámka:** Jestliže je třeba přidat uživatele, přečtěte si kapitolu [[uzivatele#Přidání, editace a mazání uživatelů a skupin]]. Server //Samba// lze nastavit pomocí grafického rozhraní //Samba// (balíček system-config-samba). {{ navody:f22samba_nastaveni.png?400 | Nastavení Samby pomocí grafického rozhraní }} Takto je možné nastavit sdílený adresář a přiřadit mu uživatele, kteří k němu mohou přistupovat. === Konfigurace pomocí příkazové řádky === Následující text se zabývá základním nastavením //Samby// pomocí příkazové řádky. Podrobnosti týkající se nastavení //Samby// naleznete na stránkách [[https://www.samba.org/samba/docs/using_samba/toc.html]] popř. [[http://samba.org/samba/docs/man/Samba-HOWTO-Collection/]]. == Kontrola protokolu TCP/IP == Aby bylo možné sdílet adresáře mezi //Windows// a //Linux//em je třeba, aby byl na počítači s //Windows// správně nastaven protokol //TCP/IP//. Na straně //Fedory// by problémy s podporou tohoto protokolu nastat neměly.\\ Funkčnost protokolu //TCP/IP// lze velice snadno ověřit z //Linux//u pomocí ping -c 10 ip_adresa **Poznámka:** //IP// adresu počítače s nainstalovanými //Windows 7// lze zjistit následujícím způsobem. Klikněte na //Start -> Ovládací panely -> Centrum síťových připojení a sdílení//. V okně //Změnit nastavení adaptéru// pak dvakrát klikněte na ikonu, která znázorňuje Vaše síťové připojení. Přejděte na záložku //Podpora// a opište číslo uvedené za položkou //Adresa IP//((Mělo by se jednat o číslo typu 192.168.2.125.)). Další možností, jak získat //IP// adresu, je v příkazovém řádku //Windows// zadat ''ipconfig''.\\ Výstup příkazu ''ping -c 10 ip_adresa'' by měl vypadat přibližně následovně PING 192.168.2.125 (192.168.2.125) 56(84) bytes of data. 64 bytes from 192.168.2.125: icmp_seq=1 ttl=64 time=0.068 ms 64 bytes from 192.168.2.125: icmp_seq=2 ttl=64 time=0.071 ms 64 bytes from 192.168.2.125: icmp_seq=3 ttl=64 time=0.072 ms 64 bytes from 192.168.2.125: icmp_seq=4 ttl=64 time=0.072 ms 64 bytes from 192.168.2.125: icmp_seq=5 ttl=64 time=0.072 ms 64 bytes from 192.168.2.125: icmp_seq=6 ttl=64 time=0.070 ms 64 bytes from 192.168.2.125: icmp_seq=7 ttl=64 time=0.073 ms 64 bytes from 192.168.2.125: icmp_seq=8 ttl=64 time=0.093 ms 64 bytes from 192.168.2.125: icmp_seq=9 ttl=64 time=0.072 ms 64 bytes from 192.168.2.125: icmp_seq=10 ttl=64 time=0.072 ms --- 192.168.2.125 ping statistics --- 10 packets transmitted, 10 received, 0% packet loss, time 9000ms rtt min/avg/max/mdev = 0.068/0.073/0.093/0.010 ms Jestliže tento "test" dopadl úspěšně, můžete pokračovat. V opačném případě budete muset nastavit síťové protokoly na počítači s //Windows//. == Nastavení uživatelských účtů == * Přečtěte si kapitolu [[obecne_poznamky|Obecné poznámky]]. * Přečtěte si kapitolu [[sdileni_adresaru#Instalace serveru Samba]] Nezbytný předpokladem fungování //Samby// je správné nastavení uživatelských účtů ve //Fedoře//, //Windows// a //Sambě//. == Samba == Noví uživatelé //Samby// jsou mapováni na již existující systémové uživatele //Fedory//. Tato vazba je definována v souboru ''/etc/samba/smbusers''. gedit /etc/samba/smbusers Do souboru ''smbusers'' přidejte následující řádek systemovy_uzivatel = samba_uzivatel1 [ samba_uzivatel2 ... ] a soubor uložte. Tento zápis slouží k výše zmiňovanému mapování mezi systémovými uživateli a uživateli //Samby//. Defaulně je v souboru ''smbusers'' uvedeno # Unix_name = SMB_name1 SMB_name2 ... root = administrator admin nobody = guest pcguest smbguest Superuživatel je tak např. pro účely //Samba// serveru namapován na uživatele ''administrator'' a ''admin''. Obecně se doporučuje používat pro účely //Samby// jména uživatelů odpovídající systémovým uživatelům. Dále je třeba nově vytvořenému uživately //Samby// nastavit heslo. Heslo konkrétního uživatele je možné nastavit popř. editovat pomocí smbpasswd -a samba_uzivatel1 Smazat uživatele lze pak pomocí smbpasswd -x samba_uzivatel1 a následným smazáním příslušného řádku v souboru ''/etc/samba/smbusers''. == Windows == Na počítači s //Windows// vytvořte účet, jehož uživatelské jméno a heslo se shoduje s linuxovým účtem vybraného uživatele. Cílem tedy je, aby pod //Linux//em a //Windows// existovali dva "stejní" uživatelé - v opačném případě nebude níže popsaný postup fungovat.\\ Nového uživatele pod //Windows XP// vytvoříte tak, že přes nabídku //Start -> Nastavení -> Ovládací panely// vyvoláte okno //Ovládací panely//, kde klinete na ikonu //Uživatelské účty//. V okně //Uživatelské účty// pokračujte odkazem //Vytvořit nový účet// a postupujte dle instrukcí průvodce. == Nastavení firewallu == * Přečtěte si kapitolu [[obecne_poznamky|Obecné poznámky]]. * Přečtěte si kapitolu [[sit#otevreni_uzavreni_portu|Otevření / uzavření portů]]. Nezbytnou podmínkou pro fungování //Samby// je její povolení na firewallu. Port 901, přes který //Samba// komunikuje, je v případě //Fedory// standardně uzavřen. Povolit komunikaci přes tento port můžete pomocí nabídky //Systém -> Správa -> Firewall//. == Připojení sdílených adresářů na počítači s OS typu Windows == * Přečtěte si kapitolu [[obecne_poznamky|Obecné poznámky]]. * Přečtěte si kapitolu [[sdileni_adresaru#Instalace serveru Samba]]. * Přečtěte si kapitolu [[sdileni_adresaru#Kontrola protokolu TCP/IP]]. * Přečtěte si kapitolu [[sdileni_adresaru#Nastavení uživatelských účtů]]. * Přečtěte si kapitolu [[sdileni_adresaru#Nastavení firewallu]]. == Sdílený adresář == Po té, co jste zkontrolovali funkčnost protokolu //TCP/IP//, provedli nezbytná nastavení uživatelských účtů a otevřeli port 901 na firewallu (ve //Fedora Workstation// by měl být ve výchozím stavu povolený), je možné přistoupit k vytvoření sdíleného adresáře. Ve //Windows XP// sdílený adresář vytvoříte z normálního adresáře tak, že po dvoukliku na ikonu adresáře vybere z nabídky položku //Vlastnosti// a v ní záložku //Sdílení//, kde provedete potřebná nastavení.\\ == Připojení v Nautilu == V //Linuxu// se můžete ke vzdálenému adresáři připojit nejjednodušeji ve správci souborů //Nautilus//, kde ve sloupci nalevo kliknete na //Připojit k serveru//. Adresu serveru zadejte ve tvaru, jak to můžete vidět na obrázku níže. {{ :navody:f22-nautilus-smb.png?400 |}} == Připojení v příkazové řádce == Dalším krokem je vytvoření adresáře na počítači s //Linux//em, kam připojíte obsah sdíleného adresáře. mkdir /media/smb chmod 777 /media/smb Předpokládejme, že počítač s //Windows//, na kterém je uložen sdílený adresář, má //IP// adresu 192.168.2.125 a cesta k tomuto adresáři je ''C:/Linux''. Dále předpokládejme, že na linuxovém stroji je přípojným bodem adresář ''/media/smb''. Samotné připojení adresáře pak provedete pomocí mount -t cifs //192.168.2.125/Linux /media/smb odpojení pak pomocí umount -t cifs /media/smb **Poznámka:** Příkazy ''mount'' a ''umount'' může standardně používat pouze superuživatel. == Modifikace fstab pro automatické připojení sdílených adresářů == * Přečtěte si kapitolu [[obecne_poznamky|Obecné poznámky]]. * Přečtěte si kapitolu [[hardware#Znovupřipojení všech zařízení z /etc/fstab]]. Předpokládejme, že sdílení adresářů bylo nastaveno podle výše uvedeného návodu. Pomocí textového editoru vytvořte soubor ''.smbcredentials'' gedit /root/.smbcredentials do kterého následně vložíte řádky username=samba_uzivatel1 password=heslo Nově vytvořený soubor uložte. Dále nastavte k tomuto souboru přístupová práva. chmod 700 /root/.smbcredentials Proveďte zazálohování souboru ''fstab'' cp /etc/fstab /etc/fstab_backup a tento soubor otevřete v textovém editoru. gedit /etc/fstab Na konec tohoto souboru vložte řádek //192.168.2.126/cesta_k_sdilenemu adresari /media/smb cifs credentials=/root/.smbcredentials 0 0 a zeditovaný soubor uložte. **Poznámka:** Po té, co vložíte do souboru ''fstab'' výše uvedený řádek, je třeba ještě vložit prázdný řádek klávesou //ENTER//. Jestliže soubor ''fstab'' nebude končit prázdnou řádkou, bude systém při jeho načítání v průběhu bootování hlásit chybu. == Připojení sdílených souborů počítače s Fedorou == * Přečtěte si kapitolu [[obecne_poznamky|Obecné poznámky]]. * Přečtěte si kapitolu [[sdileni_adresaru#Instalace serveru Samba]]. * Přečtěte si kapitolu [[sdileni_adresaru#Kontrola protokolu TCP/IP]]. * Přečtěte si kapitolu [[sdileni_adresaru#Nastavení uživatelských účtů]]. * Přečtěte si kapitolu [[sit#Zjistění IP adresy počítače s Fedorou]]. * Přečtěte si kapitolu [[sdileni_adresaru#Nastavení firewallu]]. V předchozím odstavci jsme připojovali sdílený adresář uložený na počítači s //OS Windows//. Nyní zkusíme opačný postup - budeme připojovat sdílený adresář uložený na počítači s //Fedorou//.\\ == Konfigurační soubor Samby == Nejprve je třeba zkontrolovat funkčnost protokolu //TCP/IP// na počítači s //OS Windows//, provést nezbytná nastavení uživatelských účtů a otevřít port 901 na firewallu. Dalším krokem je pak úprava konfiguračního souboru aplikace //Samba//. Správnost jeho syntaxe a místo uložení lze zjistit pomocí příkazu testparm Výstup tohoto příkazu pak vypadá přibližně následovně Load smb config files from /etc/samba/smb.conf Processing section "[homes]" Processing section "[printers]" Global parameter printcap name found in service section! Processing section "[data]" Loaded services file OK. WARNING: passdb expand explicit = yes is deprecated Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions Z výpisu je patrné, že konfigurační soubor ''smb.conf'' se nachází v adresáři ''/etc/samba''. Před samotnou modifikací proveďte zálohu původního konfiguračního souboru. cp /etc/samba/smb.conf /etc/samba/smb.conf.bak Následně otevřete konfigurační soubor v textovém editoru gedit /etc/samba/smb.conf a obsah souboru zaměňte za((Jedná se o naprosto základní nastavení. Aplikace //Samba// pochopitelně dovoluje nastavení mnohem většího počtu parametrů. To však přesahuje možnosti této příručky.)) [global] workgroup = SKUPINA wins support = Yes security = user username map = /etc/samba/smbusers [homes] read only = No map archive = No browseable = No [printers] path = /var/tmp printable = Yes browseable = No [data] path = /opt/macky read only = No map archive = No V konfiguračni je třeba dále upravit: - v sekci ''global'' hodnotu parametru ''workgroup'' na jméno pracovní skupiny, do které patří oba počítače - v sekci ''data'' nastavit v parametru ''path'' cestu ke sdílenému adresáři **Poznámka:** Jméno pracovní skupiny zjistíte v případě //Windows XP// následovně. Dvojklikem na ikonu //Tento počítač// otevřete nabídku, ve které vyberete položku //Vlastnosti//. V okně //Vlastnosti systému// klikněte na záložku //Název počítače// a opište jméno uvedené za položkou //Pracovní skupina//. Jestliže chcete přidat více sdílených adresářů, přidejte do souboru ''smb.conf'' více sekcí se stejnou syntaxí, jako sekce ''data''. [data1] path = /opt/macky/adresar1 read only = No map archive = No [data2] path = /home/macky/adresar2 read only = No map archive = No == Připojení / odpojení sdíleného adresáře == Dále je třeba spustit démoda ''smbd''. To se provede pomocí příkazu /usr/sbin/smbd Po té, co je démon spuštěn, zadejte pro připojení sdíleného adresáře do příkazové řádky smbclient //192.168.2.126/data -U samba_uzivatel1%heslo kde uvedená //IP// adresa "patří" tentokráte počítači s //Fedorou//((Tuto adresu je pochopitelně nutné modifikovat!)) a ''samba_uzivatel1'' představuje //Samba// alias pro uživatele, který je "společný" //Fedoře// a //Windows//.\\ Nyní nastal čas přesunout s k počítači s //Windows//. Přihlašte se pod stejným uživatelem, jakého jste specifikovali parametrem ''-U'' u výše uvedeného příkazu ''smbclient''. Klikněte na //Místa v síti// a v části //Práce se sítí// pak na ikonou //Přidat místo v síti//. Pokračujte tlačítkem //Další// a po té ikonou //Jiné umístění v síti//. Pro namapování sdíleného adresáře specifikovaného v ''smb.conf'' v sekci ''data'' zadejte \\192.162.2.126\data a potvrďte. Po chvíli by se mělo otevřít okno s obsahem sdíleného adresáře. ---- [[obsah|Hlavní stránka]]