Avanti Indietro Indice

5. Eseguire i demoni

I due demoni SMB sono: /usr/sbin/smbd e /usr/sbin/nmbd. Nella maggior parte delle distribuzioni, questi possono essere fatti partire, interrompere o riavviare attraverso script di avvio come /etc/rc.d/init.d/smb e collegati in modo simbolico agli appropriati runlevel.

Nel caso si decida di non usare i script di avvio, è possibile eseguire i demoni di Samba da inetd o come singoli processi. Samba risponderà leggermente più velocemente come demone isolato rispetto a quando eseguito tramite inetd.

In entrambi i casi, è necessario verificare che il file /etc/services presenti linee simili a queste:


netbios-ns      137/tcp         nbns
netbios-ns      137/udp         nbns
netbios-dgm     138/tcp         nbdgm
netbios-dgm     138/udp         nbdgm
netbios-ssn     139/tcp         nbssn

Si faccia attenzione che non siano commentate. A seconda della distribuzione usata, potrebbe anche essere necessario aggiungerle. Samba non sarà in grado di collegarsi alle porte appropriate a meno che il file /etc/services non presenti tali linee.

Per eseguire i demoni da inetd, si deve aggiungere nel file di configurazione, /etc/inetd.conf:


    # Servizi NetBIOS SAMBA (per condivisione di file e stampanti con PC)
    netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd
    netbios-ns dgram udp wait root /usr/sbin/nmbd nmbd

Quindi far ripartire il demone di inetd con il comando:


    kill -HUP `cat /var/run/inetd.pid`

Per eseguire i demoni dagli script di inizializzazione del sistema, si possono mettere le istruzioni seguenti in un file chiamato /etc/rc.d/init.d/smb (nella maggior parte delle distribuzioni) e fare collegamenti simbolici a file indicati nei commenti:


    #!/bin/sh

    #
    # /etc/rc.d/init.d/smb - inizia e termina i servizi SMB.
    #
    # file che seguono devono essere link simbolici a questo file:
    # symlinks: /etc/rc.d/rc1.d/K35smb  (termina i servizi SMB durante
    #                                    shutdown)
    #           /etc/rc.d/rc3.d/S91smb  (inizia i servizi SMB in
    #                                    multiuser mode)
    #           /etc/rc.d/rc6.d/K35smb  (Termina i servizi SMB prima
    #                                    di reboot) 
    #

    # Sorgente per funzioni di libreria.
    . /etc/rc.d/init.d/functions

    # Sorgente per la configurazione di rete.
    . /etc/sysconfig/network

    # Verifica che la rete sia configurata.
    [ ${NETWORKING} = "no" ] && exit 0

    # Controlla il tipo di chiamata.
    case "$1" in
      start)
        echo -n "Attivati servizi SMB: "
        daemon smbd -D
        daemon nmbd -D
        echo
        touch /var/lock/subsys/smb
        ;;
     stop)
        echo -n "Terminati servizi SMB: "
        killproc smbd
        killproc nmbd
        rm -f /var/lock/subsys/smb
        echo ""
        ;;
     *)
        echo "Uso: smb {start|stop}"
        exit 1
    esac

Se all'avvio di Samba si presenta un errore che segnala l'impossibilità da parte del demone a collegarsi alla porta 139, allora probabilmente è presente in esecuzione un altro processo Samba che non è stato ancora interrotto. Verificare la lista dei processi (con 'ps auxww | grep mbd') per determinare se un altro servizio Samba è in esecuzione.


Avanti Indietro Indice