Безопасность HTTPS достигается за счет шифрования данных с помощью протоколов SSL/TLS, что защищает их от перехвата и изменений. Также используется проверка подлинности серверов через цифровые сертификаты, гарантируя, что пользователь взаимодействует с легитимным сайтом.
После установления соединения данные шифруются симметричным шифром, который использует общий секретный ключ. Это обеспечивает конфиденциальность передаваемых данных. Для установки симметричного ключа используется асимметричное шифрование, что позволяет безопасно обмениваться ключами даже по незащищённому каналу.
Сервер использует цифровой сертификат, выданный доверенным центром сертификации (CA), чтобы подтвердить свою подлинность. Клиент проверяет сертификат и удостоверяется, что общение происходит с настоящим сервером, а не с атакующим.
Используются для обеспечения целостности передаваемых данных. Это предотвращает их изменение или повреждение во время передачи.
HTTPS защищает от различных видов атак, таких как перехват данных (man-in-the-middle attack) и повторные атаки (replay attacks), благодаря шифрованию и аутентификации.
Клиент (веб-браузер) отправляет запрос на сервер с намерением установить защищённое соединение.
Сервер отправляет клиенту свой цифровой сертификат, который включает открытый ключ и информацию о сервере, подписанную центром сертификации (CA).
Клиент проверяет сертификат, удостоверяясь, что он был выдан доверенным CA и что сертификат не просрочен или не отозван.
Клиент генерирует симметричный ключ для сеанса и шифрует его с использованием открытого ключа сервера. Затем клиент отправляет зашифрованный ключ серверу.
Сервер расшифровывает симметричный ключ с помощью своего закрытого ключа. Теперь оба участника (клиент и сервер) имеют общий секретный ключ и могут начинать защищённую передачу данных.
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥1
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19
Inode могут закончиться на файловых системах, где общее количество inode фиксировано при создании файловой системы. Это ограничение обычно встречается в традиционных файловых системах типа ext2, ext3, ext4 и других файловых системах, использующих фиксированное количество inode, определенное при инициализации файловой системы.
Когда файловая система создается (например, с помощью команды
mkfs
), задается определенное количество inode. Это число определяется на основе размера раздела и коэффициента inode (обычно 1 inode на каждые несколько килобайт дискового пространства). После создания файловой системы количество inode не может быть изменено без переразметки файловой системы, что приведет к потере данных.Cоздания файловой системы с указанием количества inode
Здесь
-i 8192
указывает, что один inode создается на каждые 8192 байта пространства. mkfs.ext4 -i 8192 /dev/sdX1
Исчерпание inode может произойти на файловой системе с большим количеством небольших файлов. Например, если у вас есть много маленьких файлов (например, миллионы мелких логов или временных файлов), inode могут закончиться, даже если еще есть свободное место на диске.
Вы можете проверить количество используемых и доступных inode с помощью команды
df -i
:df -i
Вывод будет примерно таким:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 1000000 500000 500000 50% /
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знанийм
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🤔1
В Dockerfile можно указать как
ENTRYPOINT
, так и CMD
. Они оба определяют, какая команда будет выполнена при запуске контейнера, но имеют разные цели и взаимодействие между собой. Устанавливает основную команду и аргументы, которые не могут быть переопределены во время запуска контейнера с помощью
docker run
, за исключением явного использования опции --entrypoint
.Устанавливает команду и аргументы по умолчанию для запуска контейнера. Эти параметры могут быть переопределены при запуске контейнера, если передать другие аргументы в
docker run
.Когда в Dockerfile указаны оба,
ENTRYPOINT
и CMD
, они работают совместно. CMD
предоставляет аргументы по умолчанию для команды, указанной в ENTRYPOINT
. Таким образом, CMD
будет использоваться в качестве аргументов для ENTRYPOINT
, если при запуске контейнера не указаны другие аргументы.FROM ubuntu:latest
ENTRYPOINT ["echo"]
CMD ["Hello, World!"]
ENTRYPOINT
используется для фиксированной команды, которую контейнер должен всегда выполнять, а CMD
для указания аргументов по умолчанию.CMD
используется для задания аргументов по умолчанию для команды, указанной в ENTRYPOINT
.ENTRYPOINT
, то команда и аргументы из ENTRYPOINT
будут выполнены при запуске контейнера.CMD
, то команда и аргументы из CMD
будут выполнены при запуске контейнера.ENTRYPOINT
будет выполнена с аргументами из CMD
по умолчанию. Если при запуске контейнера указать дополнительные аргументы, они заменят аргументы из CMD
.FROM python:3.9
ENTRYPOINT ["python", "-m"]
CMD ["http.server"]
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤5
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🤔2
Unix и Linux — это две операционные системы, которые часто сравнивают из-за их схожести и общего происхождения. Однако у них есть значительные различия, касающиеся их истории, лицензирования, архитектуры и использования.
Unix: Большинство версий Unix являются коммерческими и проприетарными. Для их использования требуется лицензия. Некоторые версии, такие как BSD (Berkeley Software Distribution), являются открытыми и лицензируются по лицензии BSD.
Linux: Распространяется по лицензии GNU General Public License (GPL), что означает, что он бесплатен и открыт для использования, модификации и распространения. Исходный код доступен всем, что позволяет пользователям вносить изменения и улучшения.
Unix: Часто имеют монолитное ядро, где основные системные службы интегрированы в одно ядро. Обеспечивает многозадачность, многопользовательский режим и защищенную память. Включает стандартные утилиты и шеллы, такие как Bourne Shell (sh).
Linux: Также имеет монолитное ядро, но с модульной архитектурой, что позволяет загружать и выгружать модули в ядро без перезагрузки системы. Включает широкий набор утилит и инструментов GNU, таких как Bash (Bourne Again Shell).
Unix: Следуют стандартам POSIX (Portable Operating System Interface), что обеспечивает совместимость между различными версиями Unix. Существует несколько проприетарных версий Unix.
Linux: Также совместим с POSIX, что обеспечивает высокую степень совместимости с Unix-системами. Существует множество дистрибутивов Linux (Debian, Ubuntu, CentOS, Fedora и т.д.), каждый из которых имеет свои особенности и наборы пакетов, но все они основаны на общем ядре Linux.
Unix: Используется в крупных корпоративных и научных средах. Часто применяется в критически важных системах благодаря своей надежности и стабильности.
Linux: Широко используется в серверах, суперкомпьютерах, встраиваемых системах, настольных ПК и мобильных устройствах (например, Android). Популярен среди разработчиков и энтузиастов благодаря своей открытости, гибкости и сообществу.
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤1
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥6
Коды ответа (HTTP status codes) от веб-сервера представляют собой числовые коды, которые отправляются клиенту (обычно веб-браузеру) в ответ на его запрос. Эти коды помогают клиенту понять, что произошло с его запросом: был ли он успешен, произошла ли ошибка, требуется ли дополнительное действие и т.д.
Запрос принят, продолжается обработка.
100 Continue: Сервер получил начальную часть запроса, и клиент должен продолжать.
101 Switching Protocols: Сервер принимает запрос на изменение протокола.
Запрос успешно обработан.
200 OK: Запрос успешно обработан, и сервер возвращает запрошенные данные.
201 Created: Запрос успешно выполнен, и в результате создан новый ресурс.
202 Accepted: Запрос принят для обработки, но обработка еще не завершена.
204 No Content: Запрос успешно выполнен, но сервер не возвращает никакого содержимого.
Для завершения обработки запроса требуется дальнейшее действие со стороны клиента.
301 Moved Permanently: Запрашиваемый ресурс был перемещен на новый постоянный URL.
302 Found: Запрашиваемый ресурс временно доступен по другому URL.
304 Not Modified: Запрашиваемый ресурс не изменился со времени последнего доступа (кэширование).
307 Temporary Redirect: Запрашиваемый ресурс временно доступен по другому URL. Клиент должен использовать исходный метод для нового запроса.
Ошибка в запросе клиента.
400 Bad Request: Сервер не может обработать запрос из-за неверного синтаксиса.
401 Unauthorized: Запрос требует аутентификации.
403 Forbidden: Сервер понял запрос, но отказывается его выполнять.
404 Not Found: Запрашиваемый ресурс не найден на сервере.
405 Method Not Allowed: Метод, указанный в запросе, не разрешен для запрашиваемого ресурса.
409 Conflict: Запрос не может быть выполнен из-за конфликта с текущим состоянием ресурса.
Ошибка на стороне сервера при попытке обработки запроса.
500 Internal Server Error: Общая ошибка сервера. Сервер не может выполнить запрос.
501 Not Implemented: Сервер не поддерживает функциональность, необходимую для выполнения запроса.
502 Bad Gateway: Сервер, действуя как шлюз или прокси, получил неверный ответ от вышестоящего сервера.
503 Service Unavailable: Сервер временно недоступен, обычно из-за перегрузки или технического обслуживания.
504 Gateway Timeout: Сервер, действуя как шлюз или прокси, не дождался ответа от вышестоящего сервера.
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2🔥1
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1😁1
Конфликты зависимостей или поврежденные пакеты.
sudo apt-get install -f
sudo apt-get clean
sudo apt-get update
Нет доступа к интернету или неправильная настройка сети.
ip a
sudo systemctl restart NetworkManager
cat /etc/resolv.conf
Недостаточно прав для выполнения команды или доступа к файлу.
sudo
для выполнения команд с привилегиями суперпользователя. sudo <command>
sudo chmod 755 /path/to/directory
sudo chown user:user /path/to/file
Система не загружается или застревает на экране загрузки.
sudo grub-install /dev/sda
sudo update-grub
sudo fsck /dev/sda1
Недостаточно места на диске для выполнения операций.
df -h
sudo apt-get clean
sudo rm -rf /var/cache/apt/archives/*
Нет доступа к файловой системе NFS.
sudo systemctl status nfs-server
sudo systemctl status nfs-client
sudo systemctl restart nfs-server
sudo systemctl restart nfs-client
Проблемы с установкой пакетов Python из-за конфликтов версий.
Использование виртуальных окружений для изоляции зависимостей.
python3 -m venv myenv
source myenv/bin/activate
pip install <package>
Блокировка доступа к файлам или портам из-за правил SELinux.
sudo ausearch -m avc -ts recent
sudo setenforce 0
Модуль ядра не загружается или вызывает ошибку.
lsmod
sudo modprobe <module>
Неправильные правила фаервола блокируют трафик.
sudo iptables -L
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🤯1
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4
Эти утилиты показывают информацию о системных процессах в реальном времени, включая использование CPU, памяти и дискового ввода-вывода.
top
htop
Показывает список активных процессов.
ps aux
Показывают сетевые соединения, таблицы маршрутизации, интерфейсы и другую сетевую информацию
netstat -tuln
ss -tuln
Показывает открытые файлы и порты.
lsof
lsof -i :80
Показывают информацию о дисковом пространстве.
df
показывает общий объем использования диска, а du
- использование дискового пространства отдельными файлами и директориями. df -h
du -sh /var/log/*
Используются для диагностики сетевых проблем.
ping
проверяет доступность хоста, а traceroute
показывает путь пакетов к хосту. ping google.com
traceroute google.com
Используются для отправки HTTP-запросов и загрузки файлов с веб-серверов. Полезны для проверки доступности веб-сервисов.
curl -I https://www.example.com
wget https://www.example.com/file.zip
Используется для просмотра системных журналов, управляемых systemd.
journalctl -xe
journalctl -u nginx.service
Показывает сообщения ядра. Полезно для диагностики аппаратных и загрузочных проблем.
dmesg | grep error
Трассирует системные вызовы и сигналы. Полезно для диагностики проблем с приложениями.
strace -p <PID>
Анализатор сетевых пакетов. Полезно для диагностики сетевых проблем.
tcpdump -i eth0
vmstat
показывает статистику виртуальной памяти, процессов и CPU. iostat
показывает статистику ввода-вывода на устройстве. vmstat 1
iostat 1
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🤔1
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🤔3🔥2
df
disk freе показывает объем свободного и используемого пространства на файловой системе.
df -h
-h
: Показывает информацию в человекочитаемом формате (например, 1K, 234M, 2G). Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 20G 30G 40% /
tmpfs 1.9G 1.2M 1.9G 1% /dev/shm
du
disk usage показывает использование дискового пространства файлами и директориями. Это полезно для поиска крупных файлов и директорий.
du -sh /var/log/*
-s
: Показывает общий размер каждой аргументированной директории.-h
: Человекочитаемый формат. 12M /var/log/apache2
4.0K /var/log/boot.log
56M /var/log/kern.log
lsblk
Показывает информацию о блочных устройствах, включая диски и их разделы.
lsblk
Вывод команды
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 50G 0 part /
sdb 8:16 0 100G 0 disk
└─sdb1 8:17 0 100G 0 part /mnt/data
ncdu
NCurses Disk Usage — интерактивная командная утилита для анализа дискового пространства.
ncdu /
Вывод команды
--- / ---
. 16.0 GiB [##########] /usr
. 8.0 GiB [##### ] /var
. 4.0 GiB [## ] /home
btrfs filesystem df
Используется для файловых систем Btrfs и показывает использование дискового пространства.
sudo btrfs filesystem df /mnt
Вывод команды
Data, single: total=10.00GiB, used=8.54GiB
System, DUP: total=32.00MiB, used=16.00KiB
Metadata, DUP: total=1.00GiB, used=532.25MiB
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥5❤1
Это может быть связано с тем, что файлы все еще открыты каким-либо процессом. В таких случаях система не освобождает пространство до тех пор, пока процесс не завершится. Вот шаги для диагностики и решения этой проблемы:
Используйте команду
df
для проверки использования дискового пространства.df -h
Проверьте, сколько места занимают файлы в проблемной директории.
du -sh /path/to/directory
Найдите процессы, которые держат открытыми удаленные файлы.
lsof | grep deleted
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
myprocess 1234 user 10r REG 8,1 12345678 567890 /path/to/deleted/file (deleted)
Найдите процесс, держащий файл открытым, по PID (идентификатор процесса) из вывода
lsof
. Завершите процесс, чтобы освободить место на диске. kill -9 <PID>
kill -9 1234
После завершения процесса, повторно проверьте использование дискового пространства.
df -h
Убедитесь, что место в директории освободилось.
du -sh /path/to/directory
Поиск удаленных файлов
lsof | grep deleted
Завершение процесса
kill -9 <PID>
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤2🤯1
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥6
Это команда в Linux, которая используется для изменения размера файла. С ее помощью можно как увеличивать, так и уменьшать размер файла. При уменьшении размера файла данные, находящиеся за новой границей, будут потеряны, а при увеличении — файл будет дополнен нулями.
Если указанный файл не существует, команда
truncate
создаст его с нулевым размером или с заданным размером. При уменьшении размера файла данные, находящиеся за новой границей, будут потеряны.
При увеличении размера файла он будет дополнен нулями до указанного размера.
Синтаксис команды
truncate
truncate [OPTIONS] FILE...
Создание файла размером 1 МБ
truncate -s 1M myfile
Создание файла размером 512 байт
truncate -s 512 myfile
Увеличение файла до 2 ГБ
truncate -s 2G myfile
Уменьшение файла до 100 КБ:
truncate -s 100K myfile
Установка размера файла
myfile
на размер файла referencefile
truncate -r referencefile myfile
Создаст пустой файл с именем
emptyfile
.truncate -s 0 emptyfile
Увеличит размер файла
logfile
на 500 МБ.truncate -s +500M logfile
Уменьшит размер файла
largefile
на 100 КБ.truncate -s -100K largefile
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥3
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥7