Как установить vsftpd на FreeBSD 13
Нужно было поставить легкую систему для FTP. И поэтому я задействовал FreeBSD 13. Выбрал еще и потому, что в ее портах много программного обеспечения, в том числе и vsftpd-ex 3.0.3. Установка прошла достаточно быстро, но вообще все будет зависеть от мощности вашего сервера, а еще от скорости дисков.
Сперва установим vsFTPd.
Можете ставить хоть с SSL хоть без, а ваш выбор. Я ставил все целиком.
Теперь поставим авторизацию PAM через MySQL для vsftpd. Тянет за собой кучу зависимостей.
Линкуем модуль pam_mysql.
Устанавливаем MySQL.
Открываем /etc/rc.conf и в конец добавляем.
Стартуем MySQL.
Подключаемся к MySQL и выполняем запрос.
Входим в БД и добавляем таблицу.
Создаем каталог для конфигов.
Редактируем конфиг /usr/local/etc/vsftpd.conf вот таким образом.
Создаем папку.
Создаем файл:
Пишем туда.
Чтобы сервер не посылал обратные запросы, добавьте в vsftpd.conf
Для FreeBSD 6 делал helloworld, я просто адаптировал инструкцию по тому, как сам ставил этот сервер.
Сперва установим 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, я просто адаптировал инструкцию по тому, как сам ставил этот сервер.
Похожие публикации
Нет комментариев