Установка ftp-сервера vsftpd на Centos 7

Установка ftp-сервера vsftpd на Centos 7

Обычно используется либо vsftp, либо proftpd. Сейчас напишу про настройку vsftpd на Centos 7

yum -y install vsftpd

Правим файл:
mcedit /etc/vsftpd/vsftpd.conf

chroot_local_user=YES <--- даем доступ только на домашний каталог пользователя, чтобы по другим каталогам не гулял anonymous_enable=NO <--- запрет анонимного входа на сервер systemctl enable vsftpd <--- Добавляем демон в автозагрузку Centos 7 systemctl start vsftpd <--- перезапуск сервиса (centos 7) chkconfig vsftpd on <--- Добавляем демон в автозагрузку Centos 5-6 service vsftpd start <--- перезапуск сервиса (centos 5-6) Разрешаем порт\службу в фаерволе: firewall-cmd --permanent --add-port=21/tcp firewall-cmd --permanent --add-service=ftp firewall-cmd --reload Создаем пользователя и задаем ему пароль: useradd ftpuser passwd ftpuser mcedit /etc/passwd <--- открываем и находим строчку с новым пользователем: ftpuser:x:1003:1003::/home/ftpuser:/bin/bash /sbin/nologin <--- указываем для запрета входа этим пользователем в систему В результате должно получиться что-то такого вида: ftpuser:x:1003:1003::/home/ftpuser:/sbin/nologin Проверяем FTP сервер ftp 127.0.0.1 Connected to 127.0.0.1 (127.0.0.1). 220 (vsFTPd 3.0.2) Name (127.0.0.1:root): ftpuser 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp>

Далее можно завести группу для пользователя, задавать права на группу\пользователя на каталог (chmod) и т.п.

Если вылезают ошибки:
500 OOPS: cannot change directory:/home/ftpuser
Исправляем:
chown -R ftpuser /home/ftpuser
chmod -R 644 /home/ftpuser
find /home/ftpuser -type d -exec chmod 755 {} \;

Если используется SElinux и вылезает ошибка 500 OOPS: cannot change directory:/home/ftpuser, то:
setsebool -P ftp_home_dir on

500 OOPS: vsftpd: refusing to run with writable root inside chroot() Login failed.
chmod a-w /home/ftpuser/ # Удаляем права записи в root-директорию

Добавить комментарий

Ваш адрес email не будет опубликован.