MyTetra Share
Делитесь знаниями!
Время создания: 30.05.2026 10:45
Автор: alensav
Текстовые метки: ftp
Раздел: FTP_vsftpd
Запись: alensav/MyTetra2/main/base/1780127112o0se44zuqi/text.html на raw.githubusercontent.com

FTP_setting

3. Создание FTP-пользователя

bash

# Создаём пользователя (можно без shell, если не нужен SSH-доступ)

sudo useradd -m -s /bin/bash ftpuser

sudo passwd ftpuser


# Добавляем в белый список vsftpd

echo "ftpuser" | sudo tee -a /etc/vsftpd.userlist


# Настраиваем права (chroot требует, чтобы директория не была записываемой для группы/остальных)

sudo chown ftpuser:ftpuser /home/ftpuser

sudo chmod 755 /home/ftpuser

# Создаём пользователя (можно без shell, если не нужен SSH-доступ)sudo useradd -m -s /bin/bash ftpusersudo passwd ftpuser# Добавляем в белый список vsftpdecho "ftpuser" | sudo tee -a /etc/vsftpd.userlist# Настраиваем права (chroot требует, чтобы директория не была записываемой для группы/остальных)sudo chown ftpuser:ftpuser /home/ftpusersudo chmod 755 /home/ftpuser

=================================================

Отлично! Вывод показывает, что vsftpd успешно запущен и работает (Active: active (running)).

💡 Примечание по терминалу: Длинный текст с SUMMARY OF LESS COMMANDS появился потому, что вывод команды автоматически попал в постраничный просмотрщик less. Чтобы выйти из него, просто нажмите клавишу q.



✅ Что делать дальше?

1. Проверьте, что порты действительно слушаются

bash
1
sudo ss -tlnp | grep -E ':21|:40000'

Должны быть строки с LISTEN на портах 21 и 40000-40100.

2. Протестируйте подключение

Локально:

bash
1
2
3
ftp localhost

# Введите логин (например, ftpuser) и пароль

# Команда `ls` должна показать содержимое, `bye` — выход

С другого компьютера: замените localhost на IP-адрес вашего сервера Astra.

3. Убедитесь в корректных правах для chroot

vsftpd с allow_writeable_chroot=YES может отказывать в подключении, если права на домашнюю папку выставлены неверно:

bash
1
2
sudo chmod 755 /home/ftpuser

sudo chown ftpuser:ftpuser /home/ftpuser

(Папка должна быть доступна для чтения/выполнения владельцу и группе, но не записываемой для "остальных")

4. Настройте фаервол (если сервер доступен из сети)

bash
1
2
3
4
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT

sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT

sudo iptables -A INPUT -p tcp --dport 40000:40100 -j ACCEPT

sudo netfilter-persistent save 2>/dev/null || sudo sh -c "iptables-save > /etc/iptables/rules.v4"



⚠️ Важно по безопасности

Обычный FTP передаёт логин, пароль и файлы в открытом виде. Если сервер будет доступен извне:

  • Включите FTPS (TLS в vsftpd)
  • Или используйте встроенный SFTP (через SSH, порт 22), который уже работает на вашей Astra Linux и шифрует всё автоматически.



На каком этапе нужна помощь?

  • Клиент выдаёт ошибку 530 Login incorrect или 421 Service not available?
  • Нужно подключить пользователя к конкретной папке вне /home?
  • Требуется пошаговая настройка FTPS/TLS?

Напишите, и я сразу дам точное решение под вашу ситуацию. 🛠️



 
MyTetra Share v.0.67
Яндекс индекс цитирования