<?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>Unix4Me &#187; ftpd</title>
	<atom:link href="http://unix4me.ru/archives/tag/ftpd/feed" rel="self" type="application/rss+xml" />
	<link>http://unix4me.ru</link>
	<description>*nix</description>
	<lastBuildDate>Thu, 08 Apr 2010 11:22:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Vsftpd на Debian</title>
		<link>http://unix4me.ru/archives/420</link>
		<comments>http://unix4me.ru/archives/420#comments</comments>
		<pubDate>Thu, 12 Mar 2009 14:20:27 +0000</pubDate>
		<dc:creator>sart</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ftpd]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[vsftpd]]></category>

		<guid isPermaLink="false">http://unix4me.ru/?p=420</guid>
		<description><![CDATA[На линукс все-таки решил попробовать/поставить фтп сервер - vsftpd. Авторизацию также решил сделать через mysql.

Для начала необходимо поставить собственно сам фтп сервер и пакет pam авторизации необходимый для авторизации через mysql:
# apt-get install vsftpd libpam-mysql
Теперь создаем базу vsftpd, пользователя user с паролем password, даем пользователю user права на базу vsftpd и таблицу в базе vsftpd:
# [...]]]></description>
			<content:encoded><![CDATA[<p>На линукс все-таки решил попробовать/поставить фтп сервер - vsftpd. Авторизацию также решил сделать через mysql.<br />
<span id="more-420"></span><br />
Для начала необходимо поставить собственно сам фтп сервер и пакет pam авторизации необходимый для авторизации через mysql:</p>
<blockquote><p># apt-get install vsftpd libpam-mysql</p></blockquote>
<p>Теперь создаем базу vsftpd, пользователя user с паролем password, даем пользователю user права на базу vsftpd и таблицу в базе vsftpd:</p>
<blockquote><p># mysql<br />
mysql> CREATE DATABASE vsftpd;<br />
mysql> GRANT ALL PRIVILEGES on vsftpd.* to user@localhost identified by ‘password’;<br />
mysql> USE vsftpd;<br />
mysql> CREATE TABLE `accounts` (<br />
mysql> `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,<br />
mysql> `username` VARCHAR( 30 ) NOT NULL ,<br />
mysql> `pass` VARCHAR( 50 ) NOT NULL ,<br />
mysql> UNIQUE (<br />
mysql> `username`<br />
mysql> )<br />
mysql> ) ENGINE = MYISAM ;</p></blockquote>
<p>Далее создаем непривилигированного пользователя vsftp:</p>
<blockquote><p>useradd --home /usr/ftp --gid nogroup -m --shell /bin/false vsftpd</p></blockquote>
<p>и настроим сам сервер vsftpd и возможность авторизации через mysql. Для востановления/отката к старым настройках сохраним оригинальный файл с настройками и вносим в новый файл:</p>
<blockquote><p>listen=YES<br />
listen_ipv6=NO<br />
anonymous_enable=NO<br />
local_enable=YES<br />
write_enable=YES<br />
local_umask=022<br />
anon_upload_enable=NO<br />
anon_mkdir_write_enable=NO<br />
dirmessage_enable=YES<br />
xferlog_enable=YES<br />
connect_from_port_20=YES<br />
xferlog_file=/var/log/vsftpd.log<br />
idle_session_timeout=600<br />
data_connection_timeout=120<br />
nopriv_user=vsftp<br />
ftpd_banner=Hello !!<br />
chroot_local_user=YES<br />
secure_chroot_dir=/var/run/vsftpd<br />
pam_service_name=vsftpd<br />
rsa_cert_file=/etc/ssl/certs/vsftpd.pem<br />
guest_enable=YES<br />
guest_username=vsftp<br />
local_root=/usr/ftp/<br />
user_sub_token=$USER<br />
virtual_use_local_privs=YES<br />
user_config_dir=/etc/vsftpd_user_conf</p></blockquote>
<p>Если вы хотите чтобы каждый новый пользователей попадал в свою собственную директорию - то в параметре local_root задайте значение /usr/ftp/$USER.<br />
Посмотреть примеры можно по адресу: <a href="http://vsftpd.beasts.org/vsftpd_conf.html">http://vsftpd.beasts.org/vsftpd_conf.html</a><br />
Далее настраиваем pam авторизацию - как обычно сохраняем исходный файл /etc/pam.d/vsftpd, а в новый файл вносим:</p>
<blockquote><p>auth required pam_mysql.so user=user passwd=password host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2<br />
account required pam_mysql.so user=user passwd=password host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2</p></blockquote>
<p>Теперь создаем директорию /usr/ftp/ и даем права на директорию:</p>
<blockquote><p># mkdir /usr/ftp/<br />
# chown vsftp:nogroup /usr/ftp/</p></blockquote>
<p>Добавляем пользователя в базу vsftpd:</p>
<blockquote><p>mysql> INSERT INTO accounts (username, pass) VALUES('testuser', PASSWORD('secret'));</p></blockquote>
<p>Пароль в базе зашифрованный - так что теперь вы можете его только сменить.<br />
Вот и все - запускаете сервер(или перезапускаете - если уже запущен) и пользуйтесь.<br />
Большую помощь в настройки оказал этот <a href="http://sudouser.com/ustanovka-i-nastrojka-vsftpd-mysql-ubuntu-debian">ресурс</a></p>
]]></content:encoded>
			<wfw:commentRss>http://unix4me.ru/archives/420/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pure-ftpd на FreeBSD</title>
		<link>http://unix4me.ru/archives/409</link>
		<comments>http://unix4me.ru/archives/409#comments</comments>
		<pubDate>Thu, 12 Mar 2009 10:06:25 +0000</pubDate>
		<dc:creator>sart</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[ftpd]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[pure-ftpd]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://unix4me.ru/?p=409</guid>
		<description><![CDATA[Ставил и использовал большое количество фтп серверов, но в итоге для FreeBSD остановился на pure-ftpd с поддержкой mysql. Фтп сервер небольшой, удобный в настройки, быстрый и главное замечательно работает с любой версией mysql.

Прежде чем устанавливать - не поленитесь обновите дерево портов, делаю это через cvs(позже опишу настройку этого решения):
# cd /usr/ports/
# make update &#38;&#38; make [...]]]></description>
			<content:encoded><![CDATA[<p>Ставил и использовал большое количество фтп серверов, но в итоге для FreeBSD остановился на pure-ftpd с поддержкой mysql. Фтп сервер небольшой, удобный в настройки, быстрый и главное замечательно работает с любой версией mysql.<br />
<span id="more-409"></span><br />
Прежде чем устанавливать - не поленитесь обновите дерево портов, делаю это через cvs(позже опишу настройку этого решения):</p>
<pre># cd /usr/ports/
# make update &amp;&amp; make fetchindex</pre>
<p>после этого заходим, настраиваем параметры:</p>
<pre># cd /usr/ports/ftp/pure-ftpd/
# make config</pre>
<p>выбираем опции установки:<br />
- MYSQL<br />
- PRIVSEP<br />
- PERUSERLIMITS<br />
- THROTTLING<br />
- BANNER<br />
- UPLOADSCRIPT<br />
- UTF8<br />
- SENDFILE<br />
- LARGEFILE<br />
Нажимаем OK и начинаем установку:</p>
<pre># make install clean</pre>
<p>После установки в папке /usr/local/etc появились файлы конфигурации - pure-ftpd.conf.sample pureftpd-ldap.conf.sample pureftpd-mysql.conf.sample  pureftpd-pgsql.conf.sample. Копируем, убирая слово sample только необходимые для настройки:</p>
<pre># cd /usr/local/etc
# cp pure-ftpd.conf.sample pure-ftpd.conf
# cp pureftpd-mysql.conf.sample pureftpd-mysql.conf</pre>
<p>И приступаем к непосредственно к настройки</p>
<pre><em>pure-ftpd.conf</em>
ChrootEveryone              yes
BrokenClientsCompatibility  no
MaxClientsNumber            50
Daemonize                   yes
MaxClientsPerIP             5
VerboseLog                  no
DisplayDotFiles             no
AnonymousOnly               no
NoAnonymous                 yes
SyslogFacility              ftp
DontResolve                 yes
MaxIdleTime                 10
MySQLConfigFile               /usr/local/etc/pureftpd-mysql.conf
LimitRecursion              2000 8
AnonymousCanCreateDirs      no
MaxLoad                     4
AntiWarez                   no
Umask                       133:022
MinUID                      100
AllowUserFXP                no
AllowAnonymousFXP           no
ProhibitDotFilesWrite       yes
ProhibitDotFilesRead        yes
AutoRename                  no
AnonymousCantUpload         yes
NoChmod                     yes
KeepAllFiles                yes
MaxDiskUsage               80
CustomerProof              yes
IPV4Only                 yes
FileSystemCharset   koi8-r
ClientCharset       cp1251</pre>
<p>И настройка для подключения к базе mysql</p>
<pre><em>pureftpd-mysql.conf</em>
MYSQLSocket     /tmp/mysql.sock
MYSQLUser       user
MYSQLPassword   password
MYSQLDatabase   pureftpd
MYSQLCrypt      cleartext
MYSQLGetPW      SELECT password FROM users WHERE user="L" AND active ="1"
MYSQLGetUID     SELECT uid FROM users WHERE user="L"
MYSQLGetGID     SELECT gid FROM users WHERE user="L"
MYSQLGetDir     SELECT home FROM users WHERE user="L"
MySQLGetQTAFS  SELECT QuotaFiles FROM users WHERE user="L"
MySQLGetQTASZ  SELECT QuotaSize FROM users WHERE user="L"
MySQLGetRatioUL SELECT ULRatio FROM users WHERE user="L"
MySQLGetRatioDL SELECT DLRatio FROM users WHERE user="L"
MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE user="L"
MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE user="L"</pre>
<p>Каждый параметр подробно описан в самом конфигурационном файле, поэтому не будем останавливаться на каждом в отдельности.<br />
Далее заходим в mysql и создаем базу pureftpd, пользователя user c паролем password, даем пользователю user права на базу pureftpd и создаем таблицу:</p>
<pre># mysql
mysql&gt; CREATE DATABASE pureftpd;
mysql&gt; GRANT ALL PRIVILEGES on pureftpd.* to user@localhost identified by 'password';
mysql&gt; USE pureftpd;
mysql&gt; CREATE TABLE `users` (
mysql&gt; `user` varchar(16) binary NOT NULL,
mysql&gt; `password` varchar(64) binary NOT NULL,
mysql&gt; `uid` int(11) NOT NULL default '-1',
mysql&gt; `gid` int(11) NOT NULL default '-1',
mysql&gt; `home` varchar(128) binary NOT NULL default '/usr/home/anonymous',
mysql&gt; `QuotaFiles` int(9) NOT NULL default '10000',
mysql&gt; `QuotaSize` int(6) NOT NULL default '100',
mysql&gt; `ULRatio` int(2) NOT NULL default '1',
mysql&gt; `DLRatio` int(2) NOT NULL default '10',
mysql&gt; `ULBandwidth` int(6) NOT NULL default '1024',
mysql&gt; `DLBandwidth` int(6) NOT NULL default '1024',
mysql&gt; `active` int(1) NOT NULL default '1',
mysql&gt; PRIMARY KEY  (`user`)
mysql&gt; ) TYPE=MyISAM;</pre>
<p>Как таковая настройка закончилась, теперь необходимо создать хотябы одного пользователя. Добавляем пользователя, создаем папку и даем возможность пользователю записывать туда файлы/создавать директории:</p>
<pre>mysql&gt; INSERT INTO `users` VALUES ('user', 'password', 1111, 1111, '/usr/ftp/user', 10000, 100, 1, 10, 1024, 1024, 1);
mysql&gt; quit;
# mkdir /usr/ftp/user
# chown 1111:1111 /usr/ftp/user</pre>
<p>Вот и все. Ошибки(как и остальные логи) по умолчанию будут записываться в /var/log/xferlog.</p>
<p>Во вспоминании по настройки сервера очень помог <a href="http://www.lissyara.su/?id=1177">ресурс</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://unix4me.ru/archives/409/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
