KirMol Wiki

Добро пожаловать в KirMol Wiki

Инструменты пользователя

Инструменты сайта


linux:servers:vsftpd

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
linux:servers:vsftpd [2026/10/21 13:16] – Кирилл Молчановlinux:servers:vsftpd [2026/10/21 17:05] (текущий) – Кирилл Молчанов
Строка 63: Строка 63:
 </code> </code>
  
-===== Настройка vsFTPd =====+===== Открытие портов в UFW =====
  
 Откройте порты 20, 21, 990 и диапазон 40000-50000 для TCP-подключений для vsFTPd в UFW: Откройте порты 20, 21, 990 и диапазон 40000-50000 для TCP-подключений для vsFTPd в UFW:
Строка 73: Строка 73:
 </code> </code>
  
-Для настройки vsFTPd используете конфигурационный файл по пути **/etc/vsftpd.conf**.+===== Настройка vsFTPd ===== 
 + 
 + 
 +Чтобы настроить vsFTPd, используете конфигурационный файл по пути **/etc/vsftpd.conf**.
  
-Перед тем, как редактировать файл, создайте резервную копию файла, чтобы при необходимости вернуть настройки по умолчанию:+Перед тем, как редактировать файл, создайте его резервную копию, чтобы при необходимости вернуть все настройки по умолчанию:
 <code bash> <code bash>
 sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.old sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.old
Строка 144: Строка 147:
 # Раскомментируйте этот код, если хотите, чтобы анонимный пользователь FTP # Раскомментируйте этот код, если хотите, чтобы анонимный пользователь FTP
 # мог создавать новые каталоги. # мог создавать новые каталоги.
-anon_mkdir_write_enable=NO+#anon_mkdir_write_enable=YES
 # #
 # Activate directory messages - messages given to remote users when they # Activate directory messages - messages given to remote users when they
Строка 221: Строка 224:
 # Если этот параметр включен, сервер будет распознавать асинхронные запросы ABOR. # Если этот параметр включен, сервер будет распознавать асинхронные запросы ABOR.
 # Не рекомендуется с точки зрения безопасности (код нетривиальный). Однако, если этот # Не рекомендуется с точки зрения безопасности (код нетривиальный). Однако, если этот
-№ параметр не включен, это может привести к сбоям в работе старых FTP-клиентов.+# параметр не включен, это может привести к сбоям в работе старых FTP-клиентов.
 #async_abor_enable=YES #async_abor_enable=YES
 # #
Строка 240: Строка 243:
 # Программа vsftpd предусмотрела такую атаку и всегда была безопасна, сообщая размер исходного файла. # Программа vsftpd предусмотрела такую атаку и всегда была безопасна, сообщая размер исходного файла.
 #ascii_upload_enable=YES #ascii_upload_enable=YES
 +#ascii_download_enable=YES
 # #
 # You may fully customise the login banner string: # You may fully customise the login banner string:
 +#
 +# Вы можете полностью настроить строку баннера входа:
 #ftpd_banner=Welcome to blah FTP service. #ftpd_banner=Welcome to blah FTP service.
 # #
 # You may specify a file of disallowed anonymous e-mail addresses. Apparently # You may specify a file of disallowed anonymous e-mail addresses. Apparently
 # useful for combatting certain DoS attacks. # useful for combatting certain DoS attacks.
 +#
 +# Вы можете указать файл с запрещенными анонимными адресами электронной почты. Вероятно
 +# полезно для борьбы с некоторыми DoS-атаками.
 #deny_email_enable=YES #deny_email_enable=YES
 # (default follows) # (default follows)
Строка 255: Строка 264:
 # #
 # Вы можете ограничить или разрешить доступ локальных пользователей к их домашним каталогам. # Вы можете ограничить или разрешить доступ локальных пользователей к их домашним каталогам.
-chroot_local_user=YES +#chroot_local_user=YES 
 +#
 # Разрешить использовать каталоги, доступные для записи, в качестве корневых каталогов. # Разрешить использовать каталоги, доступные для записи, в качестве корневых каталогов.
-allow_writeable_chroot=YES+#allow_writeable_chroot=YES
 # #
 # Зададим корневую директорию для каждого пользователя  # Зададим корневую директорию для каждого пользователя 
Строка 316: Строка 325:
 pam_service_name=vsftpd pam_service_name=vsftpd
 # #
-# Белый список+# Uncomment this to indicate that vsftpd use a utf8 filesystem. 
 +# 
 +# Раскомментируйте, чтобы указать, что vsftpd использует кодировку utf8. 
 +utf8_filesystem=YES 
 +</code> 
 + 
 +Перезапустите службу vsFTPd:  
 +<code bash> 
 +sudo systemctl restart vsftpd 
 +</code> 
 + 
 +===== Создание FTP пользователя ===== 
 + 
 +Создайте пользователя без доступа к Bash: 
 +<code bash> 
 +useradd -m -s /usr/sbin/nologin ftpuser 
 +</code> 
 + 
 +Добавьте к конец файла строчку по пути **/etc/shells**: 
 +<code bash> 
 +sudo nano /etc/shells 
 +</code> 
 + 
 +<code> 
 +/usr/sbin/nologin 
 +</code> 
 + 
 +Сохранить файл **Ctrl+O** \\ 
 +Выход из редактора **Ctrl+X** 
 + 
 +Добавьте созданного пользователя в группу **ftp**: 
 +<code bash> 
 +sudo usermod -aG ftp ftpuser 
 +</code> 
 + 
 +===== Включение белого списка пользователей ===== 
 + 
 +Чтобы включить белый список пользователей, откройте файл конфигурации **/etc/vsftpd.conf**: 
 +<code bash> 
 +sudo nano /etc/vsftpd.conf 
 +</code> 
 + 
 +Добавьте в файл следующий код: 
 +<code> 
 +# Белый список пользователей
 userlist_enable=YES userlist_enable=YES
 userlist_file=/etc/vsftpd.userlist userlist_file=/etc/vsftpd.userlist
 userlist_deny=NO userlist_deny=NO
-#+</code> 
 + 
 +Сохранить файл **Ctrl+O** \\ 
 +Выход из редактора **Ctrl+X** 
 + 
 +Теперь в файл **/etc/vsftpd.userlist** укажите список пользователей. 
 +<code bash> 
 +sudo nano /etc/vsftpd.userlist 
 +</code> 
 + 
 +Один пользователь - одна строка. 
 + 
 +Сохранить файл **Ctrl+O** \\ 
 +Выход из редактора **Ctrl+X** 
 + 
 +Перезапустите службу vsFTPd:  
 +<code bash> 
 +sudo systemctl restart vsftpd 
 +</code> 
 + 
 +===== Включение защищенное соединение SSL/TLS ===== 
 + 
 +Чтобы включить защищенное FTP-подключение, нужен SSL-сертификат. Можно использовать существующий сертификат или сгенерировать новый самоподписанный. 
 + 
 +Сгенерируйте новый сертификат для защиты соединения: 
 +<code bash> 
 +sudo openssl req -x509 -nodes -days 720 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/private/vsftpd.pem 
 +</code> 
 + 
 +Откройте файл конфигурации **/etc/vsftpd.conf**: 
 +<code bash> 
 +sudo nano /etc/vsftpd.conf 
 +</code> 
 + 
 +Добавьте в файл следующий код: 
 +<code>
 # This option specifies the location of the RSA certificate to use for SSL # This option specifies the location of the RSA certificate to use for SSL
 # encrypted connections. # encrypted connections.
Строка 345: Строка 433:
 require_ssl_reuse=NO require_ssl_reuse=NO
 ssl_ciphers=HIGH ssl_ciphers=HIGH
-# 
-# Uncomment this to indicate that vsftpd use a utf8 filesystem. 
-# 
-# Раскомментируйте, чтобы указать, что vsftpd использует кодировку utf8. 
-utf8_filesystem=YES 
-# 
-# Включение пассивного режима FTP 
-pasv_enable=YES 
-pasv_min_port=40000 
-pasv_max_port=50000 
- 
 </code> </code>
  
-===== Создание FTP пользователя =====+Сохранить файл **Ctrl+O** \\ 
 +Выход из редактора **Ctrl+X**
  
-Создайте пользователя без доступа к Bash:+Перезапустите службу vsFTPd: 
 <code bash> <code bash>
-useradd -m -s /usr/sbin/nologin ftpuser+sudo systemctl restart vsftpd
 </code> </code>
  
-Добавьте к конец файла строчку по пути **/etc/shells**:+===== Включение пассивного режима FTP ===== 
 + 
 +Чтобы включить пассивный режим, откройте файл конфигурации **/etc/vsftpd.conf**:
 <code bash> <code bash>
-sudo nano /etc/shells+sudo nano /etc/vsftpd.conf
 </code> </code>
  
 +Добавьте в файл следующий код:
 <code> <code>
-/usr/sbin/nologin+# Включение пассивного режима FTP 
 +pasv_enable=YES 
 +# Диапазон портов  
 +pasv_min_port=40000 
 +pasv_max_port=50000 
 +# Внешний IP сервера (если используйте NAT). 
 +#pasv_address=0.0.0.0
 </code> </code>
  
Строка 377: Строка 464:
 Выход из редактора **Ctrl+X** Выход из редактора **Ctrl+X**
  
-Добавьте созданного пользователя в группу **ftp**:+Перезапустите службу vsFTPd: 
 <code bash> <code bash>
-sudo usermod -aG ftp ftpuser+sudo systemctl restart vsftpd
 </code> </code>
 +
 +
linux/servers/vsftpd.1792588600.txt.gz · Последнее изменение: — Кирилл Молчанов