Как установить vsftpd на FreeBSD 13

Нужно было поставить легкую систему для FTP. И поэтому я задействовал FreeBSD 13. Выбрал еще и потому, что в ее портах много программного обеспечения, в том числе и vsftpd-ex 3.0.3. Установка прошла достаточно быстро, но вообще все будет зависеть от мощности вашего сервера, а еще от скорости дисков.

Сперва установим vsFTPd.
cd /usr/ports/ftp/vsftpd/
make install clean

Можете ставить хоть с SSL хоть без, а ваш выбор. Я ставил все целиком.

Теперь поставим авторизацию PAM через MySQL для vsftpd. Тянет за собой кучу зависимостей.
cd /usr/ports/security/pam-mysql
make install clean

Линкуем модуль pam_mysql.
ln -sf /usr/local/lib/pam_mysql.so /usr/lib/pam_mysql.so

Устанавливаем MySQL.
/usr/ports/databases/mysql57-server
make install clean

Открываем /etc/rc.conf и в конец добавляем.
mysql_enable="YES"
mysql_limits="NO"
mysql_dbdir="/var/db/mysql"

Стартуем MySQL.
service mysql-server start

Подключаемся к MySQL и выполняем запрос.
CREATE DATABASE vsftpd;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, \
DROP ON vsftpd.* TO 'vsftpd'@'localhost' IDENTIFIED BY 'ftpdpass';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, \
DROP ON vsftpd.* TO 'vsftpd'@'localhost.localdomain' IDENTIFIED BY 'ftpdpass';
FLUSH PRIVILEGES;

Входим в БД и добавляем таблицу.
USE vsftpd;
CREATE TABLE `accounts` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`username` VARCHAR( 30 ) NOT NULL ,
`pass` VARCHAR( 50 ) NOT NULL ,
UNIQUE (
`username`
)
) ENGINE = MYISAM;
quit;

Создаем каталог для конфигов.
mkdir /usr/local/etc/vsftpd_user_conf

Редактируем конфиг /usr/local/etc/vsftpd.conf вот таким образом.
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
nopriv_user=vsftpd
chroot_local_user=YES
secure_chroot_dir=/usr/local/share/vsftpd/empty
listen=YES
pasv_min_port=50000
pasv_max_port=50100
pam_service_name=vsftpd
guest_enable=YES
guest_username=vsftpd
local_root=/home/vsftpd/$USER
user_sub_token=$USER
virtual_use_local_privs=YES
user_config_dir=/usr/local/etc/vsftpd_user_conf

Создаем папку.
mkdir /usr/local/share/vsftpd/empty

Создаем файл:
nano /etc/pam.d/vsftpd

Пишем туда.
auth required pam_mysql.so user=vsftpd passwd=pass \
host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
account required pam_mysql.so user=vsftpd passwd=pass \
host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2

Чтобы сервер не посылал обратные запросы, добавьте в vsftpd.conf
reverse_lookup_enable=NO

Для FreeBSD 6 делал helloworld, я просто адаптировал инструкцию по тому, как сам ставил этот сервер.
Поделиться:

Похожие публикации

Тут ничего нет

Нет комментариев