Sdílení souborů pomocí Samby

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Připojení sdílené složky ze druhého počítače)
(aptitude -> apt, Debian 10)
Řádka 1: Řádka 1:
 
[[Category:VSE]][[Category:Informatika]][[Category:Návody]][[Category:Linux]][[Category:OSY]][[Category:Admin]][[Category:Samba]]
 
[[Category:VSE]][[Category:Informatika]][[Category:Návody]][[Category:Linux]][[Category:OSY]][[Category:Admin]][[Category:Samba]]
  
{{Based_on_Debian_9}}
+
{{Based_on_Debian_10}}
  
 
== Teorie ==
 
== Teorie ==
Řádka 33: Řádka 33:
  
 
== 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>apt</code>]].
 
* Před instalací nezapomeňte [[Instalace_software_v_GNU/Linuxu#Pr.C3.A1ce_se_seznamem_repozit.C3.A1.C5.99.C5.AF|aktualizovat seznamy repozitářů (<code>update</code>)]]!
 
* Před instalací nezapomeňte [[Instalace_software_v_GNU/Linuxu#Pr.C3.A1ce_se_seznamem_repozit.C3.A1.C5.99.C5.AF|aktualizovat seznamy repozitářů (<code>update</code>)]]!
 
* Doporučujeme také nejprve aktualizovat stávající balíčky (upgrade).
 
* Doporučujeme také nejprve aktualizovat stávající balíčky (upgrade).
  
  aptitude install samba samba-common
+
  apt install samba samba-common
  
 
Pozn: Pro Raspbian (Raspberry Pi) je třeba ještě doinstalovat:
 
Pozn: Pro Raspbian (Raspberry Pi) je třeba ještě doinstalovat:
  aptitude install samba-common-bin
+
  apt install samba-common-bin
  
 
== Konfigurace serveru ==
 
== Konfigurace serveru ==
Řádka 163: Řádka 163:
 
* Vytvořte si nový adresář (''mount point''), do kterého budete síťovou složku připojovat (vytvořte jej třeba ve svém domovském adresáři).
 
* Vytvořte si nový adresář (''mount point''), do kterého budete síťovou složku připojovat (vytvořte jej třeba ve svém domovském adresáři).
 
* Poté proveďte
 
* Poté proveďte
  aptitude install samba-client cifs-utils
+
  apt install samba-client cifs-utils
 
  smbclient -L //''server''
 
  smbclient -L //''server''
 
  mount -t cifs //''server''/web  ''mountpoint''  -o username=''uzivatelsky-ucet-pro-sambu''
 
  mount -t cifs //''server''/web  ''mountpoint''  -o username=''uzivatelsky-ucet-pro-sambu''

Verze z 12. 5. 2021, 07:49

Na této stránce používáme distribuci Debian ve verzi 10 (Buster). Na ostatních distribucích budou nejspíš k dispozici podobné nebo stejné nástroje a tipy.

Obsah

Teorie

Myšlenka

  1. Nainstalujeme balíčky s implementací Samby. (Viz také Instalace balíčků na server)
  2. 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.)
  3. Vytvoříme ke svému účtu „sambové“ uživatelské jméno webmaster a nastavíme mu heslo.
  4. 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 a webovým serverem. Pro vytvoření můžete použít Návod pro instalaci webového serveru.

K čemu mít server?
  1. S takto vytvořeným serverem následně můžeme:
    • sdílenou složku připojit například k počítači s Windows přes službu Sdílení souborů a složek.
    • Editovat kód webových stránek ve svém oblíbeném editoru a po uložení ho mít přímo připraven na takto vytvořeném pokusném serveru. (Plnohodnotnější náhrada za XAMP a podobné nástroje.)
  2. Můžeme ale také vytvořit souborový server třeba na Raspberry Pi (Raspbian) atd.

Všimněte si, že je mnohem pohodlnější se serverem pracovat vzdáleně přes Putty. Můžete pak použít schránku pro kopírování příkazů!


Instalace balíčků na server

apt install samba samba-common

Pozn: Pro Raspbian (Raspberry Pi) je třeba ještě doinstalovat:

apt install samba-common-bin

Konfigurace serveru

Soubor /etc/samba/smb.conf

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.

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 spustit shell správce (sudo -i). Správcovský shell pak ukončíte příkazem exit.
    (Nestačí zde napsat před příkaz sudo, neuplatnilo by se na přesměrování.)
Komentáře
Konfigurace serveru
[global]
workgroup = WORKGROUP
username map = /etc/samba/smbusers
; unix password sync = yes

Některé volby již v souboru jsou uvedeny. Odpovídající řádky pouze upravte.

S výhodou využijte funkci vyhledávání v textovém editoru (pro editor nano zkratka Ctrl-W).

Definice sdílených disků (uvádíme pro každý sdílený disk, v našem případě stačí jeden)
; [homes]
; comments = Home Directories
; browsable = no
; read only = yes
; create mask = 0700
; directory mask = 0700
[web]
comment = Hlavni slozka weboveho serveru
path = /var/www
writeable = yes
create mode = 0664
directory mode = 0775
locking = yes

Restart služby Samba

systemctl restart smbd

Vytvoření uživatelských účtů

Přidání účtů
useradd webmaster --shell /bin/false
Volitelné — aliasy pro uživatelské jméno
  • 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
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


Ověření funkčnosti účtu a síťové jednotky

smbclient -L localhost --user=uzivatelsky-ucet-pro-sambu


Nastavení přístupových práv ke složce s webem

groupadd samba
usermod -aG samba uzivatelsky-ucet-pro-sambu
chown -R uzivatelsky-ucet-pro-sambu /var/www
chgrp -R samba /var/www
chmod 775 /var/www
chmod g+s /var/www
chmod -R g+w /var/www


Restart služby Samba

systemctl restart smbd


Připojení sdílené složky ze druhého počítače

GNU/Linux
apt install samba-client cifs-utils
smbclient -L //server
mount -t cifs //server/web  mountpoint  -o username=uzivatelsky-ucet-pro-sambu
Windows
net use z: \\server\web

Užijte si svůj server ;)

  1. Připojte si sdílenou složku na svém počítači.
  2. Ve svém oblíbeném textovém editoru vytvořte ve složce soubor datum.php.
  3. Napište do souboru nějaký kód v PHP — příklad uvádíme dále.
  4. Na svém počítači otevřete prohlížeč, zadejte adresu vašeho nového serveru a užívejte si:
http://server/datum.php

Příklad kódu, který můžete zadat — měl by se zobrazit aktuální čas:

<!DOCTYPE html>
<html>
<head>
	<meta charset="windows-1250" />
	<title>Čas</title>
</head>
<body>
	<h1>Právě je: <?=date('j. n. Y H:i:s', time())?></h1>
</body>
</html>


Související stránky

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje