[[navody:fc6obsah|Hlavní stránka]] ===== 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 //Fedora Core// se zabývá kapitola [[navody:fc6sit#Přípojování sdílených adresářů]]. ==== Instalace serveru Samba ==== * Přečtěte si kapitolu [[navody:fc6obsah#Obecné poznámky]]. * Přečtěte si kapitolu [[navody:fc6instalace_aplikaci#Přidání repozitáře]]. Server //Samba// lze nainstalovat buď pomocí //Aplikace -> Prostředí -> Systémová nastavení -> Přidat/odstranit aplikace// nebo přes terminál yum -y install samba yum -y install samba-client yum -y install system-config-samba **Poznámka:** Pomocí příkazu yum -y install samba-swat je možné také doinstalovat rozhraní pro konfiguraci aplikace //Samba//. Toto rozhraní se ovládá z webového prohlížeče. Spustit je lze tak, že do adresové řádky prohlížeče zadáte ''http://localhost:901'' popř. ''http://127.0.0.1:901''. Součástí je také off-line dokumentace k aplikaci //Samba//. ==== Konfigurace serveru Samba ==== === Přidání, editování a mazání síťových uživatelů === * Přečtěte si kapitolu [[navody:fc6obsah#Obecné poznámky]]. **Poznámka:** Jestliže je třeba přidat uživatele, přečtěte si kapitolu [[navody:fc6uzivatele#Přidání, editace a mazání uživatelů a skupin]]. Server //Samba// lze nastavit pomocí grafického rozhraní //Aplikace -> Prostředí -> Správa -> Nastavení serveru -> Samba// popř. pomocí grafického rozhraní //swat//. Takto je možné nastavit sdílený adresář a přiřadit mu uživatele, kteří k němu mohou přistupovat. Nastavení Samby lze provést také ručně smbpasswd -a system_username gedit /etc/samba/smbusers Do souboru ''smbusers'' přidejte následující řádek system_username = samba_username1 [ samba_username2 ... ] a soubor uložte. Tento zápis slouží k mapování mezi systémovými uživateli a uživateli //Samba//. Defaulně je v souboru ''smbusers'' uvedeno # Unix_name = SMB_name1 SMB_name2 ... root = administrator admin nobody = guest pcguest smbguest Superuživatel je tak pro účely //Samba// serveru namapován na uživatele ''administrator'' a ''admin''. Heslo konkrétního uživatele je možné editovat pomocí smbpasswd -a system_username Smazat uživatele lze pak pomocí smbpasswd -x system_username === Změna popisu počítače a pracovní skupiny === * Přečtěte si kapitolu [[navody:fc6obsah#Obecné poznámky]]. Změnu popisu počítače lze provést pomocí modifikace konfiguračního souboru ''smb.conf''. Nejprve zálohujte původní soubor a otevřete jej pomocí textového editoru. cp /etc/samba/smb.conf /etc/samba/smb.conf_backup gedit /etc/samba/smb.conf V případě, že chcete změnit popis počítače, nahraďte řádek ... server string = Samba Server ... v tomto souboru řádkem ... server string = novy_popis_pocitace ... Pro změnu názvu pracovní skupiny nahraďte řádek ... workgroup = MSHOME ... řádkem ... workgroup = nove_jmeno_pracovni_skupiny ... Soubor ''smb.conf'' uložte. Proveďte kontrolu správnosti syntaxe zeditovaného souboru testparm a restartujte aplikaci //Samba//. /etc/init.d/smb restart ==== Nastavení sdílených adresářů ==== Následující úpravy jsou prováděny na "poinstalační" verzi konfiguračního souboru ''smb.conf''. V případě, že obsah tohoto souboru zaměníte v souladu s postupem popsaným v kapitolách [[navody:fc6sdileni_adresaru#Sdílení adresářů mezi počítači s Fedora Core]] nebo [[navody:fc6sdileni_adresaru#Připojení sdílených adresářů počítače s OS typu Windows]], řádky které mají být vyměněny, v souboru nenaleznete. V tomto případě však stačí tyto řádky do souboru jednoduše přidat. === Sdílení domovských adresářů s právem čtení a zápisu (vyžadována autentifikace) === * Přečtěte si kapitolu [[navody:fc6obsah#Obecné poznámky]]. * Přečtěte si kapitolu [[navody:fc6sdileni_adresaru#Instalace serveru Samba]]. * Přečtěte si kapitolu [[navody:fc6sdileni_adresaru#Přidání, editování a mazání síťových uživatelů]]. cp /etc/samba/smb.conf /etc/samba/smb.conf_backup gedit /etc/samba/smb.conf V souboru ''smb.conf'' najděte v sekci ''global'' řádek ... ; security = user ... nahraďte ho řádky security = user username map = /etc/samba/smbusers a soubor uložte. Po té zadejte do příkazové řádky testparm /etc/init.d/smb restart === Sdílení domovských adresářů s právem čtení (vyžadována autentifikace) === * Přečtěte si kapitolu [[navody:fc6obsah#Obecné poznámky]]. * Přečtěte si kapitolu [[navody:fc6sdileni_adresaru#Instalace serveru Samba]]. * Přečtěte si kapitolu [[navody:fc6sdileni_adresaru#Přidání, editování a mazání síťových uživatelů]]. cp /etc/samba/smb.conf /etc/samba/smb.conf_backup gedit /etc/samba/smb.conf V souboru ''smb.conf'' nalezněte v sekci ''global'' řádek ... ; security = user ... a nahraďte ho následujícími řádky security = user username map = /etc/samba/smbusers Dále v souboru ''smb.conf'' naležněte v sekci ''homes'' řádky comment = Home Directories browseable = no writeable = yes a nahraďte je řádky comment = Home Directories browseable = yes writeable = no Soubor uložte a do příkazové řádky zadejte testparm /etc/init.d/smb restart === Sdílení společných souborů s právem čtení a zápisu (vyžadována autentifikace) === * Přečtěte si kapitolu [[navody:fc6obsah#Obecné poznámky]]. * Přečtěte si kapitolu [[navody:fc6sdileni_adresaru#Instalace serveru Samba]]. * Přečtěte si kapitolu [[navody:fc6sdileni_adresaru#Přidání, editování a mazání síťových uživatelů]]. Nejprve vytvořte společný adresář ''public'', ke kterému budou moci přistupovat ostatní uživatelé. mkdir /home/public chmod 777 /home/public/ Dále proveďte zálohu konfiguračního souboru ''smb.conf'' a tento soubor otevřete pomocí textového editoru. cp /etc/samba/smb.conf /etc/samba/smb.conf_backup gedit /etc/samba/smb.conf V souboru ''smb.conf'' nalezněte v sekci ''global'' řádky ... ; security = user ... a nahraďte je security = user username map = /etc/samba/smbusers Na konec souboru ''smb.conf'' pak přidejte následující řádky [public] comment = Public Folder path = /home/public public = yes writable = yes create mask = 0777 directory mask = 0777 force user = nobody force group = nogroup a soubor uložte. Otestujte syntaxi souboru ''smb.conf'' a restartujte //Samba// server. testparm /etc/init.d/smb restart === Sdílení společných souborů s právem čtení (vyžadována autentifikace) === * Přečtěte si kapitolu [[navody:fc6obsah#Obecné poznámky]]. * Přečtěte si kapitolu [[navody:fc6sdileni_adresaru#Instalace serveru Samba]]. * Přečtěte si kapitolu [[navody:fc6sdileni_adresaru#Přidání, editování a mazání síťových uživatelů]]. Nejprve vytvořte společný adresář ''public'', ke kterému budou moci přistupovat ostatní uživatelé. mkdir /home/public chmod 777 /home/public/ Dále proveďte zálohu konfiguračního souboru ''smb.conf'' a tento soubor otevřete pomocí textového editoru. cp /etc/samba/smb.conf /etc/samba/smb.conf_backup gedit /etc/samba/smb.conf V souboru ''smb.conf'' v sekci ''global'' nalezněte řádky ... ; security = user ... a nahraďte je následujícími řádky security = user username map = /etc/samba/smbusers Na konec souboru ''smb.conf'' přidejte následující řádky [Group] comment = Group Folder path = /home/group public = yes writable = no valid users = system_username1 system_username2 create mask = 0700 directory mask = 0700 force user = nobody force group = nogroup a soubor uložte. Do příkazové řádky zadejte testparm /etc/init.d/smb restart pro kontrolu syntaxe souboru ''smb.conf'' a restartování //Samba// serveru. === Sdílení veřejných adresářů s právem čtení a zápisu (vyžadována autentifikace) === * Přečtěte si kapitolu [[navody:fc6obsah#Obecné poznámky]]. * Přečtěte si kapitolu [[navody:fc6sdileni_adresaru#Instalace serveru Samba]]. * Přečtěte si kapitolu [[navody:fc6sdileni_adresaru#Přidání, editování a mazání síťových uživatelů]]. Nejprve vytvořte společný adresář ''public'', ke kterému budou moci přistupovat ostatní uživatelé. mkdir /home/public chmod 777 /home/public/ Dále proveďte zálohu konfiguračního souboru ''smb.conf'' a tento soubor otevřete pomocí textového editoru. cp /etc/samba/smb.conf /etc/samba/smb.conf_backup gedit /etc/samba/smb.conf V souboru ''smb.conf'' najděte v sekci ''global'' řádek ... ; security = user ... a nahraďte ho řádky security = user username map = /etc/samba/smbusers Na konec souboru přidejte následující řádky [public] comment = Public Folder path = /home/public public = yes writable = yes create mask = 0777 directory mask = 0777 force user = nobody force group = nogroup a soubor uložte. Otestujte syntaxi souboru ''smb.conf'' a restartujte //Samba// server. testparm /etc/init.d/smb restart === Sdílení veřejných adresářů s právem čtení (vyžadována autentifikace) === * Přečtěte si kapitolu [[navody:fc6obsah#Obecné poznámky]]. * Přečtěte si kapitolu [[navody:fc6sdileni_adresaru#Instalace serveru Samba]]. * Přečtěte si kapitolu [[navody:fc6sdileni_adresaru#Přidání, editování a mazání síťových uživatelů]]. Nejprve vytvořte společný adresář ''public'', ke kterému budou moci přistupovat ostatní uživatelé. mkdir /home/public chmod 777 /home/public/ Dále proveďte zálohu konfiguračního souboru ''smb.conf'' a tento soubor otevřete pomocí textového editoru. cp /etc/samba/smb.conf /etc/samba/smb.conf_backup gedit /etc/samba/smb.conf V souboru ''smb.conf'' najděte v sekci ''global'' řádek ... ; security = user ... a nahraďte ho řádky security = user username map = /etc/samba/smbusers Na konec souboru ''smb.conf'' přidejte řádky [public] comment = Public Folder path = /home/public public = yes writable = no create mask = 0777 directory mask = 0777 force user = nobody force group = nogroup a soubor uložte. Do příkazové řádky zadejte testparm /etc/init.d/smb restart pro kontrolu syntaxe souboru ''smb.conf'' a restartování //Samba// serveru. === Sdílení veřejných adresářů s právem čtení a zápisu (autentifikace není vyžadována) === * Přečtěte si kapitolu [[navody:fc6obsah#Obecné poznámky]]. * Přečtěte si kapitolu [[navody:fc6sdileni_adresaru#Instalace serveru Samba]]. * Přečtěte si kapitolu [[navody:fc6sdileni_adresaru#Přidání, editování a mazání síťových uživatelů]]. Nejprve vytvořte společný adresář ''public'', ke kterému budou moci přistupovat ostatní uživatelé. mkdir /home/public chmod 777 /home/public/ Dále proveďte zálohu konfiguračního souboru ''smb.conf'' a tento soubor otevřete pomocí textového editoru. cp /etc/samba/smb.conf /etc/samba/smb.conf_backup gedit /etc/samba/smb.conf V souboru ''smb.conf'' najděte v sekci ''global'' řádek ... ; security = user ... a nahraďte ho řádkem security = share Na konec souboru ''smb.conf'' přidejte řádky [public] comment = Public Folder path = /home/public public = yes writable = yes create mask = 0777 directory mask = 0777 force user = nobody force group = nogroup a soubor uložte. Otestujte syntaxi souboru ''smb.conf'' a restartujte //Samba// server. testparm /etc/init.d/smb restart === Sdílení veřejných adresářů s právem čtení (autentifikace není vyžadována) === * Přečtěte si kapitolu [[navody:fc6obsah#Obecné poznámky]]. * Přečtěte si kapitolu [[navody:fc6sdileni_adresaru#Instalace serveru Samba]]. * Přečtěte si kapitolu [[navody:fc6sdileni_adresaru#Přidání, editování a mazání síťových uživatelů]]. Nejprve vytvořte společný adresář ''public'', ke kterému budou moci přistupovat ostatní uživatelé. mkdir /home/public chmod 777 /home/public/ Dále proveďte zálohu konfiguračního souboru ''smb.conf'' a tento soubor otevřete pomocí textového editoru. cp /etc/samba/smb.conf /etc/samba/smb.conf_backup gedit /etc/samba/smb.conf V souboru ''smb.conf'' najděte v sekci ''global'' řádek ... ; security = user ... a nahraďte ho řádkem security = share Na konec souboru přidejte následující řádky [public] comment = Public Folder path = /home/public public = yes writable = no create mask = 0777 directory mask = 0777 force user = nobody force group = nogroup a soubor uložte. Otestujte syntaxi souboru ''smb.conf'' a restartujte //Samba// server. testparm /etc/init.d/smb restart ==== Připojení sdílených adresářů počítače s OS typu Windows ==== * Přečtěte si kapitolu [[navody:fc6obsah#Obecné poznámky]]. * Přečtěte si kapitolu [[navody:fc6sdileni_adresaru#Instalace serveru Samba]]. * Přečtěte si kapitolu [[navody:fc6sdileni_adresaru#Konfigurace serveru Samba]]. Aby bylo možné sdílet adresáře počítače s //OS// typu //Windows// je třeba, aby na tomto počítači byl správně nastaven protokol //TCP/IP//.\\ Funkčnost protokolu //TCP/IP// lze velice snadno ověřit z //Linux//u pomocí ping -c 10 ip_adresa **Poznámka:** //IP// adresu daného počítače s nainstalovanými //Windows XP// lze zjistit následujícím způsobem. Klikněntě na //Start -> Ovládací panely -> Síťová připojení//. V okně //Síťová připojení// 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 zadat příkaz ''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 //OS Windows//.\\ Na počítači s //OS Windows// je třeba vytvořit sdílený adresář. 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í.\\ Poslední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 //OS 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 [[navody:fc6obsah#Obecné poznámky]]. * Přečtěte si kapitolu [[fc6hardware#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=moje_uzivatelske_jmeno password=moje_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'' řá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 Fedora Core === * Přečtěte si kapitolu [[navody:fc6obsah#Obecné poznámky]]. * Přečtěte si kapitolu [[navody:fc6sdileni_adresaru#Instalace serveru Samba]]. * Přečtěte si kapitolu [[navody:fc6sdileni_adresaru#Konfigurace serveru Samba]]. * Přečtěte si kapitolu [[navody:fc6sdileni_adresaru#Nastavení sdílených adresářů]]. * Přečtěte si kapitolu [[navody:fc6sit#Zjistění IP adresy počítače s Fedora Core]]. 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 //Fedora Core//.\\ Stějně jako v předchozím případě je nezbytnou podmínkou úspěchu funkční nastavení protolu //TCP/IP// na obouch počítačích. To, jestli se počítače vzájemně "vidí", lze snadno ověřit pomocí příkazu spuštěného z příkazového řádku ping -c 10 ip_adresa kde ''ip_adresa'' je //IP// adresou počítače s //OS Windows//. **Poznámka:** //IP// adresu daného počítače s nainstalovanými //Windows XP// lze zjistit následujícím způsobem. Klikněntě na //Start -> Ovládací panely -> Síťová připojení//. V okně //Síťová připojení// 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 zadat příkaz ''ipconfig''.\\ Dalším krokem je ú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í provedeme zálohu původního konfiguračního souboru. cp /etc/samba/smb.conf /etc/samba/smb.conf.bak Následně otevřeme konfigurační soubor v textovém editoru gedit /etc/samba/smb.conf a obsah souboru zaměníme 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 [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//. **Poznámka:** Toto je zcela základní konfigurace. V případě, že budete chtít například nastavit autentifikaci pomocí uživatelského jména a hesla nebo omezit přístupová práva na právo čtení, je třeba dále provést úpravu konfiguračního souboru ''smb.conf'' v souladu s popisem v kapitole [[navody:fc6sdileni_adresaru#Nastavení sdílených adresářů]].\\ 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 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 kde //IP// adresa "patří" tentokráte počítači s //Fedora Core//. Jestliže jste nastavili požadavek autentifikace, bude vyzváni k zadání uživatelského jména a hesla.\\ Nyní nastal čas přesunout s k počítači s //OS Windows//. Klikněte na //Místa v síti// a v části //Práce se sítí// klikněte na //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. ===== ===== [[navody:fc6obsah|Hlavní stránka]]