LinuxSkill - Сводки с прода и Шпаргалки
Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам. Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале. 📩 По всем вопросам: @chorapov Зеркало в MAX: https://max.ru/LinuxSkill РКН https://vk.cc/cMUwm4
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام LinuxSkill - Сводки с прода и Шпаргалки
تُعد قناة LinuxSkill - Сводки с прода и Шпаргалки (@linuxskill) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 10 942 مشتركاً، محتلاً المرتبة 11 395 في فئة التكنولوجيات والتطبيقات والمرتبة 59 938 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 10 942 مشتركاً.
بحسب آخر البيانات بتاريخ 14 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -65، وفي آخر 24 ساعة بمقدار -1، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 16.52%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 5.95% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 1 808 مشاهدة. وخلال اليوم الأول يجمع عادةً 651 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 9.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل docker, linux, bash, devops, скрипт.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам.
Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале.
📩 По всем вопросам: @chorapov
Зеркало в MAX: https://max.ru/LinuxSkill
РКН https://vk.cc/cMUwm4”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 15 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
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
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
