5 1 1 1 1 1 1 1 1 1 1 Rating 5.00 (8 Votes)

На VPS сервере понадобилось настроить FTP, в качестве сервера будет использоваться vsftpd, ниже будет описана простой и быстрый метод настройки сервера.

Установка vsftpd

Собственно установка:

yum install vsftpd

После установки правим файл:

nano /etc/vsftpd/vsftpd.conf

Запираем пользователей в свой домашней директории:

chroot_local_user=YES

Запрещаем анонимный вход:

anonymous_enable=NO

Открываем файл /etc/pam.d/vsftp, комментим строку:

#auth required pam_shells.so

Добавляем в атозагрузку, перезапускаем демон (для старых CentOS):

chkconfig vsftpd on
service vsftpd start

Для CentrOS 7 и выше:

systemctl enable vsftpd && systemctl start vsftpd

Разрешаем в Firewalld:

firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload 

Создание пользователя для использование FTP

Создаем пользователя и указываем ему пароль:

useradd ftpuser
passwd ftpuser

Меняем шелл для юзера:

usermod --shell /sbin/nologin ftpuser

Или можно сделать это руками - открываем файл /etc/passwd находим строку с нашим ftpuser:

ftpuser:x:513:513::/home/ftpuser:/bin/bash

Изменяем некоторые параметры:

ftpuser:x:513:513::/home/ftpuser:/sbin/nologin

Где /home/ftp домашний каталог пользователя, /sbin/nologin запрет на доступ пользователя к системе.

Обновляем разрешения к каталогу:

chmod a-w /home/ftpuser/

Либо можно отключить проверку разрешений на запись:

echo 'allow_writeable_chroot=YES' >> /etc/vsftpd/vsftpd.conf

Далее можно создать группу, к примеру ftpusers, назначить соответствующие разрешения на папку /home/ftp, как произвести настройку разрешений можно прочитать здесь.

Подключение к сереру

Для подключения я как правило использую FileZilla или Total Commander, в настройках подключения указываем адрес сервера, имя пользователя ftpuser, его пароль, корневую директорию, необходимо указать как - / , по факту подключения пользователь окажется в папке /home/ftp.

Комментарии  

Михаил
+1 # Михаил 02.08.2015 12:38
Не заходит на фтп. Все сделал по инструкции, включая второй этап по ссылке. Пишет не правильный логин или пароль. В имя сервера ввожу ip на котором находится VDS. Логин - ftpuser, пароль тот что вводил после команды passwd ftpuser. Не подскажите, что не верно? Может порт надо какой настроить специальные или ещё что? (У меня также установлен также isp manager, если это играет какую-то роль.)
Ответить | Ответить с цитатой | Цитировать
Y. Goncharov
+1 # Y. Goncharov 17.08.2015 20:12
Привет, проблема может быть в том, что каталог пользователя не создан, самый простой способ - после создания пользователя, совершите под ним вход в систему, после чего совершите выход, проверьте наличие созданной домашней директории пользователя и только после этого измените строку в passwd на /home/ftp:/sbin/nologin )
Ответить | Ответить с цитатой | Цитировать
Сергей
0 # Сергей 26.01.2019 10:54
Также не заходит, пишет ошибку - 530 Login incorrect
Каталог проверял, под пользователем заходил
Ответить | Ответить с цитатой | Цитировать
Y. Goncharov
0 # Y. Goncharov 31.01.2019 22:38
В новой версии немного поменялся механизм аутентификации, сейчас все перепроверил на последнем CentOS, статью обновил, у меня все заработало.

Что по факту помогло:
нужно закомментить параметр #auth required pam_shells.so в конфиге /etc/pam.d/vsftp
обновить разрешения на каталог - chmod a-w /home/testuser

Спасибо за понятный ахтунг
Ответить | Ответить с цитатой | Цитировать

Сейчас 364 гостей и ни одного зарегистрированного пользователя на сайте

Вверх
Вниз