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

1 написано впереди


  • поделитесь некоторыми SMB из Заметки о сборке
  • Организация экзаменов
  • Если вы недостаточно понимаете, пожалуйста, помогите мне исправить это.

У каждого есть только одна истинная ответственность: найти себя. Затем придерживайтесь этого в своем сердце до конца своей жизни, всем сердцем и никогда не останавливайтесь. Все остальные дороги несовершенны, человеческие средства бегства, трусливое возвращение к народным идеалам, дрейфование с толпой и внутренний страх - Герман Гессе, "Демиан"


Краткое введение 2SMB

Протокол SMBПервоначально автор:Разработано Microsoft,позже стал Windows Наиболее часто используемый протокол общего доступа к файлам в сети. Конечно протокол SMBТакже можно использовать сUnixилиLinuxсистемные файлыобщий,Через пакет Samba,Система UnixиLinux может какSMBсервер предоставлять общий файловый сервис.,Разрешите системам Windows доступ к общим файлам и принтерам.

NFSмогу сделать Unix и Linux Машина общается или позволяет Windows Машинная связь, SMB может быть достигнуто Windows Машины и Unix или Linux Машинная связь.

В реальном использовании, Протокол SMB Больше операционная система Windows серединаиспользоватьДокумент общего соглашения,это позволяет система Windowsмеждуобщийдокументипринтер。

Samba

Samba находится в Linux реализовано в системе SMB Протокол бесплатного программного обеспечения,существоватьLAN-начальствообщий файл и принтериз Что-то вроде`коммуникацияпротокол,Он состоит из серверной и клиентской программ.

может быть достигнуто Следующие функции:

  • документобщий:Samba Джан Воля Linux/UNIX Файл начального состояния системы и общий каталог для Windows、macOS Другая поддержка SMB/CIFS Соглашение изклиент. Это означает, что вы можете использовать Samba существуютобщий файлы и каталоги между разными операционными системами.
  • Принтер общий:Samba Позволяет подключить принтер Воля к Linux/UNIX систему и пройти SMB/CIFS Соглашение Воляицобщий дает Windows、macOS и другиеклиенты. так,Вы можете существовать в сети начальствообщий принтер,И позволяет нескольким пользователямиспользовать один и тот же принтер.
  • Аутентификация и авторизация:Samba Аутентификация предоставленаимеханизм контроля доступа,Позволяет выполнить сертификацию Конфигурацияпользователь, доступ к уровню Разрешенияиобщий. Вы можете создать аккаунт пользователя,Установить политику паролей,И укажите разные разрешения доступа для общего каталога.
  • контроллер домена:Samba Может выступать в качестве контроллера домена, предоставляя что-то вроде Windows Домен из функции. Вы можете использовать Samba Создатели управляют учетными записями пользователей, группами, политиками, а также обеспечивают централизованное управление и проверку личности.
  • семейные документы сервер:ты можешьиспользовать Samba существоватьдомашняя сетьсерединапостроитьдокументсервер,Разрешить членам семьи общие файлы и каталоги,и выполнить контроль доступа.
  • Безопасность и шифрование:Samba Поддерживает зашифрованную связь и обеспечивает защиту данных и безопасную передачу. Вы можете Конфигурация Samba использовать SSL/TLS Протоколы шифрования для защиты данных при передаче и хранении.
  • Кроссплатформенная совместимость:Samba снабженный Windows Хорошая сеть благодаря совместимости, что делает Linux/UNIX Система может работать с Windows Бесшовная сетевая интеграция.

Краткое описание процесса доступа к Samba

  • Samba Сервер запускается и прослушивает указанный порт (по умолчанию 445 порт).
  • клиент инициирует запрос на подключение к серверу Samba.
  • Сервер Samba получает запрос на соединение и устанавливает соединение с клиентизой.
  • Клиент отправляет SMB/CIFS запросил сервер Samba, запрашивая доступ к общему ресурсу или выполнение определенной операции.
  • Сервер Samba анализирует запрос и выполняет соответствующие операции в зависимости от типа и параметров запроса.
  • Если запрос предполагает доступ к общему ресурсу,Сервер SambaВоляпроверьте данные аутентификации клиента,И определить, предоставлять ли доступ к Разрешениям на основе правил контроля доступа в файле конфигурации.
  • Сервер Samba выполняет запрос из операции,Например, чтение、писать、создавать、Удалить файлы и т. д.
  • Сервер Samba генерирует ответ, и ответ Воля отправляется обратно клиенту.
  • клиент получил ответ,Выполните соответствующую обработку и отображение на основе содержимого ответа.

Хост может действовать какклиент,Также может действовать каксерверприйти в гостиипоставлять SMB документобщий:

  • как клиент,устанавливать SMB документобщийнуждаться Установить cifs-utils пакеты программного обеспечения, а также samba-client。
  • как сервер,использовать SMB протоколобщий Оглавлениенуждаться Установить samba пакет программного обеспечения.

Linux среда КонфигурацияSMBобщийОсновные шаги следующие::

  • Установитьsambaпакет программного обеспечения.
  • ПодготовитьSambaпользователь
  • Подготовить общийиз каталога.
  • Конфигурация/etc/samba/smb.confКонфигурациядокумент
  • запускатьSambaи откройте локальный брандмауэр
  • Монтировать из клиентской системы SMB общий для подтверждения вас из Конфигурация。

3Установка и развертывание

Воля serverd Настроен как независимый SMB ⽂кускисервер,это Воляобщий /smbshare Каталог. Можно использовать multiuser Варианты крепления, Воля servera Конфигурациядля Воляэтот SMB общиймонтировать на /designs Каталог.

Конфигурация развертывания сервера

Установите пакет самбы.

Язык кода:javascript
копировать
[root@serverd ~]# yum install  samba -y
Red Hat Enterprise Linux 8.1 BaseOS (dvd)                               21 MB/s | 2.2 MB     00:00
Red Hat Enterprise Linux 8.1 AppStream (dvd)                            32 MB/s | 5.6 MB     00:00

создавать marketing Группаи /smbshare Каталог. Конфигурация /smbshare Каталог, другая конфигурация:

  • Этот каталог принадлежит marketing Группа
  • Этот каталог установлен SGID Кусочек
  • Доступ на чтение к каталогу Разрешения есть у всех, но только marketing Группу можно написать⼼
  • В каталоге есть samba_share_t SELinuxначальство Вниз⽂тип

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

Язык кода:javascript
копировать
#создавать marketing Группа。
[root@serverd ~]# groupadd marketing
#создавать /smbshare Каталог.
[root@serverd ~]# mkdir /smbshare
#Воля /smbshare Владелец каталога из Группа изменен на marketing。
[root@serverd ~]# chgrp marketing /smbshare
#существовать⽽каталог начальные настройки SGID Кусочек и только к marketing Группа грантов написана ⼼Разрешения.
[root@serverd ~]# chmod 2775 /smbshare
#существовать SELinux Стратегиясерединадобавить v⼼Одно правило делает /smbshare Каталог и его содержание руководство Следующий тип текста:
samba_share_t。
[root@serverd ~]# semanage fcontext -a -t samba_share_t '/smbshare(/.*)?'
#Воля SELinux Правила применяются к /smbshare Каталог.
[root@serverd ~]# restorecon -Rv /smbshare
Relabeled /smbshare from unconfined_u:object_r:default_t:s0 to
 unconfined_u:object_r:samba_share_t:s0
#Проверка результатов работы. Группа Разрешения、Группа Владение SELinux Тип должен соответствовать следующему выводу.
[root@serverd ~]# ls -ldZ /smbshare
drwxrwsr-x. 2 root marketing unconfined_u:object_r:samba_share_t:s0 6 May 22
 08:10 /smbshare

редактировать /etc/samba/smb.conf Файл конфигурации. Настройте его в соответствии со следующими требованиями. Некоторые конфигурации не являются необходимыми. Вот некоторые из них для понимания.

  • Воля⼼WORK Group настроена на MYCOMPANY
  • Воля Samba КонфигурациядлянуждатьсяЗашифрованный трафик
  • сила Samba Поддерживает только SMB Версия 3 и Даже⾼Версия
  • создаватьимядля data изобщий。
  • общий /smbshare Каталог.
  • Защищатьобщий,чтобы каждый мог получить к нему доступ,нотолько marketing Члены Группыз имеют доступ для записи в Разрешения.

редактировать /etc/samba/smb.conf ∎ файл и Воля workgroup Команда установлена ​​на MYCOMPANY。

Язык кода:javascript
копировать
...output omitted...
[global]
 workgroup = MYCOMPANY
...output omitted...

существовать [global] часть Вниз,сила шифрования,и ВоляМинимальный протокол Версиянастраиватьдля SMB3

Язык кода:javascript
копировать
...output omitted...
[global]
 workgroup = MYCOMPANY
 smb encrypt = required
 server min protocol = SMB3
...output omitted...

существуют Конец файла из,добавить вк Внизкусокопределитьновыйизобщий。

Язык кода:javascript
копировать
...output omitted...
[data]
 path = /smbshare
 write list = @marketing  ;Конфигурация Элемент определяет запись Разрешенияизпользовательилипользователь Группа。

По завершении сохраните и закройте файл.

Бегать testparm команда для проверки /etc/samba/smb.conf Конфигурационный файл

Язык кода:javascript
копировать
[root@serverd ~]# testparm
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
Enter
...output omitted...

конфигурация общей учетной записи Samb

sam клиентсервер Установить соединение, требуется аутентификация, samba использовать Имя пользователя и пароль.

создаватьтолько Samba из developer1 пользовательсчет,Затем Воляэтодобавить в прибыть marketing Группа. Учетная запись пользователя имеет доступ на запись к общим разрешениям в том виде, в котором они есть. marketing Член Группиз.

Язык кода:javascript
копировать
[root@serverd ~]# useradd -s /sbin/nologin -G marketing developer1

создаватьтолько Samba из operator1 пользовательсчет。не хочу Воляэтодобавить в прибыть marketing Group, чтобы у нее был доступ только для чтения к этому общему Разрешению. Воля оба аккаунта из SMB Пароль установлен на redhat。

Воля developer1 Аккаунт пользователя добавлен в Samba

Язык кода:javascript
копировать
[root@serverd ~]# smbpasswd -a developer1

Полная операция

Язык кода:javascript
копировать
[root@serverd ~]# groupadd marketing
[root@serverd ~]# mkdir  /smbshare
[root@serverd ~]# chgrp marketing  /smbshare
[root@serverd ~]# chmod 2775  /smbshare
[root@serverd ~]# semanage  fcontext -a -t samba_share_t '/smbshare(/.)?'
[root@serverd ~]# restorecon -Rv /s
sbin/     smbshare/ srv/      sys/
[root@serverd ~]# restorecon -Rv /s
sbin/     smbshare/ srv/      sys/
[root@serverd ~]# restorecon -Rv /smbshare
Relabeled /smbshare from unconfined_u:object_r:default_t:s0 to unconfined_u:object_r:samba_share_t:s0
[root@serverd ~]# ls -ldZ /smbshare
drwxrwsr-x. 2 root marketing unconfined_u:object_r:samba_share_t:s0 6 Jul  6 20:43 /smbshare
[root@serverd ~]# vim /etc/samba/smb.conf
[root@serverd ~]# testparm
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
        printcap name = cups
        security = USER
        server min protocol = SMB3
        workgroup = MYCOMPANY
        idmap config * : backend = tdb
        cups options = raw
        smb encrypt = required


[homes]
        browseable = No
        comment = Home Directories
        inherit acls = Yes
        read only = No
        valid users = %S %D%w%S


[printers]
        browseable = No
        comment = All Printers
        create mask = 0600
        path = /var/tmp
        printable = Yes


[print$]
        comment = Printer Drivers
        create mask = 0664
        directory mask = 0775
        force group = @printadmin
        path = /var/lib/samba/drivers
        write list = @printadmin root


[data]
        path = /smbshare
        write list = @markting

добавить в smb пользователь,здесьиспользоватьсистемапользователь,Первыйсоздаватьсистемапользователь,Затемдобавить в соответствует из smb пользователь

Язык кода:javascript
копировать
[root@serverd ~]# useradd  -s /sbin/nologin -G marketing developer1
[root@serverd ~]# smbpasswd -a developer1
New SMB password:
Retype new SMB password:
Added user developer1.
[root@serverd ~]# useradd  -s /sbin/nologin operator1
[root@serverd ~]# smbpasswd -a operator1
New SMB password:
Retype new SMB password:
Added user operator1.
[root@serverd ~]# useradd  -r -s /sbin/nologin sambamount
[root@serverd ~]# smbpasswd -a sambamount
New SMB password:
Retype new SMB password:
Added user sambamount.

Конфигурация smb Автоматический запуск при загрузке

Язык кода:javascript
копировать
[root@serverd ~]# systemctl enable  --now smb
Created symlink /etc/systemd/system/multi-user.target.wants/smb.service → /usr/lib/systemd/system/smb.service.

Проверить статус услуги

Язык кода:javascript
копировать
[root@serverd ~]# systemctl status smb
● smb.service - Samba SMB Daemon
   Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2023-07-06 21:17:54 CST; 18s ago
     Docs: man:smbd(8)
           man:samba(7)
           man:smb.conf(5)
 Main PID: 2822 (smbd)
   Status: "smbd: ready to serve connections..."
    Tasks: 4 (limit: 11251)
   Memory: 8.3M
   CGroup: /system.slice/smb.service
           ├─2822 /usr/sbin/smbd --foreground --no-process-group
           ├─2824 /usr/sbin/smbd --foreground --no-process-group
           ├─2825 /usr/sbin/smbd --foreground --no-process-group
           └─2826 /usr/sbin/smbd --foreground --no-process-group

Jul 06 21:17:54 serverd.lab.example.com systemd[1]: Starting Samba SMB Daemon...
Jul 06 21:17:54 serverd.lab.example.com smbd[2822]: [2023/07/06 21:17:54.189066,  0] ../../lib/util/be>
Jul 06 21:17:54 serverd.lab.example.com systemd[1]: Started Samba SMB Daemon.
Jul 06 21:17:54 serverd.lab.example.com smbd[2822]:   daemon_ready: daemon 'smbd' finished starting up>

пропуск брандмауэра

Язык кода:javascript
копировать
[root@serverd ~]# firewall-cmd --permanent --add-service=samba
success
[root@serverd ~]# firewall-cmd --reload
success

Конфигурация клиента

Воля SMB data общийпостоянныймонтировать наклиент servera начальствоиз /designs Под точкой монтирования здесь мы используем sambamount пользовательиз Реквизиты для входасоздавать /etc/samba/creds.txt файл. Использовать /etc/fstab серединаиз credentials、multiuser и seal Опция монтирования активирует режим мультипользователя и шифрует сообщения.

Установить cifs-utils пакет программного обеспечения, который обеспечивает mount.cifs Заказ

Язык кода:javascript
копировать
[root@servera ~]# yum install cifs-utils

создавать /etc/samba/creds.txt файл, чтобы предоставить учетную запись и пароль, используемые для монтирования общего файла. Использовать sambamount учетная запись, пароль redhat。

Язык кода:javascript
копировать
username=sambamount
password=redhat

Защитите файлы, чтобы только root пользователь может получить к нему доступ

Язык кода:javascript
копировать
[root@servera ~]# chmod 600 /etc/samba/creds.txt

создавать /designs точка монтирования

Язык кода:javascript
копировать
[root@servera ~]# mkdir /designs

редактировать /etc/fstab файл, затем SMB общийдобавить ⼀Одна запись. Следующие новые монтирования определяются в одной строке, без разрывов строк.

Язык кода:javascript
копировать
//serverd.lab.example.com/data /designs cifs credentials=/etc/samba/creds.txt,multiuser,seal 0 0

credentials=/etc/samba/cred.txt: Укажите учетную запись пользователя и пароль и путь к файлу. Самба Сервис Воля получает информацию для проверки входа пользователя из этого файла.

multiuser: Указывает, что нескольким пользователям разрешен вход в эту общую систему одновременно. Если этот параметр не указан, по умолчанию разрешено только одно подключение пользователя.

seal: Указывает, что информация об учетной записи Samba Воляпользователь хранится в существующем файле cred.txt и хранится в виде обычного текста, а не в форме «использовать», что является более безопасным и зашифрованным.

Подключите файловую систему и убедитесь, что подключение прошло успешно.

Язык кода:javascript
копировать
[root@servera ~]# mount /designs
[root@servera ~]# df /designs
Filesystem 1K-blocks Used Available Use% Mounted on
//serverd.lab.example.com/data 10474476 2289868 8184608 22% /designs

Тестовый доступ к общему разрешению. Для этого используйте developer1 пользователь⾝ войти, указать пользователяиз SMB Учетные данные и подтвердите, что вы можете писать в общий.

Исполнение и operator1 Пользователь тот же из теста. Учетная запись пользователя имеет доступ только для чтения к Разрешениям, поскольку она не принадлежит к marketing сгруппированы с developer1 Войдите как пользователь❌. лаборатория Скрипт создал для вас учетную запись пользователя.

Язык кода:javascript
копировать
[root@servera ~]# su - developer1
[developer1@servera ~]$ 

4Demo

Конфигурация сервера samba общий

существовать servera Будьте готовы samba общий:

  • создать общую папку /common
  • пользователь rob Проверка пароля compede
  • пользователь brian Проверка пароля postroll

Шаги развертывания:

  1. Установка соответствует пакету данных
  2. добавить в соответствует из smb пользователь
  3. Авторизация общего каталога
  4. SElinux Конфигурация
Язык кода:javascript
копировать
yum -y install samba samba-client

Обеспечить безопасность местного пользователя и предоставить соответствующую информацию. Конфигурацияневозможно войтииз bash

Язык кода:javascript
копировать
# id brian; id rob
# egrep 'brian|rob' /etc/passwd
# usermod -s /sbin/nologin brian
# usermod -s /sbin/nologin rob

добавить в smb пользователь

Язык кода:javascript
копировать
[root@servera ~]# pdbedit -L
[root@servera ~]# smbpasswd -a brian
New SMB password: `postroll`
Retype new SMB password: `postroll`
Added user brian.
[root@servera ~]# (echo compede; echo compede) | smbpasswd -a rob
New SMB password:
Retype new SMB password:
Added user rob.
[root@servera ~]# pdbedit -L
brian
rob

папка создайобщий, здесь нужна Конфигурация, соответствующая из Разрешения,начальство, добавить в brian группа, дайте одновременно SGID Разрешения

Язык кода:javascript
копировать
mkdir /common
chown :brian /common
chmod 2775 /common

Проверьте начальство ниже типов отношений, Конфигурация. SELinux

Язык кода:javascript
копировать
# vim /etc/samba/smb.conf.example
# yum provides semanage
# yum -y install policycoreutils-python-utils

Проверьте начальство на следующие отношения Заказ

# man semanage fcontext | grep \#
# semanage fcontext -a -t samba_share_t "/common(/.*)?"
# restorecon -Rv /common
Язык кода:javascript
копировать
# ls -ldZ /common/
drwxrwsr-x. 2 root brian unconfined_u:object_r:`samba_share_t`:s0 6 Aug 7 13:05
/common/

Используйте многопользовательский доступ samba общий Оглавление

существовать servera начальство Конфигурация SMB Служить:

  • тыиз SMB сервер должен быть STAFF Работа Группаиз члена
  • общий /common Имя каталога должно быть common
  • только example.com Доступно в домене common общий
  • common Должен иметь возможность просматривать из
  • пользователь rob Должен уметь читать контент в общем
  • Требовать rob пользователь получает доступ к каталогу в режиме только для чтения, brian Доступ к этому каталогу возможен в режиме чтения и записи.

существовать serverb вкл, запросить пропуск smb Несколько способов использования каталога Воляобщий common монтировать на /mnt/private начальство

  • Требоватьсуществовать При монтировании общего каталога используйте rob удостоверение личности для работы
  • Требовать Общий каталог может автоматически монтироваться при каждом запуске компьютера.
Язык кода:javascript
копировать
# vim /etc/samba/smb.conf
Язык кода:javascript
копировать
...
workgroup = STAFF
...
[common]
        path = /common
        hosts allow = 127. 172.25.
        browseable = Yes 
        write list = @brian
Язык кода:javascript
копировать
# systemctl enable --now smb nmb

# firewall-cmd --permanent --add-service=samba
# firewall-cmd --reload
Язык кода:javascript
копировать
# smbclient -L //servera -N
Anonymous login successful

 Sharename       Type      Comment
 ---------       ----      -------
...
 `common`         Disk
...

# smbclient -L //servera -U rob%compede
# smbclient //servera/common -U rob%compede

Конфигурация клиента

Язык кода:javascript
копировать
# yum search cifs
# yum search samba
# yum -y install cifs-utils samba-client
Язык кода:javascript
копировать
# smbclient -L //servera -N
# smbclient -L //servera -U rob%compede

# mkdir /mnt/private

# man mount.cifs
# vim /etc/samba/cred.txt
Язык кода:javascript
копировать
username=rob
password=compede

проверять Разрешения Конфигурация

Язык кода:javascript
копировать
# chmod 600 /etc/samba/cred.txt
# ll /etc/samba/cred.txt
-rw-------. 1 root root 30 Aug  7 13:31 /etc/samba/cred.txt

# vim /etc/fstab
Язык кода:javascript
копировать
...
//servera/common /mnt/private cifs credentials=/etc/samba/cred.txt,multiuser,seal 0 0
Язык кода:javascript
копировать
# mount –a
Язык кода:javascript
копировать
# df -ht cifs
Filesystem        Size  Used Avail Use% Mounted on
//servera/common   10G  2.2G  7.9G  22% /mnt/private

# ls /mnt/private/
# touch /mnt/private/ro.txt
touch: cannot touch '/mnt/private/ro.txt': Permission denied
# su - brian
$ cifscreds add servera
Password: `postroll`
$ touch /mnt/private/rw.txt
$ ls /mnt/private/rw.txt
-rwxr-xr-x. 1 brian brian 0 Aug  7 13:41 /mnt/private/rw.txt
boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.