Настройте FTP-сервер с помощью LINUX
Настройте FTP-сервер с помощью LINUX

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

Глава 2 Настройте FTP-сервер с помощью LINUX 2.1 Что такое FTP 2.2 Установить Ву-FTP 2.3 Позвольте FTP-серверу работать 2.4 Настройки файла конфигурации 2.5 Откройте учетную запись только для FTP 2.6 Настройте виртуальный FTP-хост

2.1 Что такое FTP: принцип протокола передачи файлов

Стандарт протокола передачи файлов через Интернет (FTP) описан в RFC959. Этот протокол определяет стандарт передачи файлов между удаленной компьютерной системой и локальной компьютерной системой. Вообще говоря, пользователи, передающие файлы, должны пройти аутентификацию, прежде чем они смогут войти на веб-сайт и затем получить доступ к файлам на удаленном сервере. Большинство FTP-серверов часто предоставляют общедоступную учетную запись GUEST, чтобы пользователи, у которых нет удаленного сервера, могли получить доступ к FTP-серверу.

Сеанс FTP обычно включает взаимодействие пяти элементов программного обеспечения.

пользовательский интерфейс

Предлагает пользовательский интерфейс и воспользоваться сервисом интерпретатора протоколов на стороне клиента

ИП клиента

Интерпретатор протокола клиента, который отправляет команды на машину протокола удаленного сервера и управляет процессом передачи данных клиента.

СерверPI

Интерпретатор протокола сервера, реагирует на команды, выдаваемые машиной клиентского протокола, и управляет процессом передачи данных на стороне сервера.

Клиентская верстка

Процесс передачи данных клиента, который отвечает за завершение связи с процессом передачи данных сервера и локальной файловой системой клиента.

СервисDTP

Процесс передачи данных сервера, который отвечает за завершение связи с процессом передачи данных клиента и файловой системой на стороне сервера.

в RFC 959, термин «пользователь» обычно используется для обозначения клиентов. RFC 959 определяет методы и спецификации взаимодействия между клиентPI и СерверPI. пользовательский Механизмы взаимодействия интерфейса с PI и DTP не являются частью стандарта протокола. PI и DTP часто реализуются в одном программном модуле.

В сеансе FTP,Всего будет два независимых сетевых подключения.,Один используется PI на обоих концах.,Другой состоит из обоих концовDTPиспользовал。PIСвязь между(control connection),DTPСвязь между(data connection)

Управление и подключение к данным с использованием TCP-сервисов

Обычно сервер FTO прослушивает порт номер 21, ожидая запросов на установление управляющего соединения. Выбор номера порта подключения данных зависит от команды на управляющем соединении. Обычно клиент отправляет управляющее сообщение, чтобы указать номер порта, который клиент прослушивает, и ждет, пока сервер отправит запрос на установление соединения для передачи данных.

Использование разных независимых соединений для передачи данных и передачи команд управления имеет следующие преимущества: два соединения могут выбирать разное подходящее качество обслуживания, например: для соединения управления требуется меньшее время задержки, а для соединения управления требуется более длительное время задержки. соединение для передачи данных. Большая пропускная способность данных, позволяющая избежать прозрачности и уклонения команд в потоке данных.

Когда передача устанавливается, она всегда инициируется клиентом в первую очередь. Однако отправителями данных могут быть как клиент, так и сервер. Помимо передачи файлов, запрошенных пользователем для загрузки, процесс передачи данных также устанавливается, когда клиент запрашивает структуру каталогов на стороне сервера.

2.1.1 Выбор команды

При установке транспорта обычно необходимо указать четыре свойства:

  1. Тип файла Это свойство определяет, как привести данные файла в формат, подходящий для передачи. Существует четыре возможных варианта:
    1. ASCIIТип файла На стороне отправки файл преобразуется из собственного формата текстового файла в NVT ASCIIФормат,Каждая строка заканчиваетсяCR/LFЧтобы определить。 На принимающей стороне он преобразуется в локальный текстовый формат. Это объясняет, почему при передаче текстовых файлов между хостами Unix объем передаваемых данных превышает фактический размер файла. Если кодирование текста ASCII не используется на одном конце передачи или на обоих концах передачи, локальное кодирование и NVT должны быть реализованы в процессе передачи данных. ASCII Преобразование между кодировками.
    2. EBCDICТип файла Подобно ASCII, единственное отличие заключается в использовании кодировки символов EBCDIC.
    3. изображение (илибинарный)Тип файла Файл передается с локальным содержимым передачи и сохраняется на удаленном конце с точно таким же содержимым, что и локальный.
    4. локальная файловая система Используется в средах, где размер байта не равен 8 битам. Количество байтов указывается отправителем.

    В практических приложениях больше используются только ASCII и форматы изображений.

  2. Управление форматом Этот атрибут важен для окончательной передачи текстового файла на печатающее устройство, где существует несколько способов кодирования вертикального форматирования в файл, включая способы указания начала новой страницы. Доступны следующие методы:
    1. Распечатывать не нужно формате, это значение по умолчанию
    2. Управление печатью через Telnet: в поток данных включаются управляющие символы, определенные в протоколе Telnet. .
    3. Управление печатью на Фортране,

    Это свойство редко используется на практике.

  3. структура Файлы могут иметь внутреннюю структуру, которая заменяется бронировать при передаче. Процесс передачи данных отвечает за соответствие между передаваемой структурой и локальной структурой. Есть три возможности:
    1. файловая структура На самом деле это означает, что файл рассматривается как непрерывный поток байтов без внутренней структуры.
    2. Записыватьструктура Файл — это совокупность записей. Это работает только с текстовыми файлами.
    3. страницаструктура Ее также можно назвать блочной структурой. Каждая страница передается с номером страницы, поэтому передача выполняется последовательно.

    Структура страницы редко встречается на практике. Структуры записи также не очень распространены. Того же эффекта можно добиться, используя тип файла ASCII для текстовых файлов.

  4. Режим передачи Это свойство может принимать три разных значения:
    1. потоковый режим Файлы передаются как потоки байтов.
    2. блочный режим Файлы передаются поблочно, с заголовком в начале каждого блока.
    3. Режим сжатия Для сжатия последовательных идентичных байтов применяется простое кодирование сжатия по длинам серий.

    На практике обычно используется только потоковый режим. Сжатие обычно достигается за счет использования различных других служебных программ.

Когда передача установлена, клиент обычно указывает один или несколько атрибутов, описанных ранее. Если сервер не может поддерживать опцию, сервер ответит клиенту сообщением об ошибке и не имеет механизма согласования.

FTP предоставляет достаточно команд, позволяющих пользователям устанавливать соединения с удаленными пользователями и получать доступ к удаленным файловым системам.

2.1.2 Формат команды

Команды передаются в строковом формате NVT ASCII. Каждая команда начинается с трех или четырех заглавных символов NVT ASCII, за которыми следуют параметры опции и пара CR/LF, обозначающая конец команды.

Ответ состоит из трех цифр NVT ASCII и сообщения с опциями.

Длинный ответ может состоять из нескольких сообщений, в первом из которых после трех цифр стоит тире, а в последнем тире нет. Среднее сообщение не обязательно должно содержать три цифры, но если оно содержит, то требуется тире.

Ниже приведен список всех команд. Команды со звездочкой обычно используются редко, поэтому в конкретных реализациях они часто не поддерживаются.

String

Meaning

ABOR

Прервать передачу

*ACCT

Некоторые системы связывают учетные записи и пользователей с файловыми системами.

*ALLO

Выделите место для переносимых файлов. Параметры переносятся позже для определения количества байтов.

*APPE

Добавить файл к уже существующему файлу

CDUP

Измените текущий каталог на родительский каталог в удаленной системе.

CWD

Изменить рабочий каталог удаленной системы

DELE

Удалить файлы из удаленной системы

HELP

Прочтите справочную информацию сервера, например: список поддерживаемых команд.

LIST

Отправьте список имен файлов в текущем рабочем каталоге при вновь установленном соединении для передачи данных.

MKD

Создать каталог

MODE

Укажите режим передачи. Могут передаваться следующие параметры: S, B или C.

NLST

Отправляет «полный» список текущего каталога при вновь установленном соединении для передачи данных.

NOOP

Никакой операции по предотвращению разрыва соединения

PASS

Укажите пароль для входа пользователя, который должен следовать сразу за командой USER.

*PASV

Укажите процесс передачи данных сервера для прослушивания запроса на установление соединения для передачи данных клиента.

PORT

Укажите номер порта, на котором клиент прослушивает соединения, установленные сервером.

PWD

Отобразить имя текущего рабочего каталога сервера.

QUIT

Выйдите из системы и прекратите соединение

*REIN

Выполните повторную инициализацию, выйдите из системы, но не отключайтесь, затем необходимо ввести новую команду USER.

*REST

Перезапустить передачу с идентификатора на сервере

RETR

Получить файл из удаленной системы

RMD

Удалить каталог

*RNFR

Указывает старый путь к файлу, которому нужно дать имя, за которым следует команда RNTO.

*RNTO

Указывает новый путь к файлу, которому будет присвоено имя.

*SITE

Услуги, предоставляемые серверами конкретного сайта

*SMNT

Загрузка структуры, предоставление удаленного системного пути к структуре файловой системы.

*STAT

информация о статусе

STOR

Загрузите файл на сервер, перезаписав файл, если он уже существует.

*STOU

Загрузите файл на сервер, не перезаписывая существующие файлы.

STRU

Укажите структуру файла, параметр может быть F, R или P.

*SYST

Сообщает тип операционной системы удаленной системы

TYPE

Укажите тип файла. Параметры могут быть A, E, I, L. Обычно используются только TYPE A и TYPE I.

Ответ на команду подключения управления имеет следующий вид:

Type

Description

1yz

Активный предварительный ответ, дождитесь следующего ответа, прежде чем отправлять следующую команду

2yz

Активно отвечать последним, последняя команда завершается успешно

3yz

Активный промежуточный ответ, необходимо отправить еще одну команду

4yz

Временно пассивный ответ, запрошенное действие не может быть выполнено в данный момент, но вы можете попробовать еще раз

5yz

Постоянно пассивный ответ: запрошенное действие не может быть выполнено и не должно повторяться.

Цифра «y» кодирует дополнительную информацию.

Digit

Meaning

0

синтаксическая ошибка

1

информация

2

статус соединения

3

Аутентификация и учет

4

бронировать

5

Состояние файловой системы файла

Вот некоторые типичные сообщения:

Number

Meaning

125

Соединение для передачи данных открывается и начинается передача.

200

Команда ОК

331

Имя пользователя ОК Необходимо ввести пароль

425

Невозможно открыть соединение для передачи данных

452

Ошибка записи файла

500

синтаксическая ошибка-неузнаваемая судьба

Подробности можно найти в RFC.

wu-FtpdОфициальный авторитетный адрес сайта::http://www.wu-ftpd.org

2.2 Установка wu-Ftpd

В настоящее время в среде Linux существует множество программ ftp-серверов, но наиболее распространенным из них по-прежнему является сервер wu-Ftpd. Здесь мы в основном обсуждаем установку и настройку программного обеспечения.

Вообще говоря, при установке Linux сервер wu-ftpd устанавливается автоматически по умолчанию, но иногда для определенных нужд необходимо самостоятельно переустановить серверное программное обеспечение. Существует два способа установки wu-Ftpd: один — установить пакет выпуска в формате RPM, другой — самостоятельно скомпилировать и сгенерировать Ftp-сервер.

rpmПакет можно найти по адресуhttp://rpmfind.net/linux/RPM/WByName.htmlдоступен для скачивания,Установка через пакет rpm очень проста.,Просто следуйте простым шагам ниже, чтобы завершить его.,Предположим, что загруженный пакет RPM хранится в /tmpОглавление:

#cd /tmp #rpm -ivh wu-ftpd-2.6.0-9.i386.rpm

Сжатый исходный код можно найти по адресуftp://ftp.wu-ftpd.org/pub/wu-ftpd/Убирайся。Здесь мы используем новейшие2.6.0Возьмите пример, чтобы проиллюстрировать, как скомпилировать и установитьwu-ftpd。

1. Разблокируйте исходный код

1) Скопируйте сжатый исходный код в /usr/src.

#cp wu-ftpd.2.6.0.tar.gz /usr/src

2) Распакуйте сжатый файл:

#tar xvfz wu-ftpd.2.6.0.tar.gz #cd wu-ftpd-2.6.0

2. Введите команду «./build xxx». Здесь можно указать компилятор языка C: «./build CC=yyy xxx» yyy относится к другим компиляторам, используемым для замены «cc». Для компилятора gcc в среде Linux команда должна быть следующей: «./build CC=gcc xxx».

#build CC=gcc lnx

xxx может принимать следующие значения: gen: общий make (его нужно скопировать при портировании в систему опыта) AIX: IBM AIX вспомогательный:AU/X бди: BSD/ОС бсд: БСД декабрь: DEC Unix 3.X du4: DEC Unix 4.X или новее. Дин: Диникс fbs: FreeBSD 2.0 или новее. Привет: Hitachi Unix hpx :HP-UX lnx: Linux (проверено на версии 2.0.30) nbs: NetBSD 1.X nx2: NeXTstep 2.x nx3: NeXTstep 3.x ОСФ: ОСФ/1 ОС: Mac OS X птх: ??? sco: SCO Unix 3.2v4.2/SCO OpenServer 5 SGI: SGI Irix 4.0.5a sny : Sony NewsOS соль: SunOS 5.x/Solaris 2.x s41: SunOS 4.1.x ульт: Ultrix 4.x uxw: UnixWare 1.1 или новее. clean : Очистка объектных файлов и т. д., чтобы уменьшить место на диске после сборки. установить: Установить ftpd

Copying Makefiles.

Linking src/config.h

Making support library. gcc -O3 -fomit-frame-pointer -fno-strength-reduce -pipe -c strcasestr.c gcc -O3 -fomit-frame-pointer -fno-strength-reduce -pipe -c authuser.c gcc -O3 -fomit-frame-pointer -fno-strength-reduce -pipe -c snprintf.c rm -f libsupport.a ar cq libsupport.a strcasestr.o authuser.o snprintf.o ranlib libsupport.a : : : : : : : : :

После успешной компиляции будут сгенерированы следующие исполняемые файлы:

ftpd программа FTP-сервера ftpshut Программа для отключения FTP-демона ftpcount Программа подсчета, которая отображает количество людей, вошедших в систему через ftp. ftpwho Проверка текущего состояния подключения FTP-сервера. Это похоже на команду системы who, но она проверяет только пользователей, вошедших в систему через FTP. ckconfig Проверьте правильность настроек FTP ftprestart Перезапустить ftp-сервер privatepw Изменятьwu_ftpdФайл группового доступаинформация

3. Если вы только обновляетесь на новую версию, вам следует сначала сделать резервную копию всех старых файлов конфигурации системы. В противном случае эти файлы конфигурации будут перезаписаны. Чтобы адаптироваться к вашим собственным потребностям, вам следует отредактировать образец файла конфигурации в соответствии с вашими требованиями. Конкретные требования к файлу конфигурации см. в следующем содержимом.

4. Как суперпользователь введите команду «./build install».

#build install

installing binaries. install -c -o bin -g bin -m 110 bin/ftpd /usr/sbin/in.ftpd install -c -o bin -g bin -m 111 bin/ftpshut /usr/bin/ftpshut install -c -o bin -g bin -m 111 bin/ftprestart /usr/bin/ftprestart install -c -o bin -g bin -m 111 bin/ftpcount /usr/bin/ftpcount install -c -o bin -g bin -m 111 bin/ftpwho /usr/bin/ftpwho install -c -o bin -g bin -m 111 bin/privatepw /usr/bin/privatepw installing manpages. install -c -o bin -g bin -m 444 doc/ftpcount.1 /usr/man/man1/ftpcount.1 install -c -o bin -g bin -m 444 doc/ftpwho.1 /usr/man/man1/ftpwho.1 install -c -o bin -g bin -m 444 doc/ftpaccess.5 /usr/man/man5/ftpaccess.5 install -c -o bin -g bin -m 444 doc/ftpconversions.5 /usr/man/man5/ftpconversio5 install -c -o bin -g bin -m 444 doc/ftphosts.5 /usr/man/man5/ftphosts.5 install -c -o bin -g bin -m 444 doc/xferlog.5 /usr/man/man5/xferlog.5 install -c -o bin -g bin -m 444 doc/ftpd.8 /usr/man/man8/ftpd.8

5. Отредактируйте файл «/etc/inetd.conf», чтобы он указывал на новый демон ftpd. В большинстве случаев этот шаг не нужен, поскольку во время установки сборки новая копия демона перезапишет старый демон. Если вы хотите использовать расширенные функции расширения ftpd, вам следует добавить опцию «-a» в конце этой строки.

Демон ftpd обычно может принимать следующие параметры или не принимать никаких параметров:

-d параметр отладки, при возникновении ошибки в демоне ftpd ошибка будет записана в файл системной записи /usr/adm/syslog -l Записывайте информацию о каждом сеансе FTP в /usr/adm/messages. -t Установите, как долго FTP-клиент будет автоматически отключаться при отсутствии операций. Этот параметр определяет время ожидания, например. -t 600 Указывает, что если клиент Терминал автоматически отключится, если не будет выполнено никаких действий в течение 10 минут подряд. Значение по умолчанию — 15 минут. -a Используйте содержимое файла конфигурации ftpaccess для более детальной и сложной настройки ftpd. -A Не использовать ftpaccess Настройки файла конфигурации,Значение по умолчанию:-A -i Когда клиент загружает файл, он записывается в файл xferlog. -L Все команды, используемые при подключении пользователя к ftp-серверу, записываются в /usr/adm/messages.

6. Скопируйте файлы tar, gzip, Gunzip, Compress, Uncompress и другие файлы в «~ftp/bin» и скопируйте «ls» в «~ftp/bin/ls».

7. Если это первая установка, используйте программу «ckconfig», чтобы найти различные каталоги хранения файлов конфигурации ftpd: ftpconversions, ftpusers и ftpgroups. В каталоге «doc/examples» находятся файлы примеров. «ckconfig» — это исполняемая программа, которая гарантирует устранение любых проблем, обнаруженных программой.

2.3 Запустите FTP-сервер

Вообще говоря, если wu-ftpd правильно скомпилирован и установлен, сервер может работать нормально. Пользователи могут подключаться к серверу из различных систем с помощью команд FTP.

2.4 Настройки файла конфигурации

2.4.1 Настройки /etc/ftpaccess

Этот файл конфигурации является наиболее важным файлом конфигурации FTP-сервера. Настройки этого файла определяют, может ли FTP работать нормально, а также настройки многих прав доступа. Как показано в следующем примере: класс все реально,гость,аноним *

limit all 10 Any /etc/msgs/msg.dead

readme README* login readme README* cwd=*

message /welcome.msg login message .message cwd=*

compress yes all tar yes all

log commands real log transfers anonymous,real inbound,outbound

shutdown /etc/shutmsg

email user@hostname

Ниже приводится подробное описание каждой директивы в файле настроек:

Инструкции: loginfailsn Если вы введете пароль n раз, соединение будет автоматически разорвано.

Инструкции: автогруппа Название группы категория [<категория> …] Если анонимный пользователь принадлежит к какому-либо классу параметра категории, FTP-сервер Название выполнит вызов setegid(), чтобы сделать его принадлежащим этому классу. Это группа, определенная группой. Это сделано для того, чтобы предоставить определенным анонимным пользователям доступ к файлам, которые доступны только этой группе и владельцу. Название группа должна быть допустимой группой, определенной в /etc/group.

поручить: class Имя класса категория(real、guest、anonumous) IP-адрес Эта инструкция предназначена для установки категории имени пользователя FTP-сервера. Пользователей FTP-серверов можно разделить на следующие три типа: real Пользователь с легальной учетной записью на FTP-сервере; guest Дополнительно определите некоторые конкретные группы пользователей; anonymous анонимный пользователь;

Пример: class outworld real,guest,anonymous * Определите класс с именем outworld, который содержит три типа пользователей: настоящие, гостевые и анонимные. Этот класс используется в следующих инструкциях. Среди них «*» — это часть IP-адреса определения класса, которая представляет хост, используемый в сети. Это означает, что любому хосту разрешено подключаться к FTP-серверу. Если вы хотите установить определенные разрешения на хосте, который обращается к FTP, вы можете сделать это: class friend real,guest,anonymous *.linuxaid.com.cn 202.102.13.* Относится к определению дружественного класса, который взят из *.linuxaid.com.cn. и 202.102.13.* имеют особые настройки разрешений при доступе к FTP-серверу.

поручить: limit категория Количество человек время имя файла Эта директива устанавливается, когда определенному классу разрешено подключаться к FTP-серверу в определенном количестве. количество человек ограничьте и укажите при подключении человек превышает лимит, и информация о сообщении отображается пользователю при подключении последующих пользователей.

Пример: limit local 20 Any /tmp/message/msg.toomany В приведенном выше примере локальный класс ограничивается только 20 людьми, которые могут одновременно подключаться к одному и тому же FTP-серверу онлайн. Если их больше 20, будет отображено содержимое файла /tmp/message/msg.toomany. limit outworld 100 MoTu|Any 2200-0800 /tmp/message/msg.limit В этом примере пользователи категории внешнего мира ограничивают доступ к FTP-серверу только с 22:00 в понедельник и вторник до 8:00 следующего утра, и они подключаются к Количество в одно и то же время. человек не может превышать 100 человек. Если количество человек превышает 100, будет отображено содержимое файла /tmp/message/msg.limit. Содержимое /tmp/message/msg.limit: извини! Этот сервер разрешает доступ анонимным пользователям в течение всего дня в понедельник, вторник и другие дни с 22:00 до 8:00 следующего утра. Текущее время - %T, и в настоящее время доступ разрешен только %M анонимным пользователям. % N пользователей обращаются к серверу. Пожалуйста, получите доступ к этому FTP-серверу в соответствующем месте, спасибо! %M — это переменная, представляющая количество, которое разрешено для одновременного подключения. Верхний предел человека: FTP-сервер может автоматически заменить эту переменную ранее установленным значением. Другие разрешенные переменные включают: %T Местное текущее время; %F Оставшееся пространство раздела, на котором находится CWD, в КБ. Но эта переменная поддерживается не всеми системами. %C текущий рабочий каталог; %E Адрес электронной почты системного администратора, указанный в файле /etc/ftpaccess; %R Имя удаленного хоста; %L локальное имя хоста; %U Имя пользователя, указанное при входе в систему; %N Количество пользователей, подключенных в настоящее время к этой категории; Используя эти параметры, вы можете редактировать файл подробного описания, который позволяет пользователям понять текущее использование ресурсов сервера.

поручить: readme Документация инструкция Когда пользователь выполнит указанную «инструкцию», система автоматически отобразит установленную Документацию; Пример: readme README* login Когда пользователь выполняет действие входа в систему, пользователю будет отображено содержимое файла, начинающееся с README. readme README* cwd=* Указывает, что когда пользователь переключает каталоги (cwd), пользователю будет отображаться содержимое файла, начинающееся с README. Обычно README* должно представлять собой описание файлов в каталоге, чтобы вошедшие в систему пользователи могли четко знать, какие файлы хранятся в каталоге;

поручить: message имя файла инструкция Чтобы, когда пользователь выполняет определенную «инструкцию», система отображает пользователю указанное содержимое файла; Пример: message /msg.welcome login Указывает, что при входе пользователя в систему содержимое /tmp/message/msg.welcome будет автоматически отображаться пользователю. Обратите внимание, что /msg.welcome здесь относится к файлу msg.welcome в корневом каталоге ftp, т.е. /home/ftp/msg.welcome. message /welcome cwd=* Указывает, что когда пользователь переключается в другой каталог, если в нем есть файл msg.welcome, он будет отображаться пользователю.

поручить: compress (yes/no) категория Установите, пользователи какой категории могут использовать сжатую функцию; Пример: compress yes local outworld разрешить локальный и внешний мир две категории Пользователь использует функцию сжатия

поучить: смола (да/нет) категория Укажите, какие пользователи категории могут использовать tarФункция;

поручить: passwd-check (none/trivial/rfc822) (enforce/warn) Установите пароль при анонимном входе пользователя на сервер: none Это значит, что пароль не будет проверен и вы сможете войти под любым паролем; trival Указывает, что вы можете войти в систему, если пароль содержит @; rfc822 Указывает, что пароль должен соответствовать формату электронной почты, указанному в rfc822, прежде чем вы сможете войти в систему. Например: webmaster@linuxaid.com.cn. enforce Указывает, что введенный пароль не соответствует указанному формату и вход в систему невозможен; warn Указывает, что введенный пароль не соответствует указанному Формат Показать предупреждениеинформация,Но вход по-прежнему разрешен;

поручить: log commands категория(read/guest/anonumous) Когда эти пользователи войдут в систему, используемые операции будут записаны в файле /usr/adm/xferlog.

поручить: log transfer категория(read/guest/anonumous) (inbound/outbound) Установите указанную категорию пользователя, которая будет записываться в /usr/adm/xferlog при загрузке или скачивании. Пример: log transfer anonymous,real inbound,outbound Когда анонимный или реальный пользователь входит в систему, операции загрузки и скачивания будут записываться в файл /usr/adm/xferlog.

поручить: shutdown имя файла За временем закрытия FTP-сервера может следовать имя указанный в файле указанный в файле,Как только наступит назначенное время,Невозможно войти на FTP-сервер,Только удалив этот файл, можно восстановить FTP-сервер. Формат файла можно создать с помощью команды ftpshut.

поручить: delete (yes/no) категория(real/anonymous/guest) Установите, разрешено ли указанному пользователю использовать команду удаления. Пример: delete no guest,anonymous Команду удаления не разрешается выполнять, если вошедший в систему пользователь является гостем или анонимным.

поучить: перезаписать (да/нет) категория(реальный/аноним/гость) Устанавливает, разрешено ли указанному пользователю использовать команду overwrite.

поучить: readme (да/нет) категория(реальный/анонимный/гость) Установите, разрешать ли указанным пользователям использовать readme инструкции.

поучить: chmod (да/нет) категория(реальный/аноним/гость) Устанавливает, разрешено ли указанному пользователю использовать chmodinstruction.

поучить: umask (да/нет) категория(реальный/аноним/гость) Устанавливает, разрешено ли указанному пользователю использовать umaskинструкцию.

поручить: upload [absolute|relative] [class=<classname>]… [-] <root-dir> <dirglob> <yes|no> <owner> <group> <mode> [“dirs”|”nodirs”] [<d_mode>]

Определите Оглавление, разрешенное для загрузки. Если загрузка разрешена,Все вновь загруженные файлы принадлежат и сгруппированы пользователем<owner>и<group>определение ,Права доступа будут<mode>。Загруженные файлы, которые перезаписывают старые файлы, сохранят своих первоначальных владельцев и права доступа.информация。Разрешения на загрузку файловинформациясоответствует максимальному Оглавление Определение элемента,нравиться: загрузить /var/ftp * нет загрузить /var/ftp/incoming да демон ftp 0666 загрузить /var/ftp /incoming/gifs да jlc Guest 0600 nodirs разрешил бы загрузку только в /incoming и /incom- : Разрешено загружать только /incoming и /incom-ing/gifsОглавление. Файлы, загруженные в /incomingОглавление, будут принадлежать ftp/daemon.,Разрешение доступа — 0666; файлы, загруженные в /incoming/gifs, будут принадлежать jlc/guest.,Права доступа0600。Следует отметить, что<root-dir> Должен соответствовать домашнему каталогу в файле паролей пользователя «ftp». Параметры «dirs» и «nodirs» используются для установки возможности создания новых подкаталогов в этом каталоге. Но по умолчанию разрешено создание подкаталогов. <d_mode>Установите вновь созданный Оглавлениеправа доступа,Значение по умолчанию:0777。 Инструкции по загрузке можно применить только к основному аккаунту пользователя.Оглавление(chroot()Параметры)Эквивалентно<root-dir>пользователей,<root-dir>может быть*соответствовать любому основному Оглавление。 <owner>и<group>Также может быть указано как*,в этом случае,любые загруженные файлыили Созданный Оглавление Владелец равен отцу Оглавлениевладелец。 Параметры[absolute|relative]Укажите да<root-dir>Это абсолютный путь или относительноchroot()Указан параметр Оглавлениеотносительный путь к。По умолчанию — абсолютный путь。Вы также можете указать любое количествоclass=<classname>’для дальнейшего ограничения。Если есть Оглавление,Тогда инструкция по загрузке влияет только на пользователей в этих группах.

поручить: alias псевдоним каталога путь к каталогу Установите псевдоним для указанного каталога. Псевдоним можно использовать при переключении каталогов. Пример: alias xwin /pub/linux/xwindows Установите псевдоним xwin для /pub/linux/xwindows. После входа в систему просто введите команду cd. xwin может войти в каталог.

поручить: cdpath Оглавление Эта функция аналогична настройке системной переменной среды PATH при cd. /и т. д. время,FTP сначала проверяет, есть ли подзаголовок «Оглавление» и т. д. под текущим Оглавлением.,Если нет, проверьте, есть ли псевдоним,Если нет, выполните запрос на основе пути, указанного в этой инструкции.

Пример: cdpath /pub/linux cdpath /pub cdpath / Порядок поиска:/pub/linux. /pub /

поручить: path-filter категория(real/anonymous/guest) Оглавление Настройка имени загрузки файлапредел。Пример: path-filter anonymous /etc/pathmsg^[-A-Za-z0-9_/.]*^/.^- path-filter guest /etc/pathmsg^[-A-Za-z0-9_/.]*^/.^- Установите ограничения на загрузку имени анонимными и гостевыми пользователями. Файл может содержать только буквы A-Z, a-z, 0-9 и ._-, файлы, имена которых начинаются с «.» и «-», не могут быть загружены на сервер.

поручить: guestgroup <groupname> [<groupname> …] guestuser <username> [<username> …] realgroup <groupname> [<groupname> …] realuser <username> [<username> …] дляguestgroupинструктировать,Если это правда(real)Пользователь принадлежит к любому<groupname>указанная группа,Затем его сеансы FTP анонимно обрабатываются FTP-сервером. То есть,chroot() вызывается,Пользователю больше не разрешено выдаватьUSERи PASS Заказ。<groupname>Должна быть действительная группа。 Здесь домашнее Оглавление пользователя должно быть установлено так, чтобы оно соответствовало анонимному пользователю. Домашнее Оглавление связанных элементов в /etc/passwd разделено на две части. Первая часть — это корневой параметр Оглавление, вызываемый chroot(), а вторая часть — основное Оглавление пользователя относительно корневого Оглавление. Эти две части разделены знаком «/./», например: guest1:<passwd>:100:92:Guest Account:/ftp/./incoming:/etc/ftponly Когда гость1 успешно войдет в систему, FTP-сервер вызовет chroot("/ftp"), а затем вызовет chdir("/incoming"). Тогда гость1 сможет получить доступ к содержимому каталога /ftp только как анонимный пользователь (для гостя1 это «/»). <groupname>может быть Название группыили цифровой идентификатор. Если вы используете числовой идентификатор, вам необходимо добавить «%» перед числом. Используйте *, чтобы указать все группы. Инструкции для гостевого пользователя и гостевой группы аналогичны, за исключением того, что они ограничены одним пользователем. Realuser и Realgroup имеют одинаковый синтаксис, но имеют эффект, противоположный гостевому пользователю и гостевой группе. Они позволяют пользователям определенной группы или пользователю получать доступ к FTP-серверу с реальным идентификатором. нравиться: guestuser * realgroup admin Указывает, что все неанонимные пользователи будут рассматриваться как анонимные пользователи после входа на сервер, за исключением пользователей в группе администраторов, которые будут существовать со своими настоящими личностями после входа в систему.

поручить: guestgroup Функция Установите функцию гостевой группы. Пример: guestgroup ftponly

поручить: nice <nice-delta> [<class>] Установите приоритет планирования демона FTP-сервера.

поручить: defumask <umask> [<class>] Если удаленный пользователь принадлежит к классу, маска файла, созданного демоном, равна umask. Если класс не указан, umask будет использоваться как umask по умолчанию.

поручить: tcpwindow <size> [<class>] Установите размер окна TCP для подключения к данным. Если вы не понимаете смысла, обычно не устанавливайте его.

поручить:keepalive <yes|no> НастройкаTCP Опция параметра SO_KEEPALIVE сокета.

поручить:timeout accept <seconds> timeout connect <seconds> timeout data <seconds> timeout idle <seconds> timeout maxidle <seconds> timeout RFC931 <seconds> Установите различные часы таймаута. Эти параметры следует устанавливать только в том случае, если вы хорошо знакомы с протоколом TCP. Как правило, не меняйте эти значения. Конкретные значения см. в man. ftpaccess。

поручить: file-limit [<raw>] <in|out|total> <count> [<class>] Ограничивает количество файлов, которые разрешено загружать любому пользователю определенной группы. Если класс не указан, ограничение применяется ко всем неквалифицированным группам. raw указывает, что этот лимит включает все передачи, а не только файлы данных.

поручить:byte-limit [<raw>] <in|out|total> <count> [<class>]

Ограничивает общий объем данных, который разрешено передавать любому пользователю класса.

поручить: limit-time {*|anonymous|guest} <minutes> Ограничивает разрешенную продолжительность разговора. Значение по умолчанию — без ограничений. Реальные пользователи не имеют этого ограничения.

поручить:guestserver [<hostname>] Определяет, какие сайты разрешают анонимные подключения. Если имя хоста не указано, все анонимные подключения запрещаются.

поручить: noretrieve [absolute|relative] [class=<classname>] … [-] <file- name> <filename> … Установите, каким классам запрещен доступ к определенным файлам. Например: noretrieve /etc/passwd core Укажите, что ни один посетитель не может получить доступ к файлу паролей в файле /etcОглавление и ко всем файлам с именем «core».

поручить:allow-retrieve [absolute|relative] [class=<classname>]… [-] <filename> … Разрешите доступ к этим файлам.

поручить:private <yes|no> Когда пользователь входит в систему, указывает SITE ГРУППА и and SITE GPASS используется для указания группы расширенного доступа и соответствующего пароля. Если вы введете Название группыи Если пароль действителен,Пользователь станет участником группы,Имеет доступ к этой группе.

поручить:greeting full|brief|terse greeting text <message> Позволяет вам контролировать, сколько приветственной информации и информационного контента предоставляется пользователю после входа в систему удаленного пользователя.

поручить:banner <path> Аналогично сообщению, но баннерное сообщение отображается пользователю до того, как пользователь вводит свое имя пользователя и пароль.

поручить: hostname <some.host.name> Определите имя хоста по умолчанию для FTP-сервера.

поручить: email <name> Определяет адрес электронной почты сопровождающего FTP.

поручить: log security (anonymous|guest|real) Делать записи нарушающими правила безопасности, такие как: (noretrive, .notar, ...) заказ.

поручить:log syslog log syslog+xferlog Перенаправить зарегистрированные сообщения в файл системного журнала syslog. По умолчанию они записываются только в xferlog.

поручить:daemonaddress <address> Если это значение не установлено,Сервер отслеживает все запросы доступа,в противном случае,Сервер принимает сообщения только от<address>Определенный запрос на соединение。Обычно не устанавливайте этот параметр,Этот параметр запретит использование виртуальных хостов и других расширений в будущем.

поручить: virtual <address> <root|banner|logfile> <path> открыть виртуальныйFTPПоддержка сервера。<address>Это виртуальный серверIP-адрес。Второй параметр указывается какrootОглавление,bannnerдокумент,Путь к файлу журнала и т. д.

поручить:virtual <address> <hostname|email> <string> Установите имя хоста или адрес электронной почты, отображаемые в приветственных сообщениях.

поручить:virtual <address> allow <username> [<username> …] virtual <address> deny <username> [<username> …] Как правило, реальным и гостевым пользователям не разрешается входить на виртуальный хост. Эти две инструкции используются для переопределения пользователей, которым разрешен и запрещен доступ к виртуальному хосту.

поручить:virtual <address> private Обычно анонимным пользователям отказывают в доступе к виртуальному хосту.

поручить: defaultserver deny <username> [<username> …] defaultserver allow <username> [<username> …] Определите пользователей, которым разрешен доступ к FTP-серверу по умолчанию (не виртуальному).

поручить:defaultserver private Запретите анонимным пользователям доступ к FTP-серверу по умолчанию.

поручить: deny IP-адрес/доменное имя Документация Установите ограничения, по которым пользователи доменного имени с IP-адресом не смогут войти на сервер. Пример: deny 202.102.15* *.hacker,ком /tmp/message/deny.msg Ограничьте IP-адрес до 202.102.15* и доменное имя до *.hacker.,компьютеру com не разрешено войти на сервер

2.4.2 Настройки /etc/ftpusers и /etc/ftphosts

/etc/ftpusers используется для запрета некоторым пользователям системы передавать файлы по FTP, а /etc/ftphosts используется для запрета определенным хостам подключаться к этому FTP-серверу. Это делается из соображений безопасности.

Пример использования /etc/ftpusers выглядит следующим образом:

корень мусорное ведро демон адм лп синхронизировать неисправность остановка почта новости uucp оператор игры никто Ограничение доступа определенных пользователей к FTP-серверу осуществляется по соображениям безопасности системы, например, для предотвращения входа в систему суперпользователей. И запретить некоторым пользователям с одинаковыми именами команд вход на FTP-сервер.

Пример файла /etc/ftphosts выглядит следующим образом:

# Example host access file # # Everything after a ‘#’ is treated as comment, # empty lines are ignored #allow <username> <addrglob> [<addrglob> …] # Only allow host(s) matching <addrglob> to log in as <username>. #deny <username> <addrglob> [<addrglob> …] # Always deny host(s) matching <addrglob> to log in as <username>.

allow ideal *.linuxaid.com.cn 10.0.0.0/8 deny fred *.hacker.com 131.211.32.0/24

Здесь только в идеале разрешен вход на FTP-сервер с хоста, доменное имя которого linuxaid.com.cn и хост 10.0.0.0/255.0.0.0, fred запрещен вход на FTP-сервер с *.hacker. ком и 131.211.32.0/24. Если имя пользователя здесь анонимное или ftp, оно относится к анонимному пользователю.

2.4.3 Настройки /etc/ftpconversions

Этот файл используется для установки того, какие операции должны выполняться при загрузке файлов пользователями, например сжатие, распаковка и т. д. Содержимое файла следующее:

:.Z: : :/bin/compress -d -c %s:T_REG|T_ASCII:O_UNCOMPRESS:UNCOMPRESS : : :.Z:/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS :.gz: : :/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP : : :.gz:/bin/gzip -9 -c %s:T_REG:O_COMPRESS:GZIP : : :.tar:/bin/tar -c -f – %s:T_REG|T_DIR:O_TAR:TAR : : :.tar.Z:/bin/tar -c -Z -f – %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+COMPRESS : : :.tar.gz:/bin/tar -c -z -f – %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+GZIP : : :.crc:/bin/cksum %s:T_REG::CKSUM : : :.md5:/bin/md5sum %s:T_REG::MD5SUM

Инструкция по настройке файла:

:.Z: : :/bin/compress -d -c %s:T_REG|T_ASCII:O_UNCOMPRESS:UNCOMPRESS Указывает, что все файлы, заканчивающиеся на ".Z", следует распаковать с помощью /bin/compress -d -c".

: : :.Z:/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS Указывает, что переданные файлы будут сжаты в формат «.Z».

:.gz: : :/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP Указывает, что все файлы с расширением «.gz» будут распакованы с помощью «/bin/gzip -cd».

: : :.gz:/bin/gzip -9 -c %s:T_REG:O_COMPRESS:GZIP Указывает, что переданный файл будет сжат в формат «.gz».

: : :.tar:/bin/tar -c -f – %s:T_REG|T_DIR:O_TAR:TAR Указывает, что файлы, подлежащие передаче, упакованы с помощью «tar».

: : :.tar.Z:/bin/tar -c -Z -f – %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+COMPRESS Указывает, что передаваемый файл будет сжат в формат «tar.Z».

: : :.tar.gz:/bin/tar -c -z -f – %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+GZIP Указывает, что передаваемый файл будет сжат в формат «tar.gz».

: : :.crc:/bin/cksum %s:T_REG::CKSUM Указывает, что передаваемые файлы пройдут проверку CRC.

: : :.md5:/bin/md5sum %s:T_REG::MD5SUM Указывает, что передаваемые файлы подлежат проверке md5.

Фактически, в файле конфигурации по умолчанию после установки FTP уже определены часто используемые программы сжатия и распаковки, поэтому обычно нет необходимости изменять содержимое этого файла, но порядок содержимого можно изменить в соответствии с фактическими потребностями. Например, если пользователь хочет скачать файл «file.tar.gz», но на этом FTP такого файла нет, но есть файл file, то FTP-сервер упакует и сожмет файл в file.tar. gz и передать его пользователю. Если на сервере нет файла file, сервер будет искать в порядке, указанном в файле /etc/ftpconversions. В этом примере будет выполняться поиск file.Z, file.gz, file.tar, file.tar.Z. по порядку, file.tar.gz, file.crc, file.md5, пользователю будет отправлен тот, который будет найден первым. Таким образом, содержимое файла /etc/ftpconversions можно изменять по мере необходимости.

до настоящего времени,FTP-сервер, обеспечивающий анонимный доступ, успешно установлен и настроен.,Вы можете подключить его, чтобы проверить, соответствует ли функция вашим потребностям.

2.4.1 программы, связанные с wu-ftp

Программа ftpcount может подсчитывать количество подключенных в данный момент пользователей и выдавать верхний предел, например:

[root@linux doc]# ftpcount Друг класса обслуживания – 0 пользователей (без максимума) Класс обслуживания локальный – 0 пользователей (без максимума) Класс обслуживания внешний мир – 0 пользователей (без максимума) Здесь подключено 0 местных жителей, и верхнего предела нет. Несколько других категорий имеют то же значение.

[root@linux doc]# ftpwho Друг класса обслуживания: – 0 пользователей (без максимума) Класс обслуживания местный: – 0 пользователей (без максимума) Класс обслуживания местный: – 0 пользователей (без максимума) На данный момент нет пользователей, подключенных ни к одной из трех категорий.

ftpshut

Эта программа в основном используется для создания /etc/shutmsg — команды завершения работы, установленной ранее в /etc/ftpaccess. Формат использования ftpshut следующий:

ftpshut [ -V ] [ -l min] [ -d min] time [ warning-message … ] -l Эта опция задает количество минут перед выключением FTP-сервера, чтобы остановить запросы пользователей на подключение. -d Эта опция задает количество минут до выключения FTP-сервера перед отключением подключенных пользователей. time Установите время закрытия FTP-сервера. Например, если вы хотите закрыть FTP-сервер в 22:00, это 2200. warning-message Сигнал тревоги отображается для пользователей перед отключением. Информация Например:

[root@linux /etc]# ftpshut -l15 -d5 1800 “ftp server will shutdown” [root@lix /etc]# less shutmsg 2000 04 07 18 00 0015 0005 ftp server will shutdown

2.5 Откройте учетную запись только для FTP

Часто бывает необходимо создать пользователей, которые разрешают доступ к серверу только по FTP. Метод реализации следующий:

1. Откройте аккаунты в системе для этих пользователей обычным способом.

[root@ns /etc]#useradd ftp_user1 [root@ns /etc]#chmod 700 /etc/shadows [root@ns /etc]#vi /etc/shadows

Удалить элементы: ftp_user1:!!:11113:0:99999:7:-1:-1:134537372 «!!» во втором поле, а затем войдите в систему как пользователь ftp_usre1, пароль не будет запрашиваться, а затем используйте passwd, чтобы установить пароль для пользователя.

2. С помощью vi измените файл /etc/shells и добавьте элемент /dev/null или /bin/passwd, как показано ниже:

[root@ns /etc]# cat shells /bin/bash /bin/sh /bin/ash /bin/bsh /bin/tcsh /bin/csh

Изменить на:

[root@ns /etc]# cat shells /bin/bash /bin/sh /bin/ash /bin/bsh /bin/tcsh /bin/csh /dev/null /bin/passwd

2. Используйте vi, чтобы открыть файл /etc/passwd. 3. Измените оболочку входа пользователей в системах, поддерживающих только FTP, на /dev/null (если пользователям не разрешено менять свои пароли) или /bin/passwd (если пользователям разрешено менять свои пароли), как показано ниже:

ftp_user1:x:503:504::/home/ftp_user1:/bin/bash Источник: ftp_user1:x:503:504::/home/ftp_user1:/dev/null или ftp_user1:x:503:504::/home/ftp_user1:/bin/passwd

Таким образом, пользователь может использовать только такие службы, как pop3 и FTP, но не может войти в систему через telnet.

2.6 Настройте виртуальный FTP-хост

Так называемый виртуальный анонимный хост означает, что на одной машине имеется несколько IP-адресов, и он может предоставлять анонимный FTP-сервер внешнему миру. Эти серверы логически независимы, имеют разные списки управления доступом и разное содержимое для загрузки. Вот шаги для настройки виртуального FTP-сервера:

1. Сначала задайте псевдоним IP-адреса локальной сетевой карте, то есть привяжите несколько IP-адресов к одной сетевой карте: Например, ваш внутренний FTP-хост — 192.168.0.4.

Привязать другой IP-адрес можно следующим образом: /sbin/ifconfig eth0:0 192.168.0.5 up //Добавляем новый IP в интерфейс /sbin/route add -host 192.168.11.7 eth0:0 //Добавить информацию о маршруте

2. Сначала перейдите в /home/virtualftp и /var/log/virtualftp. Создайте файл баннера /home/virtualftp/banner_message и измените основной файл конфигурации FTP-сервера /etc/ftpaccess.,Добавлена ​​поддержка виртуального FTP.,Добавьте в файл следующие строки:

virtual 192.168.0.5 root /home/virtualftp virtual 192.168.0.5 banner /home/virtualftp/banner_message virtual 192.168.0.5 logfile /var/log/virtualftp/xferlog

Приведенные выше три инструкции соответственно устанавливают корень виртуального хоста.,Файлы журналов виртуального хоста,Отображение входа в виртуальный хостинформация。Путь вышеиимя файл может быть определен произвольно.

3. Скопируйте необходимые анонимные файлы FTP, в основном /lib, /etc, /bin # cp /home/ftp/* /home/virtualftp -a

4. Определите 192.168.0.5 в DNS и установите его в качестве сопоставления доменного имени виртуального FTP.

Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/162604.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