Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Using Samba

Using Samba

Robert Eckstein, David Collier-Brown, Peter Kelly
1st Edition November 1999
1-56592-449-5, Order Number: 4495
416 pages, $34.95

Buy the hardcopy

Table of Contents


2.5 Запуск демонов Samba

Существует два процесса Samba, smbd и nmbd, которые необходимы для корректной работы Samba. Есть три способа их запуска:

2.5.1 Запуск демонов вручную

Если вы спешите, то вы можете запустить демоны Samba вручную. Как пользователь root, просто введите следующие команды:

# /usr/local/samba/bin/smbd -D
# /usr/local/samba/bin/nmbd -D

С этого момента, Samba будет запущена на вашей системе и готова для установки соедиений.

2.5.2 Отдельные демоны

Чтобы запустить процессы Samba как отдельные демоны, вам необходимо добавить команды, перечисленные в предыдущей секции, в ваш стандартный скрипт запуска в  Unix. Это зависит от того, имеете ли вы систему типа  BSD Unix  или  System V Unix.

2.5.2.1 BSD Unix

При стиле BSD Unix, вам необходимо добавить следующие строки в файл rc.local, который обычно находится в директориях /etc или /etc/rc.d :

if [ -x /usr/local/samba/bin/smbd]; then
	echo "Starting smbd..."
	/usr/local/samba/bin/smbd -D
	echo "Starting nmbd..."
	/usr/local/samba/bin/nmbd -D
fi

Этот код достаточно прост; он проверяет, имеет ли файл smbd разрешение на запуск и если имеет, то он запускает каждый демон Samba при загрузке.

2.5.2.2 System V Unix

С System V придется поработать больше. System V обычно использует скрипты для запуска и остановки демонов  в системе. Поэтому, вам придется указать Samba каким образом ему работать при запуске и остановке. Вы можете изменить содержание директории /etc/rc.local и добавить что-то похожее на данную программу под именем  smb:

#!/bin/sh

# Contains the "killproc" function on Red Hat Linux
./etc/rc.d/init.d/functions

PATH="/usr/local/samba/bin:$PATH"

case $1 in 
	'start')
		echo "Starting smbd..."
		smbd -D
		echo "Starting nmbd..."
		nmbd -D
		;;
	'stop')
		echo "Stopping smbd and nmbd..."
		killproc smbd
		killproc nmbd
		rm -f /usr/local/samba/var/locks/smbd.pid
		rm -f /usr/local/samba/var/locks/nmbd.pid
		;;
	*)
		echo "usage: smb {start|stop}"
		;;
esac

При помощи этого скрипта вы можете запускать службу SMB при помощи следующих команд:

# /etc/rc.local/smb start
Starting smbd...
Starting nmbd...
# /etc/rc.local/smb stop
Stopping smbd and nmbd...

2.5.3 Запуск через Inetd

   Inetd √ это супер демон Internet  в UNIX. Он слушает порты, описанные в /etc/services и запускает соответствующую программу для данного порта, которая определена в файле /etc/inetd.conf. Смысл этого заключается в том, что вы можете иметь большое число демонов, готовых отвечать на запросы, но они не обязательно должны быть запущены. В место этого inetd  слушает за остальных. Выгода заключается в том, что для создания нового процесса необходимо выполнить немного операций. Это удобно, если один или два пользователя на вашем компьютере имеют слишком много запущенных демонов. Это также полезно для проведения обновления без разрыва установленных соединений.

Если вы желаете запустить через inetd, для начала откройте /etc/services в текстовом редакторе. Ели вы до сих пор не добавили следующие линии, сделаете это:

netbios-ssn     139/tcp
netbios-ns      137/udp

Далее, отредактируйте /etc/inetd.conf. Взгляните на следующие две строки и добавте их, если они отсутствуют. Если вы уже имеете строки с smbd и nmbd в файле, отредактируйте их в соответствии с заново установленными smbd и nmbd. Ваша разновидность Unix-а  может использовать немного другой синтакс файла; используйте существующие записи и станицы документации inetd.conf в качестве руководства:

netbios-ssn stream tcp nowait root /usr/local/samba/bin/smbd smbd 
netbios-ns  dgram  udp wait   root /usr/local/samba/bin/nmbd nmbd

Окончательно, убейте любые процессы smbd или nmbd и пошлите процессу inetd сигнал  HUP. (Демон inetd заново прочитает свой конфигурационный файл по сигналу HUP.) Чтобы сделать это, используйте команду ps для того, чтобы найти ID процесса, после чего пошлите сигнал при помощи следующей команды:

# kill -HUP process_id

После этого Samba должен работать.


Previous: 2.4 A Basic Samba Configuration File Next: 2.6 Testing the Samba Daemons
2.4 Базовый конфигурационный файл Book Index 2.6 Тестирование демонов Samba

O'Reilly Home | O'Reilly Bookstores | How to Order | O'Reilly Contacts
International | About O'Reilly | Affiliated Companies

© 1999, O'Reilly & Associates, Inc.