Next Previous Contents

4. Пускане на демоните

Има два демона SMB /usr/sbin/smbd и /usr/sbin/nmbd.

Вие можете да пуснете демоните на Samba от inetd или като автономни процеси. Samba ще отговаря малко по бързо, когато е пусната като автономен процес, от колкото когато се пуска от inetd.

В някои случаи вие трябва да проверите наличието във файла /etc/services на примерно на такива редове:


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

Убедете се, че те не са коментирани. В зависимост от вашия дистрибутив, може да ви се наложи даже да ги добавите в този файл. Samba няма да може да се върже към съответните портове докато ги няма тези редове в файла /etc/services.

За пускането на демоните от inetd, сложете следните редове в конфигурационния файл inetd, /etc/inetd.conf:


    # SAMBA NetBIOS services (for PC file and print sharing)
    netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd
    netbios-ns dgram udp wait root /usr/sbin/nmbd nmbd

След това рестартираите демона inetd изпълнявайки командата:


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

За пускане на демоните от системните стартови скриптове, разположете следния скрипт във файла /etc/rc.d/init.d/smb (за дистрибутива на RedHat) и създайте символически връзки към него с имената показани в коментариите:


    #!/bin/sh

    #
    # /etc/rc.d/init.d/smb - пуска и спира сервизите SMB
    #
    #Следните файлове трябва да бъдат символически връзки към този файл:
    # symlinks: 
    #           /etc/rc.d/rc1.d/K35smb  (Убива сервизите SMB при изключване
    #           /etc/rc.d/rc3.d/S91smb  (Пуска сервизите SMB в многопотребителски режим)
    #           /etc/rc.d/rc6.d/K35smb  (Убива сервизите SMB при перезареждане)
    #

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

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

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

    # See how we were called.
    case "$1" in
      start)
        echo -n "Starting SMB services: "
        daemon smbd -D  
        daemon nmbd -D 
        echo
        touch /var/lock/subsys/smb
        ;;
      stop)
        echo -n "Shutting down SMB services: "
        killproc smbd
        killproc nmbd
        rm -f /var/lock/subsys/smb
        echo ""
        ;;
      *)
        echo "Usage: smb {start|stop}"
        exit 1
    esac

Ако при стартиране на Samba вие получавате съобщение, в което се казва, че демона не може да се върже към порт 139, то вероятно вие вече имате пуснати сервизи на Samba, които не са били завършени. Вижте списъка с процесите (използвайки командата 'ps auxww | grep mbd') за да определите дали има пуснати сервизи на Samba.


Next Previous Contents