Hlavní navigace

Samba - Tanec s Okny: Instalace

31. 3. 2000
Doba čtení: 5 minut

Sdílet

Nedávno mě zaujal soudní spor mezi zástupci velkých zábavních společností a Linuxovými programátory o legálnost portace programu pro přehrávání DVD (DeCSS) na Linux. Jedním z hlavních argumentů obžaloby je to, že "zlomení" kódu DVD bylo provedeno tzv. "reverse engineeringem". Co s tím má společného Samba? I ona je částečně založena na "reverse engineeringu".

Samozřejmě, že v případě Samby by nebylo lehké, pokusit se soudně zastavit její šíření. Síťový protokol NetBIOS byl totiž vyvinut v laboratořích IBM a ta naštěstí Linuxu celkem fandí. Implementací NetBIOSu vznikl u Microsoftu protokol SMB/CIFS na kterém je Samba ( a samozřejmě síťová komunikace Windows95/98/NT/W2K ) založena. Ale člověk nikdy neví :-(.

Instalace Samby
Dnes jsou, jak jsem již uvedl instalační balíčky Samby součástí většiny Linuxových distribucí. Instalace Samby je pak většinou možná přímo v průběhu instalace Linuxu. Pokud jste na Sambu při instalaci zapomněli stačí např. na RedHatu 6.1Cz použít příkaz:

rpm -Uvh /mnt/cdrom/Red­Hat/RPMS/samba-2.0.5a-12.i386.rpm

Mírně složitější a univerzálnější je stáhnout si zdrojové texty Samby z Internetu, Sambu si z nich přeložit a doplnit
konfigurační scripty o spouštění démonů Samby. Zdrojový text Samby se většinou
skrývá pod názvem „samba-latest.tar.gz“. Postačí jej rozbalit
(„tar xvfz“), pomocí příkazu „./configure“ (event.
„./configure –přepínač“) spustit autokonfiguraci, příkazem
„./make“ Sambu přeložit a příkazem „./make install“ provést
instalaci právě přeložených „binárek“ do systému. Myslím, že většina
zkušenějších uživatelů Linuxu tento postup zná. Na jiných unixech je to podobné.
Rozhodně doporučuji přečíst si před instalací dokumentaci k Sambě. Právě díky
přepínačům u příkazu „./configure –přepínač“ je možno si Sambu
doladit podle svého a to je hlavní výhodou této instalace Samby oproti
instalaci z „binárek“. Pokud potřebujete vědět jaké přepínače jsou
podporovány, zadejte příkaz „./configure –help“. Pro správnou
činnost Samby je nutno zajistit si spouštění obou démonů Samby -
„smbd“ a „nmbd“ při startu systému. U Linuxu postačí
doplnit do /etc/rc.d/init.d/ následující soubor s názvem smb


#!/bin/sh
#
# chkconfig: - 91 35
# description: Starts and stops the Samba smbd and nmbd \
#     daemons used to provide SMB network services.

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

# Check that smb.conf exists.
[ -f /etc/smb.conf ] || exit 0

RETVAL=0

# See how we were called.
case "$1" in
 start)
        echo -n "Starting SMB services: "
        daemon smbd -D
        RETVAL=$?
        echo
        echo -n "Starting NMB services: "
        daemon nmbd -D
        RETVAL2=$?
        echo
        [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && \
                touch /var/lock/subsys/smb || RETVAL=1
        ;;
 stop)
        echo -n "Shutting down SMB services: "
        killproc smbd
        RETVAL=$?
        echo
        echo -n "Shutting down NMB services: "
        killproc nmbd
        RETVAL2=$?
        [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && \
                rm -f /var/lock/subsys/smb
        echo ""
        ;;
 restart)
        $0 stop
        $0 start
        RETVAL=$?
        ;;
 reload)
    echo -n "Reloading smb.conf file: "
        killproc -HUP smbd
        RETVAL=$?
        echo
        ;;
 status)
        status smbd
        status nmbd
        RETVAL=$?
        ;;
 *)
        echo "Usage: $0 {start|stop|restart|status}"
        exit 1
esac

exit $RETVAL

Druhou možností jak spouštět Sambu, je doplnit některý ze startovacích skriptů systému následující sekvencí:

/usr/local/sam­ba/bin/smbd -D
/usr/local/sam­ba/bin/nmbd -D

Při instalaci ze souboru samba-2.0.5a-12.i386.rpm tento problém odpadá.

Jako reakci na několik velmi si podobných e-mailů uvádím stručný návod, jak uvést Sambu do provozu.

CS24_early

  1. Předpokládám, že máte správně nastavenou síť na klientech (Windows) i na serveru. To znamená, že klienti komunikují se serverem pomocí protokolu TCP/IP (jde to i po IPX/SPX, ale to zde nebudu více rozebírat) tj. server jim korektně odpovídá na ping a mezi serverem a stanicemi lze přenášet soubory pomocí FTP.
  2. Předpokládám, že vám při startu vašeho operačního systému startují démoni Samby „smbd“ a „nmbd“.
  3. Doporučuji na serveru vytvořit sdílený adresář s veřejným přístupem. Vytvořte si tento adresář např. v „/home/public“ a uvolněte jeho práva pro zápis pomocí „chmod -R 777 /home/public“. Váš „/etc/smb.conf“ obohaťte o sekci „public“ nebo existující sekci „public“ jenom upravte na:
    [public]
    path = /home/public
    public = True
    only guest = False
    writable = True
    printable = no
    directory mask = 0777
    create mask = 0777

    Sdílený adresář „public“ by měl být z klientů viditelný a
    přístupný pro zápis.

  4. Nastavte si správnou pracovní skupinu v „/etc/smb.conf“. Po instalaci Samby je nastavena na „WORKGROUP“.
  5. Zkontrolujte si parametr „dns proxy = no“.
  6. Další konfigurační zásahy budeme provádět na klientech. Windows musí mít nastavenu stejnou pracovní skupinu jakou má váš Server v „/etc/smb.conf“ v sekci „global“ (položka „workgroup“). Po restartu :-( Windows by odměnou za vaši námahu měl být server se Sambou být vidět přes „Okolní počítače“. Pokud ani po několika minutách nedojde k jeho objevení (proveďte obnovení obsahu okna „Okolní počítače“), pak si zkuste server se Sambou vyhledat pomocí „Nabídka start – Hledat – Počítač“. Váš server se Sambou by měl být i v „Okolních počítačích“ být viděn pod svým „Linuxovým“ (Unixovým) jménem.
  7. Pokud ani po provedení všech těchto kroků není server se Sambou z klientské stanice viditelný zkuste jinou stanici. Windows obzvláště po dlouhodobějším provozu a časté změně konfigurace dokáží dělat neuvěřitelné věci. Ideální je nová instalace Windows na jedné ze stanic a následné ladění spojení se Sambou na této dosud „nenabourané“ instalaci. Věnujte nastavování sítě u stanic zvýšenou pozornost, protože často bývá chyba právě v nich.
  8. Vytvořte si na serveru příslušné uživatelské identifikace. Doplňte soubor „/etc/smb.conf“ o další sdílené adresáře dle vašeho uvážení. Pozn: veškeré změny v /etc/smb.conf se projeví u klientů (Windows) až po odhlášení a opětovném přihlášení uživatele (restart Windows není nutný).

Nejčastější chybou začátečníků bývá nesprávně nastavená síť TCP/IP na straně klienta nebo serveru. Potom např. server dlouho startuje – nabíhání démonů Samby může trvat i více než pět minut a název serveru není vidět v „Okolních počítačích“ ve Windows. Když jsem se Sambou začínal, měl jsem přesně výše popsaný problém. Počítače si spolu vesele „pingaly“, ale Samba byla nefunkční. Řešením bylo správné nastavení Gateway (v mém případě zrušení Gateway) a pak začal můj server komunikovat se stanicemi i přes Sambu. Ujasněte si základní věci v nastavení sítě TCP/IP. Máte ve Windows u názvu vaší síťové karty (Ovládací panely – Síť) nastavenou podporu TCP/IP protokolu? Budete na klientech používat statické IP adresy nebo vašim klientům přiřadí IP adresy server? Máte správně nastavenou síťovou masku? Máte korektně doplněny všechny Gateway? V případě velkého zájmu mohou být základy nastavování sítě TCP/IP (alespoň v rozsahu nutném pro běh Samby v lokální síti na statických IP – adresách) předmětem některého příštího článku. Celkem dobrým testem bývá zkouška přenosu souborů mezi klienty (Windows) a serverem (Linuxem) pomocí FTP. To, že Windows se na síti vzájemně vidí, ještě neznamená, že je jejich síťové nastavení protokolu TCP/IP v pořádku.

Příště se podíváme podrobněji na soubor smb.conf a na nastavení kódování hesel.

Byl pro vás článek přínosný?

Autor článku

Autor je provozovatelem stránek kancelar.jinak.cz...