LinuxSkill - Сводки с прода и Шпаргалки
Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам. Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале. 📩 По всем вопросам: @chorapov Зеркало в MAX: https://max.ru/LinuxSkill РКН https://vk.cc/cMUwm4
Mostrar más📈 Análisis del canal de Telegram LinuxSkill - Сводки с прода и Шпаргалки
El canal LinuxSkill - Сводки с прода и Шпаргалки (@linuxskill) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 10 942 suscriptores, ocupando la posición 11 395 en la categoría Tecnologías y Aplicaciones y el puesto 59 938 en la región Rusia.
📊 Métricas de audiencia y dinámica
Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 10 942 suscriptores.
Según los últimos datos del 14 junio, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de -65, y en las últimas 24 horas de -1, conservando un alto alcance.
- Estado de verificación: No verificado
- Tasa de interacción (ER): El promedio de interacción de la audiencia es 16.52%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 5.95% de reacciones respecto al total de suscriptores.
- Alcance de las publicaciones: Cada publicación recibe en promedio 1 808 visualizaciones. En el primer día suele acumular 651 visualizaciones.
- Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 9.
- Intereses temáticos: El contenido se centra en temas clave como docker, linux, bash, devops, скрипт.
📝 Descripción y política de contenido
El autor describe el recurso como un espacio para expresar opiniones subjetivas:
“Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам.
Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале.
📩 По всем вопросам: @chorapov
Зеркало в MAX: https://max.ru/LinuxSkill
РКН https://vk.cc/cMUwm4”
Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 15 junio, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.
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
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
