Sdílení souborů pomocí Samby
Z MiS
Obsah |
Teorie
- Nástroj Samba představuje nejsnazší způsob přenosu souborů mezi Windows a Linuxem.
- Využívá stejný protokol jako „Sdílení souborů a tiskáren“ ve Windows.
- Sdílení ve Windows je založeno na protokolu SMB/CIFS (původně SMB, později vylepšený CIFS).
- Balík Samba je svobodná implementace protokolu SMB/CIFS v GNU/Linuxu.
Myšlenka
- Nasdílíme složku webového serveru (/var/www) jako sdílenou složku pod názvem www. Návod lze samozřejmě použít pro libovolnou jinou složku.
- Vytvoříme „sambového“ uživatele webmaster. Nastavíme mu heslo pro Sambu.
- Uživatele webmaster namapujeme k svému vlastnímu uživatelskému účtu.
- Zařadíme vlastní účet do skupiny samba, kterou vytvoříme.
- Povolíme do složky webového serveru přístup uživatelům ze skupiny samba.
Poznámky
- Návod je vyzkoušen na distribuci Debian ve verzi Wheezy.
- Předpokládáme nainstalovaný stroj s GNU/Linuxem Debian Wheezy.
- Pokud zpřístupňujete složku webového serveru, návod pro instalaci webového serveru je zde.
Instalace balíků na server
- Pracujte jako správce (
sudo
), pro instalaci použijte správce balíkůaptitude
.
aptitude install samba samba-common
Pozn: Pro Raspbian (Raspberry Pi) je třeba ještě doinstalovat:
aptitude install samba-common-bin
Konfigurace serveru
- Soubor /etc/samba/smb.conf
- Konfigurace je uložena v souboru /etc/samba/smb.conf.
- K úpravě použijte třeba editor
nano
. - Po úpravě zkontrolujte správnost konfiguračního souboru /etc/smb.conf:
testparm konfiguracni_soubor
Dobrý zvyk radí:
- Vytvořte záložní kopii konfiguračního souboru: /etc/samba/smb.conf.orig2013-11-27.
- Ponechte originál konfiguračního souboru v /etc/samba/smb.conf.master (zde proveďte své změny)
- Pak vygenerujte konfigurační soubor příkazem: (čímž provedete i kontrolu správnosti)
testparm -s smb.conf.master > smb.conf
- Pro přesměrování výstupu do souboru smb.conf potřebujete být správce (
sudo su
), nestačí zde napsat před příkazsudo
(neuplatnilo by se na přesměrování).
- Komentáře
- Řádky začínající znakem # nebo středníkem (;) jsou pouze komentáře.
- Znak # uvozuje vysvětlení významu jednotlivých voleb.
- Středník obvykle používáme k „vykomentování“ řádku, tedy zrušení jeho platnosti (ale přitom ho máme k dipozici pro budoucí použití).
Podrobnější vysvětlení voleb konfigurace Samby.
- Konfigurace serveru
- V části týkající se konfigurace serveru povolte následující volby:
[global] workgroup = WORKGROUP security = user username map = /etc/samba/smbusers encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd ; unix password sync = yes
- Definice sdílených disků (uvádíme pro každý sdílený disk, v našem případě stačí jeden)
- Zakomentujte položku
[homes]
a všechny řádky pod ní
; [homes] ; comments = Home Directories ; browsable = no ; read only = yes ; create mask = 0700 ; directory mask = 0700
- Vytvořte sdílenou složku
[web]
[web] comment = Hlavni slozka weboveho serveru path = /var/www writeable = yes create mode = 0664 directory mode = 0775 locking = yes
Restart služby Samba
- Musí provést správce počítače:
/etc/init.d/samba restart
- Vytvořené svazky můžeme ověřit:
(Jako heslo zadáme vlastní heslo k systémovému účtu.)
smbclient -L localhost
Vytvoření uživatelských účtů
- Přidání účtů
- Přidejte do systému uživatelský účet webmaster, který se nemůže přihlásit do systému, ale bude používán pro přihlášení přes Sambu.
useradd webmaster --shell /bin/false
- Volitelné — aliasy
- Chcete-li pro Sambu používat i jiné uživatelské jména (mapovaná na tento účet), přidejte do souboru /etc/samba/smbusers (nejspíš neexistuje) položku pro uživatele webmaster:
webmaster = nove_uzivatelske_jmeno_pro_sambu
- Pokud se tedy přihlásíte prostřednictvím Samby jako nove_uzivatelske_jmeno_pro_sambu, systém bude vyžadovat heslo uživatele webmaster a budou se používat pro přístup k souborům práva uživatele webmaster.
- Nastavení hesla
- Přidejte pro účet webmaster vhodné heslo pro přístup přes Sambu. Doporučujeme jiné heslo než to pro přihlášení do systému.
- V příkazovém řádku spusťte:
smbpasswd -L -a webmaster
Parametr
-a
říká, že se účet přidá k účtům pro přihlašování přes Sambu. Při změně hesla už -a
nepoužíváme- Nastavení přístupových práv
- Pro uživatelský účet webmaster je třeba povolit přístup do zvoleného adresáře (/var/www).
- Opět musíme pracovat jako správce počítače.
- Vytvoříme uživatelskou skupinu samba, které práva nastavíme a přidáme do ní uživatelský účet webmaster.
groupadd samba usermod -aG samba uzivatelske_jmeno chown -R uzivatelske_jmeno /var/www chgrp -R samba /var/www chmod 775 /var/www chmod g+s /var/www chmod -R g+w /var/www
- Další materiály: Samba - konfigurace, Oprávnění pro přístup k souborům, Správa uživatelských účtů, Nastavování práv, Konfigurační soubory, Speciální bity.
Restart služby Samba
- Musí provést správce počítače:
/etc/init.d/samba restart
Připojení sdílené složky ze druhého počítače
- Zde uvádíme pouze velmi stručný výtah příkazů, podrobněji viz: Samba - připojení svazku.
- GNU/Linux
aptitude install samba-client cifs-utils smbclient -L //server mount -t cifs //server/slozka do-ktereho-adresare -o username=login
- Windows
net use z: \\server\slozka