Программирование
On-line приложения
Почитать
Web-сервер Apache
Печать и форматирование
MySQL
Разные рецепты
Сборка/установка
Справки
Философия
Мой опыт
Скачать
Программы на Tcl/Tk (GUI)
Программы на Python/Tk (GUI)
Программы (CLI)
Help
Хобби
Фракталы
on-line
Язык для рисования фракталов
Гиперкуб
Теория относительности
Ампуллярии
Преподавание
Студенту/абитуриенту
Мой опыт
Автора!

ftpd через rc.d

rc.d-скрипт для запуска ftpd

Те, кто интересовался вопросом запуска ftpd под FreeBSD 6.0 и ниже, конечно знают, что для этого демона не предусмотрено запускающего скрипта (он появился в версии 6.1). Предполагается, что служба FTP может запускаться только через inetd. На сколько это разумно — судить не мне, но лично я не понимаю, почему я должен запускать и настраивать inetd+ftpd, если мне нужен только ftpd.

Одним словом, я написал свой скрипт для запуска ftpd, который здесь и привожу. Речь идёт о FreeBSD 6.0.

Итак. В /etc/rc.d кладём файл ftpd следующего содержания:

#!/bin/sh
#
# $FreeBSD$
#

# PROVIDE: ftpd
# REQUIRE: LOGIN
# KEYWORD: shutdown

. /etc/rc.subr
name="ftpd"
rcvar=`set_rcvar`
load_rc_config $name
command="/usr/libexec/${name}"
pidfile="/var/run/${name}.pid"
ftpd_flags="-p ${pidfile} -D ${ftpd_flags}"
run_rc_command "$1"

(Обратите внимание, во FreeBSD 6.1 и более поздних скрипт для запуска ftpd уже есть, используйте его.)

Запуск ftpd

Теперь в /etc/rc.conf можно добавлять два параметра: ftpd_enable и ftpd_flags. Первый включает службу FTP, второй — задаёт дополнительные параметры командной строки.

Например, я пишу вот так:

ftpd_enable="YES"
ftpd_flags="-A"

Первая строка включает демона, вторая предписывает демону разрешать доступ только для анонимных пользователей.

Чтобы обеспечить анонимный доступ к системе, следует создать пользователя ftp. В man 8 ftpd есть подробные инструкции, как настроить этого пользователя, чтобы обеспечить максимальную безопасность.

При следующей загрузке системы вы увидите, что демон запустился:

Starting ftpd.

Кроме ключа -A существует ещё ряд полезных ключей.

Например, ключ -r запускает сервер в read-only режиме. Сервер перестаёт реагировать на любые команды, способные модифицировать файловую систему. Подробнее смотрите man 8 ftpd.

Ключ -m позволяет анонимному пользователю переписывать существующие файлы. Без этого ключа, если вы попытаетесь записать файл file поверх уже существующего файла с таким же именем, то получите два файла: file и file.1.

Кроме того, в параметре ftpd_flags не следует использовать ключи -D и -p — они подставляются rc-скриптом автоматически.

Эта страница набрала не малую популярность, её посещает множество людей, поэтому я решил провести небольшое исследование. Если у вас есть комментарий, если вы сочли полученную информацию полезной, не полной, или вообще бесполезной, вы можете высказать своё мнение, пожелания, дополнения.

Если вы ожидаете получить от меня ответ или разъяснение, пожалуйста укажите e-mail, ICQ или другую контактную информацию.
Ваше сообщение не появится на странице, а просто отправится мне.

© 1999 − 2008 Мичурин Алексей — http://www.michurin.com.ru/