Установка vsftpd в Debian linux

Для копирования файлов по сети я обычно использую scp. Но иногда бывает нужно дать простой доступ с верверу для управления файлами. С такими задачами хорошо справится FTP-сервер vsftpd.

Обновляем софт и ставим vsftpd:

apt-get update
apt-get install vsftpd

Добавляем пользователя для ftp и задаем ему пароль:

useradd -d /srv/ftp -g www-data ftpuser
passwd ftpuser

Приводим конфигурационный файл к следующему виду:

root@mail:~# cat /etc/vsftpd.conf |grep -v "#"
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem

Мне надо дать доступ на корень web-сервера Apache. Но есть защита чтоб эта потребность не была удовлетворена. Мы идем по хитрому пути и делаем следующее:

mkdir /srv/ftp/www
mount -o bind /var/www /srv/ftp/www

Теперь у нас будет доступ для редактирования файлов и папок в корне web-сервера.

Добавляем автоматическое монтирование:

root@mail:~# cat /etc/fstab
LABEL=DOROOT / ext4 errors=remount-ro 0 1
/var/www /srv/ftp/www none bind

Наслаждаемся полученным результатом.