Compare commits

..

7 Commits

Author SHA1 Message Date
4fbb2dc8e0 191101 2024-11-19 17:41:33 +03:00
51e08b618b Merge branch 'main' of https://git.fipi.pro/Plata_Upravleniya_RF/site-plata-upravleniya-rf 2024-11-19 17:30:35 +03:00
1dd2bcda91 191101 2024-11-19 17:30:31 +03:00
8ce4b5f47a 191100 2024-11-19 17:13:45 +03:00
bccbdb9bf3 181100 2024-11-19 15:35:13 +03:00
64e90bb8e2 Загрузить файлы в «src/content/blog» 2024-11-15 15:12:23 +03:00
a9d73b7368 0711 2024-11-07 11:23:57 +03:00
2478 changed files with 1055783 additions and 1058347 deletions

54
.gitignore vendored
View File

@@ -1,10 +1,8 @@
# build output # build output
dist/ dist/
backup/ backup/
backup/ backup/*
*/backup/*
/backup
*/backup/*
# generated types # generated types
.astro/ .astro/
@@ -21,54 +19,6 @@ pnpm-debug.log*
# environment variables # environment variables
.env .env
.env.production .env.production
.env.local
.env.development
# macOS-specific files # macOS-specific files
.DS_Store .DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
# Editor directories and files
.idea/
.vscode/
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
# Testing
coverage/
.nyc_output/
# Temporary files
*.log
*.tmp
.temp/
tmp/
temp/
# Optional: Dependency directories
jspm_packages/
bower_components/
# Optional: Cache directories
.npm/
.eslintcache
.stylelintcache
# Production build files
build/
public/dist/
public/build/
# Optional: Local SSL certificates
*.pem
*.cert
*.key
# Optional: CDN caches
.cdn/

3737
package-lock.json generated

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 383 KiB

View File

@@ -56,7 +56,7 @@ const { title, description, image = "/img04.jpg" } = Astro.props
<!-- <ViewTransitions /> --> <!-- <ViewTransitions /> -->
<!-- Yandex.Metrika counter --> <!-- Yandex.Metrika counter -->
<script type="text/javascript" > <script type=type="text/javascript" >
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date(); m[i].l=1*new Date();
for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }} for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
@@ -69,7 +69,7 @@ ym(97908630, "init", {
accurateTrackBounce:true, accurateTrackBounce:true,
webvisor:true webvisor:true
}); });
</script> </scripttype=>
<noscript><div><img src="https://mc.yandex.ru/watch/97908630" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <noscript><div><img src="https://mc.yandex.ru/watch/97908630" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter --> <!-- /Yandex.Metrika counter -->

View File

@@ -18,4 +18,6 @@ tags:
3. Затем монтируйте скачанный образ Windows 11 (щелкните правой кнопкой мыши => Монтировать), затем откройте "Этот компьютер" => "Смонтированный образ" => setup.exe и выполните обновление системы. 3. Затем монтируйте скачанный образ Windows 11 (щелкните правой кнопкой мыши => Монтировать), затем откройте "Этот компьютер" => "Смонтированный образ" => setup.exe и выполните обновление системы.
Ссылки на архивы с драйверами: Ссылки на архивы с драйверами:
https://disk.yandex.ru/d/60Sdbt0BIvQcQg - Драйвер на сетевую карту: https://disk.yandex.ru/d/gvl5SqdGy7ZUiQ
- Драйвер на аудио карту: https://disk.yandex.ru/d/mybkjx8jN7R1IQ
- Драйвер на чипсет: https://disk.yandex.ru/d/Jloa3jtzhkSyAg

View File

@@ -11,7 +11,7 @@ tags:
# Введение # Введение
## Настройка языка ## Настройка языка
Параметры локали (locale) в Linux определяют текущие региональные настройки операционной системы, которые используется в терминале и в графическом интерфейсе (формат даты и времени, поддерживаемые наборы символов/кодировки). В этой статье мы рассмотрим, как получить или изменить текущие настройки локали в Linux на примере Ubuntu и Debian. Параметры локали (locale) в Linux определяют текущие региональные настройки операционной системы, используемые в терминале и в графическом интерфейсе (формат даты и времени, поддерживаемые наборы символов/кодировки). Рассмотрим, как получить или изменить текущие настройки локали в Linux на примере Ubuntu и Debian.
Вывести текущие настройки локали в Ubuntu и Debian можно с помощью команды: Вывести текущие настройки локали в Ubuntu и Debian можно с помощью команды:
@@ -39,12 +39,13 @@ LC_IDENTIFICATION=en_US.UTF-8
LC_ALL= LC_ALL=
``` ```
- **LANG** — текущая системная локаль (`en_US.UTF-8`) - **LANG** — текущая системная локаль (`en_US.UTF-8`)
- **LC_NUMERIC** — формат чисел - **LC_NUMERIC** — формат чисел
- **LC_MONETARY** — валюта и формат денежных величин - **LC_MONETARY** — валюта и формат денежных величин
- **LC_TIME** — формат даты и времени - **LC_TIME** — формат даты и времени
Вывести список доступных локалей на хосте: Чтобы вывести список доступных локалей на хосте:
```sh ```sh
locale -a locale -a
@@ -52,55 +53,45 @@ locale -a
localectl list-locales localectl list-locales
``` ```
Чтобы вывести подробную информацию об установленных в системе локалях: Для детальной информации об установленных локалях:
```sh ```sh
locale -a -v locale -a -v
``` ```
Системная локаль `C.UTF-8` в этом списке присутствует всегда (локаль по-умолчанию). Системная локаль `C.UTF-8` всегда присутствует в списке (локаль по умолчанию).
Получить информацию о переменной окружения, которая определяет формат времени и даты:
Чтобы вывести информацию о переменной окружения для формата времени и даты:
```sh ```sh
locale -k LC_TIME locale -k LC_TIME
``` ```
### Установить русскую local в Ubuntu и Debian ### Установить русскую local в Ubuntu и Debian
Попробуем добавить русскую локаль `ru_RU.UTF-8`. Добавим русскую локаль `ru_RU.UTF-8`.
Список локалей, доступных для установки перечислен в файле: Список локалей, доступных для установки, можно найти в файле `/etc/locale.gen`. Для генерации русской локали выполните:
```sh ```sh
sudo locale-gen ru_RU.UTF-8 sudo locale-gen ru_RU.UTF-8
``` ```
Раскомментируйте строки с необходимой вам локалью в `/etc/locale.gen`. Назначение русской локали по умолчанию:
Теперь сгенерируйте файлы и настройки для выбранной вами локали:
```sh
sudo locale-gen ru_RU.UTF-8
```
Теперь нужно назначить русскую локаль по-умолчанию:
```sh ```sh
sudo update-locale LANG=ru_RU.UTF-8 sudo update-locale LANG=ru_RU.UTF-8
``` ```
или: Или:
```sh ```sh
sudo localectl set-locale LANG=ru_RU.UTF-8 sudo localectl set-locale LANG=ru_RU.UTF-8
``` ```
Эта команда запишет следующую строку в файл `/etc/default/locale`:
Эта команда запишет следующую строку в файл `/etc/default/locale`:
```sh ```sh
LANG=ru_RU.UTF-8 LANG=ru_RU.UTF-8
``` ```
Перезагрузите хост Linux, чтобы применить новые настройки локализации. Перезагрузите хост Linux, чтобы применить изменения.
Если вы зададите локаль, которая не была сгенерирована, команда `locale` выведет ошибки:
Если вы зададите локаль, которая не сгенерировала, команда locale выведет ошибки:
```sh
locale
```
```sh ```sh
locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory
@@ -108,48 +99,39 @@ locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=fr_FR.utf8 LANG=fr_FR.utf8
``` ```
Можно задать отдельную локаль для различных региональных настроек Linux, например: Можно задать разные локали для различных региональных настроек:
```sh ```sh
sudo update-locale LC_NUMERIC=en_US.UTF-8 LC_TIME=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 sudo update-locale LC_NUMERIC=en_US.UTF-8 LC_TIME=en_US.UTF-8 LC_MONETARY=en_US.UTF-8
``` ```
В некоторых случаях нужно сначала установить необходимую локаль: В некоторых случаях необходимо сначала установить нужную локаль:
```sh ```sh
sudo apt-get install language-pack-fr sudo apt-get install language-pack-fr
``` ```
Если локаль в Linux не задана, и команда locale -a возвращает всего три записи: Если локаль не задана, и команда `locale -a` возвращает только три записи:
```sh ```sh
C C
C.UTF-8 C.UTF-8
POSIX POSIX
``` ```
Нужно сгенерировать новую локаль:$ Сгенерируйте новую локаль и примените изменения:
```sh ```sh
sudo locale-gen ru_RU.UTF-8 sudo locale-gen ru_RU.UTF-8
```
Применить новую локаль:
```sh
sudo update-locale LANG=ru_RU.UTF-8 sudo update-locale LANG=ru_RU.UTF-8
``` ```
Перезагрузите систему или откройте новое окно терминала. Новые пользователи будут использовать локаль, указанную в файле `/etc/default/locale`.
Перезагрузите хост или откройте новое окно терминала. Для изменения локали конкретного пользователя, отредактируйте файл `.bashrc` в его домашнем каталоге:
Новые пользователи по-умолчанию используют настройки локали, указанные в файле `/etc/default/locale`.
Если нужно изменить локаль для определенного пользователя, отредактируйте файл `.bashrc` в его домашнем каталоге:
```sh ```sh
nano .bashrc nano .bashrc
``` ```
### Нерутовый юзер ### Создание нерутового пользователя
Первым делом нужно завести для себя нерутового юзера. Дело в том, что у пользователя root абсолютные привилегии в системе, а если разрешить ему удалённое администрирование, то вы сделаете половину работы для хакера, оставив для него валидный username. Создание нерутового пользователя — важная мера безопасности. Для этого используйте команды:
Поэтому нужно завести другого юзера, а для рута отключить удалённое администрирование по SSH.
Новый пользователь заводится командой `useradd`:
```sh ```sh
useradd [options] <username> useradd [options] <username>
``` ```
@@ -157,38 +139,23 @@ useradd [options] <username>
```sh ```sh
passwd <username> passwd <username>
``` ```
Наконец, этого пользователя нужно добавить в группу, которая имеет право выполнять команды с повышением привилегий `sudo`. В зависимости от дитрибутива Linux, это могут быть разные группы. Например, в CentOS и Red Hat юзера добавляют в группу `wheel`: Наконец, этого пользователя нужно добавить в группу, которая имеет право выполнять команды с повышением привилегий `sudo`.
```sh
usermod -aG wheel <username>
```
В Ubuntu он добавляется в группу `sudo`:
```sh ```sh
usermod -aG sudo <username> usermod -aG sudo <username>
``` ```
### Ключи вместо паролей SSH ### Ключи вместо паролей SSH
Брутфорс или утечка паролей — стандартный вектор атаки, так что аутентификацию по паролям в SSH (Secure Shell) лучше отключить, а вместо неё использовать аутентификацию по ключам. Рекомендуется отключить аутентификацию по паролям в SSH и использовать ключи. Сначала установите OpenSSH:
```sh
sudo apt install openssh-client openssh-server
```
Есть разные программы для реализации протокола SSH, самой популярной является OpenSSH. Установка клиента OpenSSH на Ubuntu:
```sh
sudo apt install openssh-client
```
Установка на сервере:
```sh
sudo apt install openssh-server
```
Запуск демона SSH (sshd) на сервере под Ubuntu: Запуск демона SSH (sshd) на сервере под Ubuntu:
```sh ```sh
sudo systemctl start sshd sudo systemctl start sshd
``` # Автоматический запуск демона при каждой загрузке:
Автоматический запуск демона при каждой загрузке:
```sh
sudo systemctl enable sshd sudo systemctl enable sshd
``` ```
Нужно заметить, что серверная часть OpenSSH включает в себя клиентскую. То есть через openssh-server можно подключаться к другим серверам. Более того, со своей клиентской машины вы можете запустить SSH-туннель с удалённого сервера на сторонний хост, и тогда сторонний хост будет считать удалённый сервер источником запросов. Очень удобная функция для маскировки своей системы. Итак, нужно сгенерировать ключи SSH на компьютере, с которого вы будете заходить на сервер:
На клиентской машине обычно нет смысла ставить полноценный сервер, чтобы не допускать возможность удалённого подключения к компьютеру (в целях безопасности).
Итак, для своего нового юзера сначала нужно сгенерировать ключи SSH на компьютере, с которого вы будете заходить на сервер:
```sh ```sh
ssh-keygen -t rsa -b 4096 ssh-keygen -t rsa -b 4096
``` ```
@@ -196,57 +163,18 @@ ssh-keygen -t rsa -b 4096
```sh ```sh
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP username@hostname ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP username@hostname
``` ```
Затем из-под рута создать на сервере директорию SSH в домашнем каталоге пользователя и добавить публичный ключ SSH в файл `authorized_keys`, используя текстовый редактор вроде Vim: Публичный ключ добавляется на сервер:
```sh ```sh
mkdir -p /home/user_name/.ssh && touch /home/user_name/.ssh/authorized_keys mkdir -p /home/<username>/.ssh && touch /home/<username>/.ssh/authorized_keys
# vim /home/<username>/.ssh/authorized_keys
vim /home/user_name/.ssh/authorized_keys chmod 700 /home/<username>/.ssh && chmod 600 /home/<username>/.ssh/authorized_keys
chown -R <username>:<username> /home/<username>/.ssh
``` ```
Наконец, установить корректные разрешения для файла: Затем настройте файл конфигурации SSH **/etc/ssh/sshd_config** :
```sh
chmod 700 /home/user_name/.ssh && chmod 600 /home/user_name/.ssh/authorized_keys
```
и изменить владение на этого юзера:
```sh
chown -R username:username /home/username/.ssh
```
На стороне клиента нужно указать местоположение секретного ключа для аутентификации:
```sh
ssh-add DIR_PATH/keylocation
```
Для MacOS команда будет немного другая:
```sh
ssh-add --apple-use-keychain ~/.ssh/id_key
```
Теперь можно залогиниться на сервер под именем юзера по этому ключу:
```sh
ssh [username]@hostname
```
После авторизации можно использовать команду scp для копирования файлов, утилиту sshfs, winscp, fileZilla для удалённого примонтирования файловой системы или директорий.
Желательно сделать несколько резервных копий приватного ключа, потому что если отключить аутентификацию по паролю и потерять его, то у вас не останется вообще никакой возможности зайти на собственный сервер.
Как упоминалось выше, в SSH нужно отключить аутентификацию для рута (по этой причине мы и заводили нового юзера).
На CentOS/Red Hat находим строку **PermitRootLogin yes** в конфигурационном файле **/etc/ssh/sshd_config** и изменяем её:
```sh ```sh
PermitRootLogin no PermitRootLogin no
```
На Ubuntu добавляем строку **PermitRootLogin no** в конфигурационный файл **10-my-sshd-settings.conf**:
```sh
sudo echo "PermitRootLogin no" >> /etc/ssh/sshd_config.d/10-my-sshd-settings.conf
```
После проверки, что новый юзер проходит аутентификацию по своему ключу, можно отключить аутентификацию по паролю, чтобы исключить риск его утечки или брутфорса. Теперь для доступа на сервер злоумышленнику необходимо будет достать приватный ключ.
На CentOS/Red Hat находим строку **PasswordAuthentication yes** в конфигурационном файле **/etc/ssh/sshd_config** и изменяем её следующим образом:
```sh
PasswordAuthentication no PasswordAuthentication no
``` ```
На Ubuntu добавляем строку **PasswordAuthentication no** в файл **10-my-sshd-settings.conf**:
```sh
sudo echo "PasswordAuthentication no" >> /etc/ssh/sshd_config.d/10-my-sshd-settings.conf
```
### SSH на клиенте Windows ### SSH на клиенте Windows
SSH Agent может хранить закрытые ключи и предоставлять их в контексте безопасности текущего пользователя. Запустите службу ssh-agent и настройте автоматический запуск с помощью PowerShell команд управления службами: SSH Agent может хранить закрытые ключи и предоставлять их в контексте безопасности текущего пользователя. Запустите службу ssh-agent и настройте автоматический запуск с помощью PowerShell команд управления службами:
```powershell ```powershell
@@ -259,85 +187,44 @@ ssh-add "C:\Users\user\.ssh\id_key_ssh"
# или так # или так
ssh-add.exe $ENV:UserProfile\.ssh\id_key_ssh ssh-add.exe $ENV:UserProfile\.ssh\id_key_ssh
``` ```
### Настройки Firewall
### Файрвол (Firewall) #### Установка и настройка Firewalld
Файрвол гарантирует, что на сервер пойдёт только тот трафик по тем портам, которые вы напрямую разрешили. Это защищает от эксплуатации портов, которые случайно включились с другими сервисами, то есть сильно уменьшает поверхность атаки. Чтобы ограничить доступ на сервер, можно использовать Firewalld. Установка:
Перед установкой файрвола нужно убедиться, что SSH внесён в список исключений и не будет блокироваться. Иначе после запуска файрвола мы не сможем подключиться к серверу.
С дистрибутивом firewalld.
На ubuntu/debian внаяален нужно установить firewalld:
```sh ```sh
sudo apt install firewalld sudo apt install firewalld
``` ```
используем команду firewall-cmd: Добавляем SSH в исключения:
```sh ```sh
sudo firewall-cmd --zone=public --add-service=ssh --permanent sudo firewall-cmd --zone=public --add-service=ssh --permanent
``` ```
После этой процедуры можно запустить файрвол.
Запускаем сервис systemd для firewalld: Запускаем сервис systemd для firewalld:
```sh ```sh
sudo systemctl start firewalld sudo systemctl start firewalld
sudo systemctl enable firewalld sudo systemctl enable firewalld
``` ```
### Fail2Ban ### Настройки Fail2Ban
Сервис Fail2Ban анализирует логи на сервере и подсчитывает количество попыток доступа с каждого IP-адреса. В настройках указаны правила, сколько попыток доступа разрешено за определённый интервал — после чего данный IP-адрес блокируется на заданный отрезок времени. Например, разрешаем 5 неудачных попыток аутентификации по SSH в промежуток 2 часа, после чего блокируем данный IP-адрес на 12 часов. Fail2Ban помогает предотвратить атаки перебором, блокируя IP-адреса после нескольких неудачных попыток авторизации.
#### Установка Fail2Ban
Установка Fail2Ban на CentOS и Red Hat: Для установки на Ubuntu и Debian выполните:
```sh
sudo yum install fail2ban
```
Установка на Ubuntu и Debian:
```sh ```sh
sudo apt install fail2ban sudo apt install fail2ban
``` ```
Запуск: Запуск сервиса:
```sh ```sh
systemctl start fail2ban systemctl start fail2ban
systemctl enable fail2ban systemctl enable fail2ban
``` ```
В программе два конфигурационных файла: `/etc/fail2ban/fail2ban.conf` и `/etc/fail2ban/jail.conf`. Ограничения для бана указываются во втором файле. Настройки находятся в файлах `/etc/fail2ban/fail2ban.conf` и `/etc/fail2ban/jail.conf`.
### Автоматические обновления безопасности
Джейл для SSH включён по умолчанию с дефолтными настройками (5 попыток, интервал 10 минут, бан на 10 минут). В Ubuntu автоматические обновления включены по умолчанию.
```conf ### Смена порта SSH
[DEFAULT] Изменение порта SSH — мера обфускации:
ignorecommand =
bantime = 10m
findtime = 10m
maxretry = 5
```
Кроме SSH, Fail2Ban может защищать и другие сервисы на веб-сервере nginx или Apache.
Автоматические обновления безопасности
Как известно, во всех программах постоянно находят новые уязвимости. После публикации информации эксплоиты добавляются в популярные эксплоит-паки, которые массово используются хакерами и подростками при сканировании всех серверов подряд. Поэтому очень важно устанавливать обновления безопасности как только они появляются.
На сервере Ubuntu в конфигурации по умолчанию включены автоматические обновления безопасности, так что дополнительных действий не требуется.
На CentOS/Red Hat нужно установить приложение dnf-automatic и включить таймер:
```sh ```sh
sudo dnf upgrade Port <custom_port>
sudo dnf install dnf-automatic -y
sudo systemctl enable --now dnf-automatic.timer
``` ```
Проверка таймера:
```sh
sudo systemctl status dnf-automatic.timer
```
### Смена портов по умолчанию
SH был разработан в 1995 году для замены `telnet` (порт 23) и `ftp` (порт 21), поэтому автор программы Тату Илтонен выбрал порт 22 по умолчанию, и его утвердили в IANA. Указывайте порт с параметром `-p` для SSH и `-P` для SFTP и SCP.
### Заключение
Естественно, все злоумышленники в курсе, на каком порту работает SSH — и сканируют его вместе с остальными стандартными портами, чтобы узнать версию программного обеспечения, для проверки стандартных паролей рута и так далее. Все эти шаги позволяют значительно повысить безопасность Linux-сервера.
Смена стандартных портов — обфускация — в несколько раз сокращает объём мусорного трафика, размер логов и нагрузку на сервер, а также сокращает поверхность атаки. Хотя некоторые критикуют такой метод «защиты через неясность» (security through obscurity). Причина в том, что эта техника противопоставляется фундаментальной архитектурной защите. Поэтому, например, Национальный институт стандартов и технологий США в «Руководстве по безопасности сервера» указывает необходимость открытой серверной архитектуры: «Безопасность системы не должна полагаться на скрытность реализации её компонентов», — сказано в документе.
Теоретически, смена портов по умолчанию противоречит практике открытой архитектуры. Но на практике объём вредоносного трафика действительно сокращается, так что это простая и эффективная мера.
Номер порта можно настроить, изменив директиву Port 22 в файле конфигурации `/etc/ssh/sshd_config`. Он также указывается параметром -p <port> в sshd. Клиент SSH и программы sftp тоже поддерживают параметр -p <port>.
Параметр -p <port> можно использовать для указания номера порта при подключении с помощью команды ssh в Linux. В sftp и scp используется параметр -P <port> (заглавная P). Указание из командной строки переопределяет любое значение в файлах конфигурации.
Если серверов много, почти все эти действия по защите Linux-сервера можно автоматизировать в скрипте. Но если сервер только один, то лучше вручную контролировать процесс.

View File

@@ -1,6 +1,6 @@
--- ---
title: 'Graylog' title: 'Перевод изображения в текст с использованием Python'
summary: 'Краткое руководство по установки Graylog' summary: 'Это краткое руководство предоставит вам пошаговые инструкции по установке необходимых библиотек для преобразования изображений в текст с помощью Python. Мы рассмотрим использование таких инструментов, как TensorFlow, Pytesseract и OpenCV-Python для достижения высококачественных результатов. Эта статья подойдет как новичкам, так и опытным разработчикам, желающим освоить технологии обработки изображений и оптического распознавания текста (OCR).'
date: '10 05 2024' date: '10 05 2024'
draft: false draft: false
tags: tags:

View File

@@ -1,7 +1,7 @@
--- ---
title: 'Django сервер и JS приложения' title: 'Django сервер и JS приложения'
summary: 'В этой статье описан полный цыкл стать от настройки ВМ устновки серверных приложений и их настроек' summary: 'В этой статье описан полный цыкл стать от настройки ВМ устновки серверных приложений и их настроек'
date: 'nov 18 2024' date: '11 18 2024'
draft: false draft: false
tags: tags:
- Python - Python