Например, при подключении по SSH сначала устанавливается TCP-соединение, затем происходит согласование версий и алгоритмов, после чего выполняется key exchange и аутентификация по ключам.
На картинке — полный процесс: от установления соединения до выполнения команд внутри зашифрованного канала.
Сохрани, чтобы не потерять!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18❤11👍9🤝3
Убиваем залипшие процессы с fuser и kill. Когда Ctrl+C не помогает, а процесс держит порт или файл!
Иногда процесс залипает и не хочет умирать даже после Ctrl+C. Или наоборот — ты не знаешь, что за процесс мешает работать. В таких случаях помогает связка fuser + kill.
Проверим, кто использует порт (например, 8080):
Или файл, занятый каким-то процессом:
Если надо сразу завершить все процессы, держащие ресурс:
Или убить по PID (который вернул fuser):
🔥
🚪 Linux Ready | #практика
Иногда процесс залипает и не хочет умирать даже после Ctrl+C. Или наоборот — ты не знаешь, что за процесс мешает работать. В таких случаях помогает связка fuser + kill.
Проверим, кто использует порт (например, 8080):
fuser -n tcp 8080
Или файл, занятый каким-то процессом:
fuser /var/log/syslog
Если надо сразу завершить все процессы, держащие ресурс:
fuser -k 8080/tcp
Или убить по PID (который вернул fuser):
kill -9 <PID>
🔥
fuser показывает, какие процессы используют файл или порт, а -k завершает их. Аккуратно — можно прибить что-то важное.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍14🤝9❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Пошаговое введение в мир bash-скриптов. От простых команд до циклов, условий и автоматизации задач. Писать скрипты проще, когда есть такой ресурс под рукой.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝10👍9🔥7👎3❤1
В этом посте набор утилит, которые помогают глубоко разбирать сетевые проблемы: смотреть пакеты, искать данные в трафике, анализировать маршруты, проверять сокеты и отслеживать состояния соединений. Подходят для диагностики сетевых сбоев, поиска узких мест и дебага.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17👍9🤝6🔥2
Например, HTTP (80) используется для обычного веб-трафика, SSH (22) — для удалённого доступа к серверу, а DNS (53) — для преобразования доменных имён в IP.
На картинке — базовые и наиболее часто используемые сетевые протоколы с портами и типами транспорта (TCP/UDP).
Сохрани, чтобы не потерять!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤11🔥8
Как передавать файлы между машинами без scp, rsync и настройки SSH?
Когда нет доступа по SSH, сломан scp или нужно быстро скинуть файл между контейнерами, серверами или в изолированной сети — выручает
На принимающей стороне открываешь порт и пишешь всё в файл:
На отправляющей стороне отправляешь данные напрямую в сокет:
Если нужен прогресс передачи:
Важно: без шифрования и аутентификации (использовать в доверенной сети), синтаксис может отличаться (например, BusyBox: nc -l -p 9000).
🔥 Работает даже в минимальных окружениях, контейнерах и
🚪 Linux Ready | #совет
Когда нет доступа по SSH, сломан scp или нужно быстро скинуть файл между контейнерами, серверами или в изолированной сети — выручает
netcat.На принимающей стороне открываешь порт и пишешь всё в файл:
$ nc -l 9000 > output.bin
$ ls -lh output.bin
На отправляющей стороне отправляешь данные напрямую в сокет:
$ nc -N <host> 9000 < input.bin
$ echo done
Если нужен прогресс передачи:
$ pv input.bin | nc -N <host> 9000
или на приёме:
$ nc -l 9000 | pv > output.bin
Важно: без шифрования и аутентификации (использовать в доверенной сети), синтаксис может отличаться (например, BusyBox: nc -l -p 9000).
rescue-системах, где кроме nc почти ничего нет.Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥10🤝7❤1
В статье:
• Даётся цельная картина систем управления доступом в Linux;
• Пошагово разбираются символьная и восьмеричная нотации прав, специальные биты и SELinux-контексты с понятными шпаргалками;
• Собрана база команд и объясняется, как правильно читать и настраивать права без типичных ошибок.🔊 Продолжайте читать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👍8🔥6🤝2
Ищем и убираем дубликаты строк в терминале!
Частая задача: есть файл с логами, списком ID, email-адресами или любыми строками, где встречаются повторы. Нужно быстро привести данные в порядок прямо в консоли.
Базовый инструмент —
Самый простой вариант:
Что здесь происходит:
Если нужны только строки, которые встретились ровно один раз:
Если нужно посчитать, сколько раз встречается каждая строка:
Если нужно сразу увидеть самые частые значения сверху:
Практический пример для логов — топ IP по количеству запросов:
Если нужно записать результат обратно в тот же файл:
Если важно игнорировать регистр:
Это эквивалентно связке с
Важно:
🔥 Такого набора хватает для большинства задач: быстро почистить данные, посмотреть частоты, выявить лишние записи в логах.
🚪 Linux Ready | #практика
Частая задача: есть файл с логами, списком ID, email-адресами или любыми строками, где встречаются повторы. Нужно быстро привести данные в порядок прямо в консоли.
Базовый инструмент —
uniq. Важно понимать: он удаляет только соседние одинаковые строки. Поэтому в большинстве случаев перед ним нужна сортировка.Самый простой вариант:
sort data.txt | uniq
Что здесь происходит:
sort сортирует строки, чтобы одинаковые значения оказались рядом, uniq убирает повторяющиеся соседние строки.Если нужны только строки, которые встретились ровно один раз:
sort data.txt | uniq -u
Если нужно посчитать, сколько раз встречается каждая строка:
sort data.txt | uniq -c
Если нужно сразу увидеть самые частые значения сверху:
sort data.txt | uniq -c | sort -nr
Практический пример для логов — топ IP по количеству запросов:
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head
Если нужно записать результат обратно в тот же файл:
sort -u -o data.txt data.txt
Если важно игнорировать регистр:
sort -fu data.txt
Это эквивалентно связке с
uniq, но короче.Важно:
uniq не ищет все дубликаты по всему файлу — он работает только с соседними строками. Без sort он уберет только те повторы, которые уже идут подряд.Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🤝8❤6
This media is not supported in your browser
VIEW IN TELEGRAM
От базовых понятий и структуры системы до понимания дистрибутивов и принципов работы ОС. Материал построен последовательно и помогает сформировать целостное представление о Linux. Уроки ориентированы на системное понимание: объясняется не только работа команд, но и логика самой системы.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13🔥9🤝8
This media is not supported in your browser
VIEW IN TELEGRAM
Это структурированный конспект по системе: от базовых вещей вроде файловой иерархии, работы с файлами и regex до более управления дисками, LVM и стримов ввода/вывода. Всё собрано в одном месте и разбито по логичным блокам. Открываешь нужный раздел и сразу получаешь информацию.
Оставляю ссылочку: GitHub📱
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🤝9🔥6
Знали, что файл в Linux можно удалить и продолжать в него писать?
В Linux файл — это inode, а имя в файловой системе лишь ссылка на него.
Открываешь файл через файловый дескриптор:
Удаляешь файл из файловой системы:
Файла как бы нет, но дескриптор остаётся открыт.
Продолжаешь писать в уже удалённый файл:
Данные реально записываются, просто файл больше не имеет имени в файловой системе.
Поэтому иногда диск заполнен, но du “ничего не показывает”.
🔥 Это механизм, на котором держится лог-ротация и поведение демонов. Если процесс держит удалённый файл, он продолжает занимать место на диске, пока не закроет дескриптор.
🚪 Linux Ready | #совет
В Linux файл — это inode, а имя в файловой системе лишь ссылка на него.
Открываешь файл через файловый дескриптор:
$ exec 3<>file.txt
$ ls -li file.txt
Удаляешь файл из файловой системы:
$ rm file.txt
$ ls file.txt
Файла как бы нет, но дескриптор остаётся открыт.
Продолжаешь писать в уже удалённый файл:
$ echo "hello" >&3
$ sync
Данные реально записываются, просто файл больше не имеет имени в файловой системе.
Поэтому иногда диск заполнен, но du “ничего не показывает”.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍9❤7🤝4
Например, traceroute показывает маршрут пакетов от компьютера до сервера, а за счёт TTL позволяет определить каждый промежуточный узел (hop) и задержку до него.
На картинке — наглядно разобран принцип работы traceroute: как увеличивается TTL, как роутеры отвечают через ICMP и как по шагам строится маршрут до конечного сервера.
Сохрани, чтобы не потерять!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥8🤝6❤2
Знали, что можно корректно записывать в привилегированные файлы без запуска редактора от root?
Частая ошибка заключается в использовании
tee решает эту проблему, так как сама утилита запускается с правами
Флаг -a обеспечивает корректное добавление в файл без его перезаписи.
Можно применять шаблоны или генерируемые конфигурации напрямую:
При этом сохраняется корректная модель прав доступа, отсутствуют временные файлы и исключаются ошибки, связанные с перенаправлением в shell.
🔥 Этот подход широко используется при автоматизации, конфигурации систем и в CI/CD сценариях.
🚪 Linux Ready | #совет
Частая ошибка заключается в использовании
sudo echo ... > file, что не работает ожидаемым образом, поскольку перенаправление выполняется текущим shell без привилегий.tee решает эту проблему, так как сама утилита запускается с правами
sudo и выполняет запись:$ echo "option=1" | sudo tee /etc/app.conf
$ echo "option=2" | sudo tee -a /etc/app.conf
Флаг -a обеспечивает корректное добавление в файл без его перезаписи.
Можно применять шаблоны или генерируемые конфигурации напрямую:
$ generate_config | sudo tee /etc/app.conf
$ sudo tee /etc/app.conf < config.new
При этом сохраняется корректная модель прав доступа, отсутствуют временные файлы и исключаются ошибки, связанные с перенаправлением в shell.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤8🔥7
This media is not supported in your browser
VIEW IN TELEGRAM
Этот репозиторий добавляет в bash автодополнение, полезные алиасы, плагины и готовые команды, которые сильно упрощают работу в терминале. Особенно полезно, когда постоянно работаешь с git, docker, ssh, системными утилитами и сервером.
Оставляю ссылочку: GitHub📱
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝14❤7👍6🔥2
Совет на 2027 год — переходите в ML.
Пока обычные разрабы конкурируют с ИИ-копилотами, ML-инженеры эти самые нейронки создают.
В эпоху нейростей это самые востребованые люди в мире программирования. Зарплаты мидлов начинаются от 250 000 ₽, а у сеньоров в BigTech доходят до 700 000 ₽.
А чтобы освоить его всего за 4 месяца без лишней суеты — изучите канал Марка Миргалеева.
Он помог 20+ ученикам найти работу от 250к в ML/NLP/AI-агентах
На канале вы найдёте:
— Всё про самые востребованные стеки(Python, ИИ-агенты, NLP) и почему математика — это не страшно, если учить только нужное.
— Как оформить резюме, чтобы оно пролетало через любые LLM-фильтры и ATS-системы прямо к тимлидам.
— Скрипты переговоров, которые помогли его ученикам прыгнуть с 0 до 360к всего за 8 месяцев.
Во времена острой нехватки ML-разработчиков, это лучшее время, чтобы перекатиться. Переходи и изучай: https://t.me/+TwxQ8W6MF6hhY2My
Пока обычные разрабы конкурируют с ИИ-копилотами, ML-инженеры эти самые нейронки создают.
В эпоху нейростей это самые востребованые люди в мире программирования. Зарплаты мидлов начинаются от 250 000 ₽, а у сеньоров в BigTech доходят до 700 000 ₽.
А чтобы освоить его всего за 4 месяца без лишней суеты — изучите канал Марка Миргалеева.
Он помог 20+ ученикам найти работу от 250к в ML/NLP/AI-агентах
На канале вы найдёте:
— Всё про самые востребованные стеки(Python, ИИ-агенты, NLP) и почему математика — это не страшно, если учить только нужное.
— Как оформить резюме, чтобы оно пролетало через любые LLM-фильтры и ATS-системы прямо к тимлидам.
— Скрипты переговоров, которые помогли его ученикам прыгнуть с 0 до 360к всего за 8 месяцев.
Во времена острой нехватки ML-разработчиков, это лучшее время, чтобы перекатиться. Переходи и изучай: https://t.me/+TwxQ8W6MF6hhY2My
👎6😁1
Смотрим, какие capability выданы бинарнику!
Иногда программа запускается без root, но всё равно умеет открывать
Посмотреть
Часто увидишь что-то вроде:
Это значит, что бинарник может работать с
Проверить
Так можно быстро найти потенциально опасные или нестандартные разрешения.
Выдать
Теперь приложение сможет слушать порты ниже 1024 без root.
Например, запускать HTTP сервер сразу на 80:
Удалить
Посмотреть
🔥 Linux
🚪 Linux Ready | #практика
Иногда программа запускается без root, но всё равно умеет открывать
raw sockets, bind low ports или менять network stack. Обычно причина заключается в Linux capabilities.Посмотреть
capability бинарника:getcap /usr/bin/ping
Часто увидишь что-то вроде:
cap_net_raw=ep
Это значит, что бинарник может работать с
raw sockets без полного root-доступа.Проверить
capabilities всех бинарников в системе:sudo getcap -r / 2>/dev/null
Так можно быстро найти потенциально опасные или нестандартные разрешения.
Выдать
capability бинарнику:sudo setcap cap_net_bind_service=+ep ./app
Теперь приложение сможет слушать порты ниже 1024 без root.
Например, запускать HTTP сервер сразу на 80:
./app
Удалить
capability:sudo setcap -r ./app
Посмотреть
capabilities процесса:grep Cap /proc/1234/status
capabilities позволяют выдавать процессам точечные привилегии без полного root-доступа.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍8🤝6
Например, Forward Proxy скрывает клиента и помогает обходить ограничения, а Reverse Proxy принимает запросы от пользователей и распределяет их между серверами.
На картинке — наглядное сравнение Forward Proxy и Reverse Proxy: где они располагаются, как работают и для каких задач используются.
Сохрани, чтобы не потерять!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤7🔥6