Sdílení souborů pomocí Samby
Z MiS
(Rozdíly mezi verzemi)
m (→Myšlenka: Přidán Debian Jessie.) |
(→Instalace balíčků na server) |
||
Řádka 23: | Řádka 23: | ||
== Instalace balíčků na server == | == Instalace balíčků na server == | ||
* Pracujte jako správce (<code>sudo</code>), pro [[Instalace software v GNU/Linuxu|instalaci použijte správce balíčků <code>aptitude</code>]]. | * Pracujte jako správce (<code>sudo</code>), pro [[Instalace software v GNU/Linuxu|instalaci použijte správce balíčků <code>aptitude</code>]]. | ||
+ | * Před instalací nezapomeňte aktualizovat seznamy repozitářů (<code>update</code>)! | ||
aptitude install samba samba-common | aptitude install samba samba-common |
Verze z 8. 3. 2017, 13:02
Na této stránce používáme distribuci Debian ve verzi 7 (Wheezy) a 8 (Jessie). Na ostatních distribucích budou nejspíš k dispozici podobné nebo stejné nástroje a tipy.
Obsah |
Teorie
- Nástroj Samba představuje nejsnazší způsob přenosu souborů mezi Windows a Linuxem.
- „Sdílení souborů a tiskáren“ 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
- Nainstalujeme balíčky s implementací Samby. (→)
- Nastavíme požadovaný adresář (v našem případě kořen webového serveru /var/www) jako sdílený svazek pod názvem web. (Návod lze samozřejmě použít pro libovolnou jinou složku.)
- Vytvoříme ke svému účtu „sambové“ uživatelské jméno webmaster a nastavíme mu heslo.
- Nastavení přístupových práv k adresáři
- Vytvoříme skupinu samba.
- Zařadíme svůj účet do této skupiny.
- Povolíme do požadovaného adresáře přístup uživatelům ze skupiny samba.
Předpokládáme, že máme nainstalovaný stroj s GNU/Linuxem Debian Wheezy/Jessie a webovým serverem. Pro vytvoření můžete použít Návod pro instalaci webového serveru.
Instalace balíčků na server
- Pracujte jako správce (
sudo
), pro instalaci použijte správce balíčkůaptitude
. - Před instalací nezapomeňte aktualizovat seznamy repozitářů (
update
)!
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
.
Před úpravou konfiguračních souborů si vytvořte záložní kopii.
Třeba pro konfigurační soubor /etc/samba/smb.conf kopii: /etc/samba/smb.conf.orig2013-11-27.
Můžete soubor také zazálohovat do speciální složky.
- Po úpravě zkontrolujte správnost konfiguračního souboru /etc/smb.conf:
testparm konfiguracni_soubor
Dobrý zvyk radí:
- 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:
(Pro ověření musíme doinstalovat balík samba-client viz Samba - připojení svazku, 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