<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Vladimir V. Leonidov Personal Blog &#187; ftpd</title>
	<atom:link href="http://leonidov.su/tag/ftpd/feed/" rel="self" type="application/rss+xml" />
	<link>http://leonidov.su</link>
	<description>Blog about nothing</description>
	<lastBuildDate>Wed, 07 Sep 2011 16:24:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Настройка ftpd</title>
		<link>http://leonidov.su/2008/08/26/ftpd_config/</link>
		<comments>http://leonidov.su/2008/08/26/ftpd_config/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 13:26:25 +0000</pubDate>
		<dc:creator>Rainer</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[FTP]]></category>
		<category><![CDATA[ftpd]]></category>
		<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[Manual]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://leonidov.su/?p=47</guid>
		<description><![CDATA[Этот пост пишу потому, что в интернете не нашел нормальной статьи по настройке встроенного во FreeBSD ftp-сервера: кругом сплошные сслыки на &#8220;man ftpd&#8221;. Интак, мне необходимо поднять ftp с ограниченным доступом по логину/паролю к отдельным папкам для каждого пользователя. Для этих целей ftpd будет выше крыши. 1. В файл /etc/rc.conf добавляем строчки: ftpd_enable=&#8221;YES&#8221; ftpd_flags=&#8221;" # [...]]]></description>
			<content:encoded><![CDATA[<p>Этот пост пишу потому, что в интернете не нашел нормальной статьи по настройке встроенного во FreeBSD ftp-сервера: кругом сплошные сслыки на &#8220;man ftpd&#8221;. Интак, мне необходимо поднять ftp с ограниченным доступом по логину/паролю к отдельным папкам для каждого пользователя. Для этих целей ftpd будет выше крыши.</p>
<p>1. В файл /etc/rc.conf добавляем строчки:</p>
<blockquote><p>ftpd_enable=&#8221;YES&#8221;<br />
ftpd_flags=&#8221;" # здесь прописываем нужные флаги. Их описание я привёл ниже.</p></blockquote>
<p>Доступные флаги:<br />
-D: запускать ftpd в режиме демона.<br />
-a &lt;адрес&gt;: в режиме демона принимать соединения только на указанный IP-адрес.<br />
-d: включить режим отладки (подробная информация о работе будет выдаваться серверу syslog как LOG_FTP).<br />
-h: не выводить информацию о системе в сообщениях сервера.<br />
-l: протоколировать все сессии (обычно используется/var/log/xferlog).<br />
-A: разрешить только анонимный доступ.<br />
-M: запретить анонимным пользователям создавать папки.<br />
-m: разрешить анонимным пользователям модифицировать существующие файлы (если для этого достаточно системных прав).<br />
-o, -O: разрешить только запись на сервер всем пользователям (-o) или только анонимному пользователю (-O). В частности, таким образом можно организовать сбор с удаленных серверов файлов резервных копий, чтение которых пользователями не предусмотрено.<br />
-r: перевести сервер в режим «только для чтения». Любая модификация размещенных данных будет запрещена.</p>
<p>2. Создаем учётные записи пользователей (например, с помощью adduser), которым будут разрешен доступ к серверу, после чего убеждаемся в том, что их имена не упоминаются в файле /etc/ftpuser (пользователям, упомянутым в этом файле, доступ к ftp будет запрещён).<br />
Для анонимного доступа к серверу необходимо создать учётную запись с именем &#8220;ftp&#8221;. Корневым каталогом и будет его домашняя папка.</p>
<p>3. Создаем файл /etc/ftpchroot и заполняем его по такому шаблону:</p>
<blockquote><p>&lt;имя пользователя&gt; &lt;путь к папке&gt;<br />
&lt;@ имя группы&gt; # это для того, чтобы все пользователи данной группы были ограничены одной папкой (можно не указывать).</p></blockquote>
<p>Пример:</p>
<blockquote><p>test /home/test<br />
@ wheel</p></blockquote>
<p>4. Устанавливаем нужные права на папку /home/test (то, что мы хотим разрешить/запретить пользователю test).</p>
<p>5. При необходимости редактируем:<br />
/etc/ftphosts &#8211; настройка виртуальных хостов<br />
/etc/ftpwelcome &#8211; приветственное сообщение<br />
/etc/ftpmotd &#8211; приветственное сообщение, выводимое при входе на сервер</p>
<p>6. Определяемся, как мы будем запускать сервер &#8211; через inetd, или же как standalone.<br />
В первом случае в файле /etc/inetd.conf раскоментируем строчку</p>
<blockquote><p>ftp stream tcp nowait root usr/liexec/ftpd ftpd -l</p></blockquote>
<p>Во втором случае для запуска используем скрипт /etc/rc.d/ftpd:</p>
<blockquote><p># /etc/rc.d/ftpd start</p></blockquote>
<p>Если его в системе нет (старые версии FreeBSD), создаём вручную:</p>
<blockquote><p>#!/bin/sh<br />
#<br />
# $FreeBSD: src/etc/rc.d/ftpd,v 1.1 2006/01/21 18:08:15 yar Exp $<br />
#</p>
<p># PROVIDE: ftpd<br />
# REQUIRE: LOGIN cleanvar</p>
<p>. /etc/rc.subr</p>
<p>name=&#8221;ftpd&#8221;<br />
rcvar=`set_rcvar`<br />
command=&#8221;/usr/libexec/${name}&#8221;<br />
pidfile=&#8221;/var/run/${name}.pid&#8221;<br />
start_precmd=ftpd_prestart</p>
<p>ftpd_prestart()<br />
{<br />
rc_flags=&#8221;-D ${rc_flags}&#8221;<br />
return 0<br />
}</p>
<p>load_rc_config $name<br />
run_rc_command &#8220;$1&#8243;</p></blockquote>
<p>Вот и всё :) Заходим на свой сервер и радуемся жизни ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://leonidov.su/2008/08/26/ftpd_config/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>

