Samba

Lubor Nosek (xnosek@fi.muni.cz)


Obsah


Úvod

Samba je open source implementace protokolu Server Message Block (=>SaMBa), což je protokol pro sdílení souborů a tiskáren. Jeho počátky lze nalézt v roce 1985, kdy ho uvedlo IBM pod názvem IBM PC Network SMB Protocol. Protokol se nachází v OSI modelu na aplikační a prezentační vrstvě, pro nižší vrstvy se využívá NetBIOS - Network Basic Input/Output System. Velkou nevýhodou byla možnost komunikace pouze na lokální síti, pro směrování bylo potřeba zapouzdřit NetBIOS do TCP/IP, což se nazývá NetBT, případně NetBIOS over TCP/IP.

Microsoft (a mnoho dalších) SMB dále rozpracoval a v roce 1998 ohlásil novou verzi pod jménem Common Internet File System (CIFS), jehož přínosem je hlavně podpora práce přímo nad TCP/IP.

Díky Sambě mohou systémy UNIXového typu bez problémů komunikovat se systémy Microsoft Windows.


Porty

Samba pro svou funkci využívá následující porty:


Instalace

Pro instalaci je nejjednodušší použít balíčkovací systém Vaší distribuce. Pokud přesto chcete instalaci provést ručně, lze postupovat dle návodu v oficiálním HOWTO.


Spuštění

V distribuci Fedora Core provedeme spuštění takto:

  /etc/init.d/smb start

Tento příkaz spustí dva daemony - smbd a nmbd, popsané v další části. Spouštění lze provést i pomocí inetd, případně xinetd. Postup lze nálézt v oficiálním HOWTO.


Hlavní části a testovací nástroje

Samba se skládá ze dvou hlavních částí:

Samba dále obsahuje několik důležitých pomůcek, které se hodí při konfiguraci i samotném užívání:


Popis konfigurace

Konfigurační soubory se ve Fedoře nachází v adresáři /etc/samba/. Hlavní z nich je smb.conf (zkrácená ukázka):

  [global]
  workgroup = PREDATOR
  server string = Predator Samba Server
  hosts allow = 10.0.0.
  security = user
  username map = /etc/samba/smbusers
  guest account = smb
  
  [homes]
  comment = Domovske adresare
  browseable = no
  writable = yes
  
  [printers]
  comment = Tiskarny
  path = /var/spool/samba
  browseable = no
  guest ok = no
  
  [public]
  comment = Veci pro verejnost
  browseable = yes
  writable = no
  guest ok = yes
  
  [tmp]
  comment = Tady si delejte co chcete
  path = /tmp
  read only = no
  public = yes
  
  [sleepyhollow]
  comment = Ospala dira
  path = /home/sleepy
  valid users = lubik kaso
  public = no
  writable = yes
  create mask = 0765
  force user = lubik

V konfiguračním souboru lze použít opravdu velké množství nastavení, kompletní přehled získáte pomocí:

  man 5 smb.conf

Konfigurace obsahuje tři speciální sekce, které jsou v ukázce zobrazeny:

Další položky nastavení, které při řešení úkolu určitě použijete:

Dalším konfiguračním souborem je soubor smbusers. Obsahuje mapování unixových uživatelů na Samba uživatele. Příklad:

  root = administrator admin
  nobody = guest pcguest smbguest
  lubik = potvora1 potvora2

Unixový uživatel lubik může pres Sambu přistupovat pod jmény potvora1 i potvora2.

Dále je zde soubor lmhosts, ve kterém se definuje mapování jmen počítačů na IP adresy a soubor smbpasswd, který se upravuje pomocí utility smbpasswd (popis viz příkaz smbpasswd).


Odkazy a literatura