Есть два демона 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.