Установка сервера vsFTPd на Ubuntu 18.04. Часть первая
11.12.2019
Теги: chmod • FTP • Linux • Ubuntu • Конфигурация • Настройка • Пользователь • Сервер • Установка
Протокол передачи файлов (FTP) — это TCP протокол для передачи файлов между компьютерами, работает на основе модели клиент-сервер. Серверный компонент постоянно слушает FTP-запросы от удаленных клиентов. При получении запроса он управляет входом и установкой соединения. На протяжении сессии он выполняет любые команды, переданные FTP клиентом.
Установка FTP сервера
Одним из самых популярных FTP-серверов является vsftpd — его легко устанавливать, настраивать и поддерживать.
$ sudo apt install vsftpd
При установке FTP-сервер автоматически прописывается в автозагрузку. Управлять его запуском, остановкой или перезапуском можно с помощью команд:
$ sudo systemctl start|stop|restart vsftpd
Разрешить или запретить запуск службы при загрузке системы:
$ sudo systemctl enable|disable vsftpd
Проверить, что служба vsftpd.service
работает:
$ systemctl is-active vsftpd
В процессе установки FTP-сервера создается пользователь ftp
с домашней директорией /srv/ftp
:
$ cat /etc/passwd | grep ftp ftp:x:124:128:ftp daemon,,,:/srv/ftp:/usr/sbin/nologin
Доступ к FTP серверу возможен в двух режимах:
- В анонимном режиме удаленный клиент может получить доступ к FTP серверу, используя учетную запись «anonymous» или «ftp» и передав адрес email в качестве пароля. Данные в директории
/srv/ftp
доступны для всех анонимных пользователей. - В авторизованном режиме пользователь должен иметь учетное имя и пароль в системе. Доступ к каталогам и файлам зависит от прав доступа пользователя, указанного при входе. Обычный пользователь ограничен своей домашней директорией.
Настройка анонимного доступа
Прежде чем вносить какие-либо изменения в конфигурационный файл, создадим копию файла конфигурации:
$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.default
Доступ на чтение
Открываем на редактирование файл конфигурации:
$ sudo nano /etc/vsftpd.conf
Настройка vsftpd по умолчанию не разрешает подключаться анонимным пользователям. Чтобы это изменить, раскомментируем строчку:
anonymous_enable=YES
После внесения изменений перезагружаем сервер:
$ sudo systemctl restart vsftpd
Перейдем в /srv/ftp
и создадим неколько каталогов, которые будут доступны на запись всем пользователям:
$ sudo mkdir /srv/ftp/audio $ sudo chmod 777 /srv/ftp/audio
$ sudo mkdir /srv/ftp/video $ sudo chmod 777 /srv/ftp/video
$ sudo mkdir /srv/ftp/others $ sudo chmod 777 /srv/ftp/others
Для анонимного FTP-сервера лучше запретить подключение пользователям, зарегистрированным в системе:
# запрещаем подключаться со своим логином и паролем local_enable=NO
Доступ на запись
По умолчанию анонимный пользователь не имеет возможности загружать файлы на FTP сервер. Чтобы это изменить, убираем комментарий на следующих строчках и перезагружаем vsftpd:
# разрешаем запись для всех пользователей, кроме анонимных write_enable=YES
# разрешаем запись (т.е. загрузку файлов) еще и анонимным anon_upload_enable=YES
Чтобы анонимный пользователь мог создавать директории:
anon_mkdir_write_enable=YES
Настройка авторизованного доступа
Прежде чем вносить какие-либо изменения в конфигурационный файл, создадим копию файла конфигурации:
$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.default
Доступ на чтение
Для аутентификации локальных пользователей надо раскомментировать строку и перезагрузить сервер:
local_enable=YES
Доступ на запись
По умолчанию vsftpd настроен на аутентификацию системных пользователей с возможностью только скачивать файлы. Чтобы разрешить пользователям загружать файлы, надо раскомментировать строку и перезагрузить сервер:
write_enable=YES
Защита FTP-сервера
В файле /etc/vsftpd.conf
существуют опции, помогающие сделать vsftpd более безопасным. Например, данная опция позволяет поместить пользователя в «заточение», чтобы он не мог выходить из своего домашнего каталога:
chroot_local_user=YES
Если при попытке подключения возникла ошибка:
Ответ: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
То это значит, что локальный пользователь имеет доступ на запись в домашний каталог, чего быть не должно. Это легко исправить, если прописать /home
каталогом, куда будут попадать локальные пользователи после входа на FTP сервер. Тогда каждый из них будет иметь возможность писать только в свой домашний каталог:
local_root=/home
Еще один способ решения проблемы — отменить проверку записи в домашний каталог:
allow_writeable_chroot=YES
- Установка сервера vsFTPd на Ubuntu 18.04. Часть вторая
- Установка WireGuard на Ubuntu 20.04 LTS. Часть вторая из двух
- Установка WireGuard на Ubuntu 20.04 LTS. Часть первая из двух
- Установка OpenVPN на Ubuntu 18.04 LTS. Часть 12 из 12
- Установка OpenVPN на Ubuntu 18.04 LTS. Часть 11 из 12
- Установка OpenVPN на Ubuntu 18.04 LTS. Часть 10 из 12
- Установка OpenVPN на Ubuntu 18.04 LTS. Часть 9 из 12
Поиск: chmod • FTP • Linux • Ubuntu • Конфигурация • Настройка • Установка • Сервер • vsFTPd • Пользователь