Как настроить FTP - Сервер CentOS 7 | DATAENGINER

Как настроить FTP — Сервер CentOS 7

Добрый день! Сегодня мы рассмотрим как просто можно установить FTP — Server на CentOS 7.

О том как установить CentOS 7 вы можете ознакомиться здесь.

А о том как установить FTP — Server на Windows Server мы говорили тут.

Итак, приступим к установке, устанавливать и настраивать мы будет пакет vsftpd.

Шаг 1. Выполним команду yum install vsftpd -y.

Будет установлен один пакет. Далее его мы и будем настраивать.

Шаг 2. Перейдем в папку /etc/vsftpd. И изменим имя конфигурационным файлам. Добавим к имени файла с окончание .conf к имени .old, чтобы наш файл стал иметь вид *.conf.old

Шаг 3. Теперь создадим файл vsftpd.conf новый, открыв его при помощи редактора vim: vim vsftpd.conf. Скопируем в наш файл следующее содержимое:

 #Запуск сервера в режиме службы
 listen=YES
 #Работа в фоновом режиме
 background=YES
 #Имя pam сервиса для vsftpd
 pam_service_name=vsftpd
 #Входящие соединения контроллируются через tcp_wrappers
 tcp_wrappers=YES
 #Запрещает подключение анонимных пользователей
 anonymous_enable=NO
 #Каталог, куда будут попадать анонимные пользователи, если они разрешены
 anon_root=/ftp
 #Разрешает вход для локальных пользователей
 local_enable=YES
 #Разрешены команды на запись и изменение
 write_enable=YES
 #Указывает исходящим с сервера соединениям использовать 20-й порт
 connect_from_port_20=YES
 #Логирование всех действий на сервере
 xferlog_enable=YES
 #Путь к лог-файлу
 xferlog_file=/var/log/vsftpd.log
 #Включение специальных ftp команд, некоторые клиенты без этого могут зависать
 async_abor_enable=YES
#Локальные пользователи по-умолчанию не могут выходить за пределы своего домашнего каталога
 chroot_local_user=YES
 #Разрешить список пользователей, которые могут выходить за пределы домашнего каталога
 chroot_list_enable=YES
 #Список пользователей, которым разрешен выход из домашнего каталога
 chroot_list_file=/etc/vsftpd/chroot_list
 #Разрешить запись в корень chroot каталога пользователя
 allow_writeable_chroot=YES
 #Контроль доступа к серверу через отдельный список пользователей
 userlist_enable=YES
 #Файл со списками разрешенных к подключению пользователей
 userlist_file=/etc/vsftpd/user_list
 #Пользователь будет отклонен, если его нет в user_list
 userlist_deny=NO
 #Директория с настройками пользователей
 user_config_dir=/etc/vsftpd/users
 #Показывать файлы, начинающиеся с точки
 force_dot_files=YES
 #Маска прав доступа к создаваемым файлам
 local_umask=022
 #Порты для пассивного режима работы
 pasv_min_port=49000
 pasv_max_port=55000

После чего сохраним наш новый конфигурационный файл.

Создадим каталог для настроек пользователей: mkdir /etc/vsftpd/users

Так же создадим каталог для анонимных пользователей.

Шаг 4. Создадим пользователя ftp и назовем его ftp-user, а также зададим ему пароль.

useradd -s /sbin/nologin ftp-user

passwd ftp-user

Если вы будете использовать не сложный пароль, то появится предупреждение о том, что используется плохой пароль.

В данном случае, так как вместе с пользователем используется nologin, то пользователь не сможет получать доступ к консоли.

зададим права для каталога /ftp, права предоставим 0777.

Далее создадим в каталоге ftp, каталог ftp-user, доступ к которому и будет иметь наш пользователь. И выдадим права на каталог нашему пользователю.

Сначала выполним: mkdir /ftp/ftp-user

Затем: chown ftp-user:ftp-user /ftp/ftp-user

Шаг 5. Перейдем в каталог users и создадим там файл с именем нашего пользователя. Чтобы как-то разнообразить данный материал воспользуемся командой touch: touch /etc/vsftpd/users/ftp-user.

Далее при помощи команды echo укажем локальную директорию нашему текущему пользователю: echo ‘local_root=/ftp/ftp-user/’ >> /etc/vsftpd/users/ftp-user

И выведем содержимое файла командой cat: cat ftp-users

Шаг 6. Далее нам необходимо создать файл, где будет содержаться список пользователей, которые могут выйти из домашней директории. Выйдем на уровень выше из текущего каталога. Файл будет называться chroot_list, поэтому команда будет иметь следующий вид: vim chroot_list.

В файл мы запишем имя пользователя root и сохраним файл.

Шаг 7. Далее в файле user-list нам необходимо внести изменения. Мы удалим всех текущих пользователей из файла и оставим пользователей, которые будут иметь доступ к серверу в данном случае это root и ftp-user. Текущий файл user-list

Примет вид:

После чего сохраним изменения в файле.

Шаг 8. Теперь мы создадим файл лога и дадим на него права 600, для создания файла используем команду touch. touch /var/log/vsftpd.log

chmod 600 /var/log/vsftpd.log

Шаг 9. Так как все настройки завершены, давайте запустим наш ftp — сервер и добавим его в автозагрузку выполнив следующие команды:

systemctl start vsftpd

systemctl enable vsftpd

Проверим что служба начала слушать порт, выполним команду: netstat -tulnp | grep vsftpd

Шаг 10. Теперь проверим, что подключение по ftp работает для нашего ftp-user пользователя. Для этого воспользуемся утилитой winscp.

В качестве имени хоста укажем наш ip — адрес, в качестве порта выбираем 21, а в качестве пользователя укажем ftp-user и введем пароль который мы ему указали при создании.

На данном этапе вы увидите сообщение «Access Denied» или доступ запрещен, чтобы это исправить необходимо в файл /etc/shells добавить строку /sbin/nologin.

После чего перезагружаем наш ftp-сервер, и теперь мы сможем без проблем подключиться. Как видите файлы копируются без проблем.

В данной статье мы рассмотрели простую настройку ftp — сервера на ОС Linux CentOS 7. Надеюсь она облегчит вашу дальнейшую работу.

Постоянный редактор и автор сайта

Leave a reply:

Your email address will not be published.