Подробное объяснение сборки ftp в Linux
Подробное объяснение сборки ftp в Linux

Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.

1. Концепция 1.1 Введение FTP: протокол передачи файлов протокол передачи файлов порт TCP21: Команда TCP20: данные

1.2 Принцип Пассивный режим используется по умолчанию Пассивный режим FTP Для решения проблемы инициируемых сервером подключений к клиентам был разработан другой способ подключения к FTP. Это то, что называется быть Активный режим, или PASV, включается, когда клиент уведомляет сервер о том, что он находится в пассивном режиме. В пассивном режиме FTP как командное соединение, так и соединение для передачи данных обрабатываются клиентом, что может решить проблему фильтрации входящего соединения от сервера к порту данных клиента брандмауэром. При открытии FTP-соединения клиент открывает два произвольных непривилегированных локальных порта (N >; 1024 и N+1). Первый порт подключен к порту 21 сервера, но в отличие от активного FTP клиент не отправляет команду PORT и позволяет серверу подключаться туда и обратно к своему порту данных, а отправляет команду PASV. В результате сервер откроет произвольный непривилегированный порт (P >; 1024) и отправьте ПОРТ. Команда P клиенту. Затем клиент инициирует соединение с локального порта N+1 на порт P сервера для передачи данных. Чтобы межсетевые экраны на стороне сервера поддерживали пассивный FTP, необходимо разрешить следующий трафик: Команда FTP-сервера (21) port принимает любой порт клиента (первоначальное подключение клиента) FTPКоманда сервера(21)портклиентупорт(>1023)(Сервер отвечает на команды клиента) FTPДанные серверапорт(>1023)Принять клиентапорт(>1023)(Клиент инициализирует соединение для передачи данных любым, указанным сервером.порт) FTPДанные серверапорт(>1023)клиентупорт(>1023)(Сервер отправленACKответиданныеклиенту的данныепорт) NFS, на основе аутентификации хоста, передача только файлов между локальными сетями FTP, который может осуществлять аутентификацию между пользователями Реальный: локальный пользователь , пользователь сервера анонимный пользователь Виртуальный (гостевой) пользователь (Требуется только один сервер)

1.3 Конфигурационный файл хозяин Конфигурационный файл: vim /etc/vsftpd/vsftpd.conf от Конфигурационный файл vim /var/ftp/pub хозяин Конфигурационный файл Подробное объяснение anonymous_enable=YES Включить ли анонимный пользователь local_enable=YES write_enable=YES Разрешить писать (либо анонимно пользовательвсе ещелокальный Чтобы пользователь реализовал загрузку, нужно быстро ее включить) local_umask=022 Разрешение локального пользователя на загрузку файлов по умолчанию — 755. dirmessage_enable=YES Отображение информации о файле в каждом каталоге xferlog_enable=YES Журнал включен connect_from_port_20=YES Активно запрашиваемый порт данных chown_uploads=YES всеанонимный Пользователь, чей файл принадлежит пользователюзагрузить, будет изменен на chown_username. chown_username=whoever Имя пользователя для анонимных загрузок — любое. xferlog_file=/var/log/xferlog Включенные файлы журналов xferlog_std_format=YES idle_session_timeout=600 Тайм-аут соединения при простое data_connection_timeout=120 Тайм-аут соединения для передачи данных nopriv_user=ftpsecure Имя пользователя, используемое, когда сервер работает на самом низком уровне. chroot_list_enable=YES chroot_local_user=YES Во всех файлах перечислены пользователи, Можно переключаться на другие каталоги chroot_list_file=/etc/vsftpd/chroot_list listen=NO Служба будет прослушивать сама и обрабатывать Listen_ipv6=YES pam_service_name=vsftpd По умолчанию установите имя модуля аутентификации PAM на vsftpd. userlist_enable=YES tcp_wrappers=YES Политики контроля доступа на стороне сервера и на стороне клиента (своего рода межсетевой экран на уровне сервера)

2. Экспериментируйте 2.1анонимный пользователь Доступ по умолчанию /ftp/pub 2.1.1 Подготовка 1) Установите vsftpd [root@localhost ~]# mount /dev/sr0 /mnt mount: /dev/sr0 is write-protected, mounting read-only [root@localhost ~]# yum install vsftpd –y

2) Закройте службу vsftpd, закройте брандмауэр и SE Linux. [root@localhost ~]# systemctl остановить firewalld [root@localhost ~]# setenforce 0 [root@localhost ~]# перезапуск systemctl vsftpd

2.1.2 Скачать IP виртуальной машины: 192.168.233.131. [root@localhost ~]# mkdir /var/ftp/pub/{1.3}

  1. Откройте проводник и введите ftp://192.168.233.131.

2) Или посетите браузер ftp://192.168.233.131/pub/ для скачивания.

2.1.3 загрузить 1)Исправлять Конфигурационный связанные параметры файла/etc/vsftpd/vsftpd.conf [root@localhost ~]# vim /etc/vsftpd/vsftpd.conf содержание anon_umask=022 (увеличение) anon_upload_enable=ДА (раскомментировать) anon_mkdir_write_enable=ДА (раскомментировать)

2) Перезапустите службу vsftpd. [root@localhost ~]# перезапуск systemctl vsftpd

3) Измените права доступа к каталогу /var/ftp/pub и дайте ему права на запись. [root@localhost ~]# chmod 777 /var/ftp/pub

4) Доступ к диспетчеру ресурсов окна Введите FTP://192.168.233.131., введите файл загрузки в каталоге pub.

Или посетите браузер ftp://192.168.233.131/pub/ для загрузки.

2.1.4 Удалить 1)Исправлять Конфигурационный связанные параметры файла/etc/vsftpd/vsftpd.conf [root@localhost ~]# vim /etc/vsftpd/vsftpd.conf Увеличиватьсодержание anon_other_write_enable=YES

2) Перезапустите тест службы vsftpd. [root@localhost ~]# перезапуск systemctl vsftpd

2.2 локальный пользователь 2.2.1 Скачать 1)Исправлятьхозяин Конфигурационный файл/etc/vsftpd/vsftpd.confвключатьлокальный пользователь Разрешения(закрытиеанонимный пользователь) [root@localhost ~]# vim /etc/vsftpd/vsftpd.conf anonymous_enable=NO

Измените логическое значение, чтобы открыть разрешения для каталога /home. [root@localhost haha]# getsebool -a | grep ftp_home_dir ftp_home_dir –> off [root@localhost haha]# setsebool -P ftp_home_dir on 2.2.2загрузитьиудалить(Такой же) 1)Исправлятьхозяин Конфигурационный файл/etc/vsftpd/vsftpd.confвключатьлокальный разрешение пользователя (включено по умолчанию, менять не нужно) [root@localhost ~]# vim /etc/vsftpd/vsftpd.conf write_enable=YES

2) Перезапустите службу vsftpd. [root@localhost ~]# перезапуск systemctl vsftpd

3) Просмотрите адрес ftp://192.168.233.138 в браузере. Вход в систему с паролем пользователя,По умолчанию это корневой каталог пользователя.,Откройте адрес ftp://192.168.233.138 в диспетчере ресурсов.,руководитьзагрузитьудалить

удалить

2.2.3 Обход Текущий пользователь переключает файловую систему вперед и назад. Если она включена, каталог не может переключаться вперед и назад.

  1. локальный пользователь не может просмотреть каталог chroot_local_user=ДА включается для локального доступ к пользователю невозможен Сначала включите опцию chroot,allow_writeable_chroot=YES, Укажите еще разлокальный доступ к пользователю невозможен [root@localhost ~]# vim /etc/vsftpd/vsftpd.conf Добавьте содержание как: включить опцию chroot allow_writeable_chroot=YES Раскомментировать обозначениелокальный пользователь не может просмотреть каталог chroot_local_user=YES

Перезапустите службу для просмотра

2) Укажите доступ пользователя в файле списка пользователей. chroot_list_enable=YES разрешает доступ пользователей к файлу списка пользователей /etc/vsftpd/chroot_list (создайте файл chroot_list в каталоге /etc/vsftpd и запишите в него имя пользователя. Пользователи, не указанные в файле, не смогут получить к нему доступ).

Сначала включите опцию chroot,allow_writeable_chroot=YES, Укажите еще разлокальный доступ к пользователю невозможен ,chroot_local_user=YES Последний пользователь, указанный в файле списка пользователей, может получить доступ. chroot_list_enable=YES [root@localhost ~]# vim /etc/vsftpd/vsftpd.conf Добавьте содержание как: включить опцию chroot allow_writeable_chroot=YES Раскомментировать обозначениелокальный пользователь не может просмотреть каталог chroot_local_user=YES Пользователи, указав файл списка пользователей, могут получить к нему доступ, но пользователи, не указанные в файле, не могут получить к нему доступ. chroot_list_enable=YES

Перезапустите службу, создайте файл chroot_list в каталоге /etc/vsftpd и пропишите в нем имена пользователей xixi и xigua. [root@localhost ~]# перезапуск systemctl vsftpd [root@localhost vsftpd]# компакт-диск [root@localhost ~]# cd /etc/vsftpd/ [root@localhost vsftpd]# vim chroot_list xixi Сигуа

Создайте пользователей xixi, xigua (пользователь находится в файле списка), пароль redhat, посетите браузер ftp://192.168.233.138 для просмотра, вы можете получить доступ [root@localhost vsftpd]# echo redhat | passwd –stdin xigua Измените пароль пользователя xigua. passwd: все токены аутентификации успешно обновлены. [root@localhost vsftpd]# echo redhat | passwd –stdin xixi Измените пароль для пользователя xixi. passwd: все токены аутентификации успешно обновлены.

Создайте пользователя hh (пользователя нет в файле списка) и пароль redhat. Посетите браузер ftp://192.168.233.138, чтобы просмотреть его, но доступ к нему невозможен. [root@localhost ~]# useradd хх [root@localhost ~]# echo redhat | passwd –stdin hh Измените пароль для пользователя hh. passwd: все токены аутентификации успешно обновлены.

2.3 Гостевые пользователи (виртуальные пользователи) 2.3.1 Принцип В Linux после использования vsftp для создания пользователя доступ по умолчанию с использованием ftp заключается в доступе к домашнему каталогу соответствующего пользователя. Если вы хотите, чтобы несколько пользователей имели доступ к каталогу одновременно и имели разные права доступа к одному и тому же каталогу, эти настройки можно установить только через виртуального пользователя в vsftp. Обычные пользователи не могут добиться такого эффекта. Сначала создайте общего системного пользователя и домашний каталог, затем сопоставьте всех виртуальных пользователей с домашним каталогом соответствующего общего системного пользователя, а затем управляйте разрешениями каждого виртуального пользователя. Виртуальные пользователи не имеют разрешения на просмотр каталога.

1) Создайте ftp системного пользователя и измените права доступа к домашнему каталогу ftp пользователя. [root@localhost ~]# useradd -s /sbin/nologin ftp [root@localhost ~]# chmod 704 /home/ftp

2)Исправлятьхозяин Конфигурационный файл [root@localhost ~]# vim /etc/vsftpd/vsftpd.conf #Увеличиватьсодержание guest_enable=YES guest_username=ftp #Привилегии локального виртуального пользователя включены virtual_use_local_privs=YES Перезапустить службу [root@localhost ~]# systemctl restart vsftpd

3) Создание файлов виртуальных пользователей, [root@localhost ~]# cd /etc/vsftpd/ [root@localhost vsftpd]# vim ftp ftp1 красная шляпа ftp2 красная шляпа FTP3 красная шляпа [root@localhost ~]# cd /etc/vsftpd/ [root@localhost vsftpd]# vim ftp [root@localhost vsftpd]# db_load -T -t hash -f ftp ftp.db [root@localhost vsftpd]# chmod 600 ftp.db [root@localhost vsftpd]# ll -Z ftp.db -рв——-. корень root unconfined_u:object_r:etc_t:s0 ftp.db

[root@localhost vsftpd]# vim /etc/pam.d/vsftpd auth required pam_userdb.so db=/etc/vsftpd/ftp account required pam_userdb.so db=/etc/vsftpd/ftp

[root@localhost vsftpd]# systemctl restart vsftpd

Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/157903.html Исходная ссылка: https://javaforall.cn

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose