Toto je starší verze dokumentu!
Server Samba
OS typu Windows používají protokol Microsoft SMB (Server Message Block) známý také pod jménem CIFS (Common Internet File System). Tento protokol umožňuje sdílení souborů, adresářů, tiskáren apod. Linux tento protol implementuje ve formě balíku Samba. Samba 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.
Instalace serveru Samba pro sdílení složek/souborů
- Přečtěte si kapitolu Obecné poznámky.
- Přečtěte si kapitolu 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
Přidání, editování a mazání síťových uživatelů
- Přečtěte si kapitolu Obecné poznámky.
Poznámka: Jestliže je třeba přidat uživatele, přečtěte si kapitolu Přidání, editace a mazání uživatelů a skupin.
Server Samba lze nastavit pomocí grafického rozhraní Aplikace → Prostředí → Nastavení → Nastavení serveru → Samba. 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 = "network username"
a soubor uložte.
Heslo konkrétního uživatele 1) je možné editovat pomocí
smbpasswd -a system_username
Smazat uživatele lze pak pomocí
smbpasswd -x system_username
Sdílení domovských adresářů s právem čtení a zápisu (vyžadována autentifikace)
- Přečtěte si kapitolu Obecné poznámky.
- Přečtěte si kapitolu Instalace serveru Samba.
- Přečtěte si kapitolu 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 řá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 Obecné poznámky.
- Přečtěte si kapitolu Instalace serveru Samba.
- Přečtěte si kapitolu 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 řá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 řádky
[homes] comment = Home Directories browseable = no writeable = yes
a nahraďte je řádky
[homes] 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 souboru s právem čtení a zápisu (vyžadována autentifikace)
- Přečtěte si kapitolu Obecné poznámky.
- Přečtěte si kapitolu Instalace serveru Samba.
- Přečtěte si kapitolu Přidání, editování a mazání síťových uživatelů.
mkdir /home/public chmod 777 /home/public/ cp /etc/samba/smb.conf /etc/samba/smb.conf_backup gedit /etc/samba/smb.conf
V souboru smb.conf nalezněte řá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. Do příkazové řádky zadejte
testparm /etc/init.d/smb restart
Sdílení společných souboru s právem čtení (vyžadována autentifikace)
- Přečtěte si kapitolu Obecné poznámky.
- Přečtěte si kapitolu Instalace serveru Samba.
- Přečtěte si kapitolu Přidání, editování a mazání síťových uživatelů.
mkdir /home/group chmod 777 /home/group/ cp /etc/samba/smb.conf /etc/samba/smb.conf_backup gedit /etc/samba/smb.conf
V souboru smb.conf nalezněte řádky
... ; security = user ...
a nahraďte je nádledují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
Sdílení veřejných adresářů s právem čtení a zápisu (vyžadována autentifikace)
- Přečtěte si kapitolu Obecné poznámky.
- Přečtěte si kapitolu Instalace serveru Samba.
- Přečtěte si kapitolu Přidání, editování a mazání síťových uživatelů.
mkdir /home/public chmod 777 /home/public/ cp /etc/samba/smb.conf /etc/samba/smb.conf_backup gedit /etc/samba/smb.conf
V souboru smb.conf najděte řá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. Do příkazové řádky zadejte
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 Obecné poznámky.
- Přečtěte si kapitolu Instalace serveru Samba.
- Přečtěte si kapitolu Přidání, editování a mazání síťových uživatelů.
mkdir /home/public chmod 777 /home/public/ cp /etc/samba/smb.conf /etc/samba/smb.conf_backup gedit /etc/samba/smb.conf
V souboru smb.conf najděte řá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
Sdílení veřejných adresářů s právem čtení a zápisu (autentifikace není vyžadována)
- Přečtěte si kapitolu Obecné poznámky.
- Přečtěte si kapitolu Instalace serveru Samba.
- Přečtěte si kapitolu Přidání, editování a mazání síťových uživatelů.
mkdir /home/public chmod 777 /home/public/ cp /etc/samba/smb.conf /etc/samba/smb.conf_backup gedit /etc/samba/smb.conf
V souboru smb.conf najděte řá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. Do příkazové řádky zadejte
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 Obecné poznámky.
- Přečtěte si kapitolu Instalace serveru Samba.
- Přečtěte si kapitolu Přidání, editování a mazání síťových uživatelů.
mkdir /home/public chmod 777 /home/public/ cp /etc/samba/smb.conf /etc/samba/smb.conf_backup gedit /etc/samba/smb.conf
V souboru smb.conf najděte řá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. Do příkazové řádky zadejte
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 Instalace serveru Samba pro sdílení složek/souborů.
Aby bylo možné sdílet adresáře počítače s OS typu Windows je třeba, aby na tomto počítačí byl správně nastaven protokol TCP/IP.
Funkčnost protokolu TCP/IP lze velice snadno ověřit z Linuxu pomocí
ping -c 10 ip_adresa
Poznámka: IP adresu daného počítače s nainstalovaným 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 2).
Výstup výše uvedeného příkazu 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 typu 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 vybere záložku Sdílení, kde provedete potřebná nastavení.
Posledním krokem je vytvoření adresáře na počítači s Linuxem, kam připojíte obsah sdíleného adresáře počítače s OS typu Windows.
Předpokládejme, že počítač s OS Windows na kterém je ulože adresář, který chceme sdílet, má IP adresu 192.168.2.125 a cesta k tomuto adresáři je C:/Linux. Dále předpokládejme, že na Linuxové stroje je přípojným bodem adresář /media/smb. Samotné připojení adresáře pak provedeme 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. Pro automatické připojení sdílených adresářů je třeba modifikovat soubor fstab.
Připojení sdílených souborů počítače s Fedora Core
- Přečtěte si kapitolu Instalace serveru Samba pro sdílení složek/souborů.
V předchozím odstavci jsme připojovali sdílený adresář uložený na počítači s OS typu 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štného z příkazového řádku
ping -c 10 ip_adresa
kde ip_adresa je IP adresou počítače s OS typu Windows 3)
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/samaba/smb.conf
a obsah souboru zaměníme za
[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