VSFTPD — это ярлык очень безопасного демона FTP и FTP-сервер для систем Unix, включая Linux. Vsftpd — это FTP-сервер по умолчанию в дистрибутивах Ubuntu, CentOS и RHEL. Системные администраторы ежедневно добавляют новых пользователей в системы и настраивают vsftpd, чтобы позволить пользователям загружать файлы или папки только в свои каталоги на сервере. Этот сценарий в основном предназначен для реселлеров, которые хотят, чтобы их пользователи имели ограниченный доступ.
Установка и настройка vsftpd для каталога пользователя в Ubuntu 22.04 — простой процесс. Давайте начнем!
Предпосылки
- Сервер с Ubuntu 22.04 в качестве ОС
- Права пользователя: пользователь root или обычный пользователь с привилегиями sudo
Шаг 1. Обновите систему
Свежая установка Ubuntu 22.04 требует обновления пакетов до последних доступных версий.
sudo apt-get update -y && sudo apt-get upgrade -y
Шаг 2. Установите демон vsftpd
Прежде чем мы начнем с настройки, мы установим демон VSFTPD с помощью следующих команд:
sudo apt install vsftpd
После установки запустите и включите файл vsftpd. служба.
sudo systemctl start vsftpd.service && sudo systemctl enable vsftpd.service
Шаг 3. Создайте пользователя
Следующим шагом будет создание пользователя. Для этого выполните следующую команду:
sudo adduser developer
Выполните команду, дважды введите пароль, пять раз нажмите Enter и подтвердите информацию клавишей Y.
root@host:~# sudo adduser developer
Adding user `developer' ...
Adding new group `developer' (1001) ...
Adding new user `developer' (1001) with group `developer' ...
Creating home directory `/home/developer' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for developer
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] Y
Пользователь developer автоматически создается в каталоге /home/developer.
Теперь мы создадим каталог с именем ftp внутри домашнего каталога пользователя-разработчика.
mkdir /home/developer/ftp
После создания установите следующие разрешения для папки ftp.
chown nobody:nogroup /home/developer/ftp/
chmod a-w /home/developer/ftp
Шаг 4. Настройте FTP-доступ
Теперь, когда пользователь создан, мы можем приступить к настройке FTP-доступа.
Конфигурация VSFTPD хранится в файле /etc/vsftpd.conf. Прежде чем вносить какие-либо изменения, рекомендуется иметь копию файла.
cp /etc/vsftpd.conf /etc/vsftpd.conf.original
chroot_local_user=YES
write_enable=YES
user_sub_token=$USER
local_root=/home/$USER/ftp
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
После внесения этих изменений сохраните файл и перезапустите службу vsftpd.
sudo systemctl restart vsftpd.service
Далее нужно добавить пользователя разработчика в список /etc/vsftpd.userlist.
touch /etc/vsftpd.userlist && echo "developer" | sudo tee -a /etc/vsftpd.userlist
Шаг 5. Проверьте доступ к FTP
Перед проверкой соединения нам нужно открыть некоторые порты через сервис UFW.
sudo ufw allow 20,21/tcp
После этого проверьте статус ufw с помощью той же команды ufw status.
root@host:~# ufw status
Status: active
To Action From
-- ------ ----
20,21/tcp ALLOW Anywhere
22/tcp ALLOW Anywhere
20,21/tcp (v6) ALLOW Anywhere (v6)
22/tcp (v6) ALLOW Anywhere (v6)
Теперь выполните следующую команду, чтобы войти в систему с пользователем и паролем разработчика:
ftp -p server_ip_address
Введите пользователя и пароль разработчика. После входа в систему вы получите следующий вывод:
root@host:~# ftp -p server_ip_address
Connected to 1server_ip_address.
220 (vsFTPd 3.0.5)
Name (server_ip_address:root): developer
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Если вы попытаетесь войти в систему с другим пользователем, который не принадлежит к списку пользователей vsftpd, вы получите следующий вывод:
root@host:~# ftp -p server_ip_address
Connected to server_ip_address.
220 (vsFTPd 3.0.5)
Name (server_ip_address:root): other-user
530 Permission denied.
ftp: Login failed
Как видите, доступ запрещен для других пользователей. Это говорит нам о том, что мы успешно настроили vsftpd для каталога пользователя в Ubuntu 22.04.
Если вам понравился этот пост о том, как установить vsftpd для каталога пользователей в Ubuntu 22.04, поделитесь им с друзьями в социальных сетях. Спасибо.