Когда вы входите на FTP-сервер, вы не хотите, чтобы пользователи просматривали всю вашу файловую систему. Вы хотите, чтобы он / она просматривал только те файлы, к которым он / она имеет доступ, обычно их домашние каталоги. Это то, что делает chroot. Он блокирует пользователей в их домашних каталогах. Пользователи могут просматривать файлы и каталоги только в своем домашнем каталоге. Как бы они ни старались, они не смогут выйти за пределы своих домашних каталогов.
В этой статье я покажу вам, как использовать vsftpd chroot для блокировки пользователей в их домашних каталогах. Я собираюсь считать эту статью продолжением статьи Управление виртуальным хостом Apache 2 с помощью макроса в Ubuntu 18.04 LTS или же Как настроить Apache VirtualHost в Ubuntu 18.04 LTS. Обязательно прочтите эти статьи, чтобы настроить всех пользователей FTP и домашние каталоги. Итак, приступим.
Как я хочу настроить vsftpd:
В статьях Apache VirtualHost выше я показал вам, как настроить Apache VirtualHost и разместить несколько веб-сайтов на одном веб-сервере.
Теперь я хочу разрешить всем владельцам (пользователям) веб-сайтов загружать необходимые файлы на свой веб-сервер с помощью FTP. Итак, я собираюсь настроить vsftpd таким образом, чтобы пользователи могли загружать необходимые файлы на свой веб-сервер с помощью FTP.
Установка vsftpd на Ubuntu:
В Ubuntu вы можете легко установить vsftpd из официального репозитория пакетов Ubuntu с помощью диспетчера пакетов APT.
Сначала обновите кеш диспетчера пакетов APT с помощью следующей команды:
$ sudo подходящее обновление
Теперь установите vsftpd с помощью следующей команды:
$ sudo apt установить vsftpd
vsftpd должен быть установлен.
Настройка vsftpd:
Файл конфигурации vsftpd: / и т.д. / vsftpd.conf.
Всегда полезно сохранить резервную копию исходного файла конфигурации vsftpd.
Чтобы создать резервную копию файла конфигурации vsftpd / и т.д. / vsftpd.conf.резервное копирование, выполните следующую команду:
$ sudo mv -v / и т.д. / vsftpd.conf / и т.д. / vsftpd.conf.резервное копирование
Теперь создайте новый / и т.д. / vsftpd.conf файл с помощью следующей команды:
$ sudo nano / и т.д. / vsftpd.conf
Теперь введите следующие строки и сохраните файл, нажав
listen_ipv6 = НЕТ
connect_from_port_20 = ДА
anonymous_enable = НЕТ
local_enable = ДА
write_enable = ДА
chroot_local_user = ДА
allow_writeable_chroot = ДА
secure_chroot_dir = / var / run / vsftpd / пусто
pam_service_name = vsftpd
pasv_enable = ДА
pasv_min_port = 40000
pasv_max_port = 45000
userlist_enable = ДА
userlist_file = / и т.д. / vsftpd.список пользователей
userlist_deny = НЕТ
Наконец, / и т.д. / vsftpd.conf файл конфигурации выглядит так.
Здесь, chroot_local_user опция отвечает за блокировку пользователей в их домашних каталогах.
allow_writable_chroot опция отвечает за права записи в домашние каталоги.
Теперь перезапустите службу vsftpd с помощью следующей команды:
$ sudo systemctl перезапуск vsftpd
Теперь проверьте, запущена ли служба vsftpd, с помощью следующей команды:
$ sudo systemctl status vsftpd
большой! Сервис vsftpd запущен.
Теперь вам нужно добавить всех пользователей, которых вы хотите подключить, к их домашним каталогам и загрузить файлы в файл конфигурации / и т.д. / vsftpd.список пользователей
Открой / и т.д. / vsftpd.список пользователей файл конфигурации с помощью следующей команды:
$ sudo nano / и т.д. / vsftpd.список пользователей
Теперь введите здесь все имена пользователей, которым вы хотите разрешить доступ к их домашним каталогам через FTP. Затем сохраните файл, нажав
Доступ к FTP-серверу:
Теперь вы можете использовать любой FTP-клиент для подключения к FTP-серверу. Самый популярный FTP-клиент - FileZilla.
В Linux вы также можете использовать файловый менеджер Nautilus для подключения к FTP-серверу.
В Windows вы можете добавить свой FTP-сервер в качестве сетевого расположения и загружать туда файлы.
Во-первых, вы должны знать IP-адрес или имя хоста вашего FTP-сервера.
Вы можете узнать IP-адрес вашего FTP-сервера с помощью следующей команды:
$ ip a | egrep "инет"Как видите, IP-адрес моего FTP-сервера 192.168.21 год.187. Для вас должно быть иначе. Итак, убедитесь, что вы заменили его своим.
Использование Nautilus для доступа к FTP-серверу:
Если вы хотите войти на свой FTP-сервер с помощью Nautilus в Linux, сначала откройте Nautilus и нажмите Другие места. Затем введите ftp: // [защищенный адрес электронной почты] _ADDR или ftp: // [защищенный адрес электронной почты] _NAME в разделе «Подключение к серверу». Затем нажмите на Соединять.
Теперь введите пароль для своего пользователя (в моем случае, Алиса) и нажмите Разблокировать. Вы также можете проверить Напомнить пароль, если вы хотите, чтобы Nautilus запомнил учетные данные для входа. В противном случае просто не ставьте галочку.
Вы должны авторизоваться. Как видите, здесь находится каталог www.
Как видите, я могу продолжить цепочку каталогов.
В индекс.html файл также находится внутри public_html / каталог.
Как видите, я загрузил файл, и он работает. Я также могу получить доступ к html-файлу с сервера Apache.
Добавление сетевого расположения FTP в Windows:
Если вы хотите войти на свой FTP-сервер и использовать его в Windows, добавив сетевое расположение, ознакомьтесь с Доступ к FTP-серверу раздел статьи Как настроить FTP-сервер с vsftpd в Ubuntu 18.04 LTS.
Итак, вот как вы настраиваете vsftpd и настраиваете его для chroot пользователей FTP в их домашние каталоги. Спасибо, что прочитали эту статью.