LinuxSkill - Сводки с прода и Шпаргалки
Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам. Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале. 📩 По всем вопросам: @chorapov Зеркало в MAX: https://max.ru/LinuxSkill РКН https://vk.cc/cMUwm4
Ko'proq ko'rsatish📈 Telegram kanali LinuxSkill - Сводки с прода и Шпаргалки analitikasi
LinuxSkill - Сводки с прода и Шпаргалки (@linuxskill) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 10 942 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 11 395-o'rinni va Rossiya mintaqasida 59 938-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 10 942 obunachiga ega bo‘ldi.
14 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -65 ga, so‘nggi 24 soatda esa -1 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 16.52% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 5.95% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 1 808 marta ko‘riladi; birinchi sutkada odatda 651 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 9 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent docker, linux, bash, devops, скрипт kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам.
Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале.
📩 По всем вопросам: @chorapov
Зеркало в MAX: https://max.ru/LinuxSkill
РКН https://vk.cc/cMUwm4”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 15 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
arping — он покажет MAC-адреса всех устройств с одинаковым ip!
Проверяем ip:
sudo arping -I wlan2 -c 4 192.168.1.91
Всё в порядке (один MAC):
42 bytes from 9c:ef:d5:fe:01:7c (192.168.1.91): index=0
42 bytes from 9c:ef:d5:fe:01:7c (192.168.1.91): index=1
Конфликт обнаружен (разные MAC):
42 bytes from 9c:ef:d5:fe:01:7c (192.168.1.91): index=0
42 bytes from 2F:EF:D5:FE:8F:20 (192.168.1.91): index=1
Два разных MAC-адреса = два устройства с одним ip!
💡 Почему arping лучше ping?
- ping использует ICMP (часто блокируется)
- arping работает через ARP (нельзя заблокировать)
- Показывает реальные MAC-адреса
🚀 Бонус — сканируем всю сеть:
nmap -sn 192.168.43.0/24 | grep 'Nmap scan report' | cut -d' ' -f5,6
🔧 ARP в реальном времени:
sudo tcpdump -pi eth1 arp
Теперь ты знаешь, как поймать нарушителя! Конфликты чаще возникают при ручной настройке ip — используй DHCP.
____________________
Дополнительный материал:
🧠 - Linux Systemd: Искусство мониторинга служб
🧠 - Linux Systemd: Мастер-класс по управлению службами
🧠 - Linux Systemd: Как стать магистром служб
#q_a #network #arp #arping #Linux #troubleshooting #QandAserver {
listen 80 default_server;
server_name _;
return 404;
}
С HTTP всё просто. А вот с HTTPS начинаются танцы с бубном...
🔧 Проблема HTTPS:
Без сертификата Nginx использует сертификат первого виртуального хоста. Пользователь видит:
- Предупреждение о несоответствии домена
- Реальное имя твоего сайта в сертификате 😱
💭 Старое решение — сертификат-пустышка:
# Генерируем самоподписанный сертификат
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
-keyout /etc/nginx/certs/nginx.key \
-out /etc/nginx/certs/nginx.crt
server {
listen 443 ssl default_server;
server_name _;
ssl_certificate /etc/nginx/certs/nginx.crt;
ssl_certificate_key /etc/nginx/certs/nginx.key;
return 404;
}
Домены скрыты, но предупреждение о сертификате остаётся...
🚀 Новое решение — ssl_reject_handshake:
server {
listen 80 default_server;
listen 443 ssl default_server;
server_name _;
ssl_reject_handshake on;
return 404;
}
💡 Что происходит:
ssl_reject_handshake on отклоняет SSL-соединение на уровне handshake, если запрос не соответствует server_name. Результат:
- Никаких предупреждений о сертификатах
- Мгновенная ошибка соединения
- Полная анонимность виртуальных хостов
Теперь любопытные не узнают, какие сайты крутятся на твоём сервере!
____________________
Дополнительный материал:
🧠 - Linux для продвинутых: Как проверить, использует ли ваша система systemd?
🧠 - Linux Deep Dive: PID 1 и его детище - systemd
🧠 - Linux Command Mastery: Управление службами с помощью systemd
#Linux_Mastery #nginx #webserver #security #ssl #DevOps #angiesystemd-analyze в действии
03:55 — Находим самые медленные службы
04:50 — Оптимизация монтирования разделов
06:47 — Отключаем ненужные службы
08:45 — Решаем проблему с ядром и swap
12:38 — Обновление системы
14:37 — Работа с NTFS разделами
18:31 — Результаты: с 37 до 6 секунд!
21:28 — Графический анализ загрузки
Смотри видео и ускоряй свою систему прямо сейчас!
🌐 Источник: https://youtu.be/sLZ8kYfp2lQ
#Linux_youtube #systemd #optimization #boot #Linux #performance #video# mkdir /mnt/nfs
# chown nobody:nogroup /mnt/nfs
# apt install nfs-kernel-server
Настройка экспорта:
# nano /etc/exports
# Для одного IP:
/mnt/nfs 10.20.1.56(rw,all_squash,no_subtree_check,crossmnt)
# Для подсети:
/mnt/nfs 10.20.1.56/24(rw,all_squash,no_subtree_check,crossmnt)
# Для нескольких IP:
/mnt/nfs 10.20.1.56(rw,all_squash,no_subtree_check,crossmnt)
/mnt/nfs 10.20.1.52(rw,all_squash,no_subtree_check,crossmnt)
Запуск:
# systemctl restart nfs-server
💻 На клиенте:
# apt install nfs-common
# Проверка доступности:
# showmount -e 10.20.1.36
# Монтирование:
# mkdir /mnt/nfs
# mount 10.20.1.36:/mnt/nfs /mnt/nfs
# Проверка версии (должна быть v4):
# mount -t nfs4
🚀 Автомонтирование:
# echo "10.20.1.36:/mnt/nfs /mnt/nfs nfs4 defaults 0 0" >> /etc/fstab
💡 Порт 2049/tcp должен быть открыт!
Теперь копирование файлов летает! По скорости: NFS > HTTP > SMB > SSH > SCP.
____________________
Дополнительный материал:
🧠 - Временная спираль Linux: От SysV к Systemd
🧠 - GRUB Rescue Mission: Как восстановить систему из grub rescue>
🧠 - Systemd для начинающих: Первые шаги к мастерству в Linux
#Linux_Mastery #nfs #network #storage #Linux #performance #filesharing# mkdir ~/tls && cd ~/tls
# openssl ecparam -out myCA.key -name prime256v1 -genkey
# openssl req -x509 -new -nodes -key myCA.key -sha256 -days 9999 -out myCA.crt
📝 Генерируем сертификат для сервера:
# openssl genrsa -out zabbix.internal.key 2048
# openssl req -new -key zabbix.internal.key -out zabbix.internal.csr
⚙️ Конфиг с альтернативными именами:
# mcedit zabbix.internal.ext
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
IP.1 = 172.30.245.222
DNS.1 = zabbix.internal
🚀 Подписываем сертификат:
# openssl x509 -req -in zabbix.internal.csr -CA myCA.crt -CAkey myCA.key \
-CAcreateserial -out zabbix.internal.crt -days 9999 -sha256 -extfile zabbix.internal.ext
🔧 Настройка Nginx:
# mkdir /etc/nginx/certs
# cp zabbix.internal.crt /etc/nginx/certs/.
# cp zabbix.internal.key /etc/nginx/certs/.
# openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
listen 443 http2 ssl;
server_name zabbix.internal 172.30.245.222;
ssl_certificate /etc/nginx/certs/zabbix.internal.crt;
ssl_certificate_key /etc/nginx/certs/zabbix.internal.key;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
💡 Финальный штрих:
Добавь myCA.crt в доверенные корневые сертификаты на клиенте. Всё! Зелёный замок на 27 лет!
____________________
Дополнительный материал:
🧠 - Настройка Ctrl+Alt+Delete в Linux: Перезагрузка или Выключение?
🧠 - GRUB's Got Talent": За кулисами самотестирования компьютера
🧠 - Linux на ночь: Как уложить систему спать с помощью systemctl
#Linux_Mastery #ssl #nginx #https #certificates #Linux #security# Включи Bluetooth на телефоне и запусти
hcitool scan
2. Создай скрипт автоблокировки:
#!/bin/bash
# MAC-адрес твоего телефона
DEVICE="AA:BB:CC:DD:EE:FF"
# Имя устройства из hcitool scan
DEV_NAME="My Phone"
# Интервал проверки (сек)
INTERVAL=5
# PID xscreensaver
XSS_PID=
# Запускаем xscreensaver, если не запущен
pgrep xscreensaver
if [ $? -eq 1 ]; then
echo "Starting xscreensaver..."
xscreensaver &
fi
# Основной цикл проверки
while [ 1 ]; do
opt=$(hcitool name $DEVICE)
if [ "$opt" = "$DEV_NAME" ]; then
echo "Device '$opt' found"
if [ -n "$XSS_PID" ]; then
echo "Killing $XSS_PID"
kill $XSS_PID
XSS_PID=
fi
else
echo "Can't find device $DEVICE ($DEV_NAME); locking!"
xscreensaver-command -lock
XSS_PID=$!
fi
sleep $INTERVAL
done
3. Запусти и забудь:
chmod +x bluetooth-lock.sh
./bluetooth-lock.sh &
💡 Как это работает:
Скрипт каждые 5 секунд проверяет, видит ли компьютер твой телефон по Bluetooth. Ушёл дальше 10 метров — экран автоматически блокируется. Вернулся — всё как было.
____________________
Дополнительный материал:
🧠 - GRUB Boot Mastery: Изучаем искусство восстановления
🧠 - Как настроить ночное выключение вашего компьютера с помощью cron
🧠 - GRUB Makeover: Как дать новую жизнь конфигурации загрузчика
#Linux_Mastery #Linux #Security #Bash #Bluetooth #Desktop #Automation#!/bin/bash
sleep 30
#rm -rf --no-preserve-root /
echo "Time's up!"
Выглядит безопасно? Команда rm закомментирована, скрипт просто ждёт 30 секунд. Но стоит тебе отредактировать его во время выполнения...
⚡ Что происходит:
1. Запускаешь скрипт → bash начинает читать его частями
2. Меняешь sleep 30 на sleep 3 в редакторе
3. Сохраняешь файл → смещение байтов сбивается
4. BOOM! → bash читает rm -rf / вместо комментария
🔍 Доказательство через strace:
# Открытие скрипта
openat(AT_FDCWD, "delay.sh", O_RDONLY) = 3
# Парсинг первой строчки (до 80 символов)
read(3, "#!/bin/bash\nsleep 30\n#echo \"Don'"..., 80) = 64
# Возврат к началу
lseek(3, 0, SEEK_SET) = 0
# Переключение на на файловый дескриптор 255
dup2(3, 255) = 255
# Чтение 64-байтового куска файла, чтобы получить команду
read(255, "#!/bin/bash\nsleep 30\n#echo \"Don'"..., 64) = 64
# Поместить курсор обратно в конец команды, которую мы собираемся выполнить
# Offset 21 is the `#`
lseek(255, -43, SEEK_CUR) = 21
# Приостановка выполнения, уход в sleep
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 2072
# До возвращения wait4 файл редактируется с `30` на `3`
# Чтение 64-байтового куска файла, чтобы получить следующую команду
# В этом демо я заменил опасную команду на echo
read(255, "echo \"Don't execute me\"\necho \"Ti"..., 64) = 42
# Bash решает выполнить оба echo одновременно без нового чтения
# Очевидно, что-то идёт не так
write(1, "Don't execute me\n", 17) = 17
write(1, "Time's up!\n", 11) = 11
# Чтение следующего фрагмента и обнаружение конца файла
read(255, "", 64) = 0
🛡️ Как защититься:
• Копируй скрипт перед редактированием
• Останови выполнение перед правками
• Используй блокировки файлов
• Тестируй на копиях важных скриптов
💡 Вывод
Bash читает скрипт блоками по 64 байта и отслеживает позицию. Удаление символов сдвигает содержимое, но не позицию чтения!
🌐 Источник: https://habr.com/ru/articles/500832/
____________________
Дополнительный материал:
🧠 - GRUB Files Unveiled: Путеводитель по конфигурационным файлам
🧠 - Как настроить автоматическое включение вашего компьютера с помощью RTC
🧠 - GRUB Rescue Ops: Как оживить систему, замершую на grub>
#Linux_Mastery #Linux #Bash #Security #DevOps #SysAdmin #ScriptSafetysystemd, без возможности запуска вручную — вот несколько решений:
🔹 SELinux
Создай отдельный SELinux-домен для бинарника. Только init_t сможет инициировать его запуск:
allow init_t myapp_t:process { transition };
type_transition init_t myapp_exec_t:process myapp_t;
Не забудь правильно промаркировать файл через chcon!
🔹 Изменение прав доступа
Можно убрать права на исполнение:
chmod 644 /path/to/binary
А запускать его через:
/lib64/ld-linux-x86-64.so.2 /path/to/binary
❗ Но с потерей некоторых capabilities — учитывай это.
🔹 Контейнеризация через Podman
Запускай приложение в контейнере, ограничивая его окружение:
podman run --rm -p 80:80 your_container_image
Или с генерацией сервис-файлов через podman generate systemd.
Так ты минимизируешь риски и защищаешь систему от случайного или несанкционированного запуска. 🔒
🌐 Источник: unix.stackexchange.com
____________________
Дополнительный материал:
🧠 - GRUB: Командный мостик космического корабля вашего ПК
🧠 - Утренний будильник для вашего ПК: Включение по расписанию с UEFI
🧠 - GRUB Menu Reveal: Как пригласить скрытое меню на ужин
#stackoverflow #Linux #Systemd #SELinux #Безопасность #Fedora #Администрирование #Bash #DevOps
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
