Установка 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-директорию
Диагностика:
nmap -P0 192.168.1.X # наш ип
tcpdump -i eth0 port 21
Добавить комментарий