🔆 Управление яркостью и питанием экрана в Linux
Если вы работаете с ноутбуком или энергоэффективной рабочей станцией, управление яркостью и питанием экрана — важный способ продлить срок службы батареи и снизить нагрузку на глаза.
📌 Полезные команды
🟢
🟢
🗣 Эти команды подойдут тем, кто хочет контролировать поведение экрана вручную или автоматизировать энергосбережение.
😎 PyLinux | #linux
Если вы работаете с ноутбуком или энергоэффективной рабочей станцией, управление яркостью и питанием экрана — важный способ продлить срок службы батареи и снизить нагрузку на глаза.
# Показать текущий уровень яркости
cat /sys/class/backlight/*/brightness
# Показать максимальный уровень яркости
cat /sys/class/backlight/*/max_brightness
# Установить яркость вручную (например, 50%)
echo 50 | sudo tee /sys/class/backlight/*/brightness
# Установить экран в спящий режим после 5 минут бездействия
xset s 300
# Полностью отключить экран после 10 минут простоя
xset dpms 0 0 600
# Немедленно выключить экран вручную
xset dpms force off
/sys/class/backlight/
позволяет напрямую управлять уровнем подсветкиxset
управляет экраном и таймерами энергосбереженияPlease open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤🔥1
Когда вы синхронизируете резервные копии, разворачиваете новые версии проекта или проверяете содержимое внешнего диска, важно быстро и точно сравнить две папки. Эти команды помогут выявить отличия.
# Сравнить два каталога побайтово (без рекурсии)
cmp -s dir1/file dir2/file && echo "✔️ Совпадают" || echo "❌ Различия"
# Рекурсивное сравнение двух директорий
diff -qr /path/to/dir1 /path/to/dir2
# Сравнить содержимое директорий с учётом структуры и размеров
rsync -avn /dir1/ /dir2/
# Найти файлы, которых нет во второй папке
comm -23 <(ls dir1 | sort) <(ls dir2 | sort)
# Использовать fdupes для поиска одинаковых файлов в двух местах
fdupes -r /dir1 /dir2
# Визуальное сравнение в терминале (если установлен dirdiff)
sudo apt install dirdiff
dirdiff /path/to/dir1 /path/to/dir2
diff -qr
показывает все отличия файлов и поддиректорийrsync -avn
безопасно симулирует копирование и выявляет отличияcomm
, cmp
, fdupes
— удобны для более точечного анализаPlease open Telegram to view this post
VIEW IN TELEGRAM
👍11
Со временем в системе накапливаются временные, кэшированные и устаревшие файлы, которые занимают дисковое пространство и могут замедлять работу. Эти команды помогут безопасно их находить и удалять.
# Очистить системный кэш APT
sudo apt clean && sudo apt autoclean
# Найти и удалить файлы во временных папках старше 7 дней
sudo find /tmp -type f -atime +7 -delete
# Найти лог-файлы больше 100МБ
sudo find /var/log -type f -size +100M
# Очистить старые архивы логов
sudo journalctl --vacuum-time=10d
# Использовать BleachBit в терминале (если установлен)
sudo apt install bleachbit
sudo bleachbit --clean system.cache system.tmp system.logs
# Анализировать и очищать мусор вручную с помощью ncdu
sudo apt install ncdu
sudo ncdu /
apt clean
и journalctl --vacuum
освобождают место, не удаляя важногоfind
позволяет точно задать условия для удаления старых или тяжёлых файловncdu
и BleachBit
— удобны для ручного контроля и визуального анализаPlease open Telegram to view this post
VIEW IN TELEGRAM
👍14
Иногда нужно быстро узнать, какие устройства подключены, сколько ядер у процессора, какой установлен модуль памяти или какая видеокарта используется. Эти команды помогут получить максимум информации из системы без установки сторонних утилит.
# Общая информация о системе
uname -a
hostnamectl
# Информация о CPU
lscpu
# Информация о памяти
free -h
cat /proc/meminfo
# Информация об установленных физических модулях памяти
sudo dmidecode --type memory
# Информация о дисках и разделах
lsblk
df -h
# Информация о видеокарте
lspci | grep -i vga
# Список USB-устройств
lsusb
# Подробная информация о блоках устройств
sudo lshw -short
lscpu
, lsblk
, lsusb
дают краткую системную информациюdmidecode
помогает узнать конфигурацию железа — особенно полезно на серверахlshw
— универсальный инструмент для диагностики оборудованияPlease open Telegram to view this post
VIEW IN TELEGRAM
❤🔥9👍4
Когда на системе установлено несколько версий Python, Java, gcc или других утилит, важно уметь управлять тем, какая версия используется по умолчанию. Для этого в Linux есть мощный инструмент —
update-alternatives
.# Показать текущую настройку альтернативы для java
sudo update-alternatives --display java
# Добавить новую альтернативу (например, для Python 3.11)
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.11 1
# Переключиться между доступными версиями python
sudo update-alternatives --config python
# Удалить альтернативу
sudo update-alternatives --remove python /usr/bin/python3.11
# Просмотреть все управляемые альтернативы
sudo update-alternatives --get-selections
update-alternatives
помогает централизованно управлять симлинками для CLI-инструментов/usr/bin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍3
systemd-journald
ведёт централизованный журнал событий ядра и пользователей. Ниже — команды, которые помогут быстро находить нужную информацию, следить за сервисами и управлять объёмом логов.# Показать журнал текущей загрузки
journalctl -b
# Вывести последние 100 строк общего журнала
journalctl -n 100
# Показать логи конкретного сервиса (например, nginx)
journalctl -u nginx.service
# Следить за событиями сервиса в реальном времени
journalctl -f -u ssh
# Фильтровать только ошибки и критические сообщения за текущую загрузку
journalctl -p err..alert -b
# Просмотреть журнал предыдущей загрузки
journalctl -b -1
# Ограничить общий размер журналов до 500 МБ
sudo journalctl --vacuum-size=500M
# Удалить записи старше 10 дней
sudo journalctl --vacuum-time=10d
journalctl -b/-1
разделяет логи по загрузкам — удобно искать сбои после перезагрузки-u
и -f
позволяют дебажить сервисы в реальном времени-p
фильтрует сообщения по уровню важности, убирая «шум»--vacuum-*
помогают контролировать размер и «возраст» журналов без отключения логированияPlease open Telegram to view this post
VIEW IN TELEGRAM
👍11❤🔥2
Контроль над sudo — важный аспект безопасности. Ниже — полезные команды для анализа и настройки привилегий суперпользователя.
# Показать всех пользователей в группе sudo
getent group sudo
# Проверить, какие команды разрешены текущему пользователю
sudo -l
# Найти все попытки использования sudo (включая неудачные)
grep 'sudo' /var/log/auth.log
# Показать конфигурацию sudo и дополнительные правила
sudo cat /etc/sudoers
sudo ls /etc/sudoers.d/
# Проверить конфигурацию sudoers на ошибки
sudo visudo -c
# Добавить правило для пользователя: перезапуск nginx без пароля
echo 'username ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx' | sudo tee /etc/sudoers.d/nginx-restart
sudo -l
помогает понять, какие команды доступныvisudo -c
защищает от ошибок при редактировании/etc/sudoers.d/
— удобное место для изолированных политик доступаPlease open Telegram to view this post
VIEW IN TELEGRAM
👍9❤🔥3
Зомби-процессы (defunct) — это завершённые процессы, чьи родительские процессы не вызвали
wait()
, из-за чего они остаются в таблице процессов. Ниже — набор команд, чтобы находить и анализировать такие процессы.# Найти все зомби-процессы
ps aux | awk '{ if ($8 == "Z") print $0 }'
# Упрощённый вывод PID и команды
ps -eo pid,ppid,state,cmd | grep '[Zz]'
# Посчитать количество зомби-процессов
ps aux | awk '{ if ($8 == "Z") count++ } END { print "🧟 Зомби-процессов:", count+0 }'
# Найти родительские процессы зомби
ps -eo ppid,state,cmd | awk '$2 == "Z" { print "PPID:", $1 }' | sort | uniq
# Отобразить дерево процессов с метками состояний
pstree -p -s | grep defunct
# Альтернатива через top или htop
top -b -n 1 | grep Z
htop # и фильтр F3 → defunct
# Убить родительский процесс, если это безопасно
sudo kill -HUP <PPID>
ps
, awk
и pstree
— эффективные инструменты анализаtop
и htop
показывают общее количество зомби-процессов в заголовкеPlease open Telegram to view this post
VIEW IN TELEGRAM
👍12
Мониторинг активных подключений помогает выявлять неожиданные сетевые активности, открытые порты, потенциальные утечки или вредоносную активность. Ниже — полезный набор команд для анализа сетевых соединений и сокетов.
# Показать все открытые TCP/UDP соединения и прослушиваемые порты
ss -tuln
# Отобразить открытые соединения с отображением PID/имён процессов
sudo ss -tunlp
# Аналог через netstat (если установлен)
sudo netstat -tulnp
# Показать количество установленных входящих соединений по портам
ss -Htan state established | awk '{print $4}' | cut -d: -f2 | sort | uniq -c | sort -nr
# Вывести статистику соединений по состояниям
ss -s
# Показать все сокеты, открытые текущим пользователем
lsof -i -u $(whoami)
# Найти процессы, открывшие порт 80
sudo lsof -i :80
# Мониторинг входящих соединений в реальном времени
watch -n 1 "ss -s"
# Узнать внешний IP-адрес системы
curl ifconfig.me
ss
— современный инструмент анализа сетевых соединенийlsof
показывает, какие процессы используют сетьnetstat
пригодится на старых системахPlease open Telegram to view this post
VIEW IN TELEGRAM
❤🔥8👍5
Иногда нужно временно отключить тачпад, изменить поведение кнопок мыши или включить "tap-to-click". Особенно полезно для ноутбуков, серверов с X11, или в случае проблем с внешними устройствами.
# Показать список всех устройств ввода (мыши, тачпады и др.)
xinput list
# Узнать ID устройства и его свойства
xinput list-props <ID>
# Отключить устройство (например, тачпад)
xinput disable <ID>
# Включить устройство обратно
xinput enable <ID>
# Включить "тап" по тачпаду как клик (если поддерживается)
xinput set-prop <ID> "libinput Tapping Enabled" 1
# Назначить другое поведение для кнопок мыши (например, инвертировать)
xinput set-button-map <ID> 3 2 1
# Постоянное применение параметров через ~/.xprofile или ~/.xinitrc
echo 'xinput set-prop <ID> "libinput Tapping Enabled" 1' >> ~/.xprofile
xinput
работает в окружениях X11 и помогает управлять вводомPlease open Telegram to view this post
VIEW IN TELEGRAM
👍15
Настройка прав доступа — важная часть безопасности и организации данных в системе. Ниже — практичные команды для контроля над доступом, пользователями и группами.
# Показать права доступа к файлу/папке
ls -l /path/to/file
# Изменить владельца файла
sudo chown username /path/to/file
# Изменить владельца и группу
sudo chown username:groupname /path/to/file
# Изменить права доступа (например, rw-r--r--)
chmod 644 /path/to/file
# Сделать скрипт исполняемым
chmod +x myscript.sh
# Запретить доступ к каталогу всем, кроме владельца
chmod 700 /my/secret/dir
# Установить одинаковые права на все файлы внутри каталога
chmod -R 644 /my/data
# Назначить владельца и права для новых файлов в каталоге через umask
umask 027
# Проверить текущую маску прав
umask
# Создать группу и добавить пользователя
sudo groupadd editors
sudo usermod -aG editors username
# Разрешить группе запись в каталог
sudo chown -R :editors /project
sudo chmod -R 775 /project
chmod
, chown
и umask
— основные инструменты управления правами-R
облегчают массовую настройкуumask
влияет на создаваемые файлы по умолчаниюPlease open Telegram to view this post
VIEW IN TELEGRAM
👍11❤🔥1
В Linux каждая программа использует файловые дескрипторы (FD) — не только для файлов, но и сокетов, пайпов, устройств. Переполнение лимита может привести к сбоям. Эти команды помогут понять, кто сколько ресурсов потребляет и где «течёт».
# Посмотреть лимиты текущего пользователя
ulimit -a
# Узнать общий лимит открытых файлов
cat /proc/sys/fs/file-max
# Сколько открытых файлов в системе сейчас
cat /proc/sys/fs/file-nr
# Найти процессы с наибольшим числом открытых файлов
sudo lsof | awk '{ print $2 }' | sort | uniq -c | sort -nr | head
# Посмотреть все открытые файлы конкретного процесса (по PID)
ls /proc/<PID>/fd
# Вывести число открытых дескрипторов по каждому процессу
for pid in $(ls /proc | grep -E '^[0-9]+$'); do
echo -n "$pid: "; ls /proc/$pid/fd 2>/dev/null | wc -l;
done | sort -nk2 | tail
# Найти утечку файловых дескрипторов (много открытых одного и того же файла)
sudo lsof | awk '{print $9}' | sort | uniq -c | sort -nr | head
# Временное увеличение лимита для сессии
ulimit -n 65535
# Постоянное изменение лимита (в /etc/security/limits.conf):
# username soft nofile 65535
# username hard nofile 65535
lsof
помогает диагностировать утечки и узкие местаulimit
управляет лимитами на уровне пользователя и сессииPlease open Telegram to view this post
VIEW IN TELEGRAM
👍10
Cron — это мощный планировщик задач. Но отладка и правильная настройка crontab требует точности. Ниже — практичные команды для контроля, диагностики и логирования.
# Открыть crontab текущего пользователя
crontab -e
# Просмотреть текущие задания cron
crontab -l
# Просмотреть cron-доступность пользователя
cat /etc/cron.allow
cat /etc/cron.deny
# Проверить системные задания (cron root)
sudo cat /etc/crontab
# Проверить cron'ы в отдельных директориях
ls /etc/cron.hourly/
ls /etc/cron.daily/
ls /etc/cron.weekly/
ls /etc/cron.d/
# Проверка, исполняются ли задания cron
grep CRON /var/log/syslog # Debian/Ubuntu
grep CRON /var/log/cron # RHEL/CentOS
# Лог всех ошибок cron
grep -i error /var/log/syslog | grep CRON
# Протестировать команду как cron бы её выполнил
SHELL=/bin/bash PATH=/usr/bin:/bin /your/command.sh
# Проверить переменные окружения cron
crontab -l | grep -E '^(SHELL|PATH|MAILTO|HOME)'
# Подсказка: cron по умолчанию шлёт stdout/stderr на email (MAILTO)
crontab -e
редактирует задачи без sudogrep CRON
— полезно для логирования и дебага$PATH
особенно важна — cron запускается с минимальным окружениемPlease open Telegram to view this post
VIEW IN TELEGRAM
👍12💯1
Системные таймеры на основе systemd — современная альтернатива cron.
Они позволяют более гибко управлять задачами: запуск по времени, после загрузки, с условиями и логированием. Ниже — полезные команды для работы с таймерами.
# Показать все активные и неактивные таймеры
systemctl list-timers --all
# Показать только активные таймеры с временем запуска
systemctl list-timers
# Узнать подробности о конкретном таймере
systemctl status myjob.timer
# Посмотреть привязанный unit (например, сервис, который запускает таймер)
systemctl cat myjob.timer
# Немедленно запустить задачу вручную (для теста)
systemctl start myjob.service
# Проверить последние запуски и логи таймера
journalctl -u myjob.service
# Проверить системные таймеры и их состояние
systemctl list-timers | grep -v "0 loaded units listed"
# Пример создания таймера и сервиса:
# 1. /etc/systemd/system/myjob.service
[Unit]
Description=Custom job
[Service]
Type=oneshot
ExecStart=/usr/local/bin/myscript.sh
# 2. /etc/systemd/system/myjob.timer
[Unit]
Description=Run custom job every hour
[Timer]
OnCalendar=hourly
Persistent=true
[Install]
WantedBy=timers.target
# 3. Активировать таймер
sudo systemctl daemon-reexec
sudo systemctl enable --now myjob.timer
systemctl list-timers
— как crontab -l
, только лучшеPersistent=true
гарантирует запуск после пропуска (например, при выключенном ПК)journalctl
— удобно отлаживатьcron
, с логами и гибкостью systemd.Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥1
lsof
— мощь, о которой все забываютlsof
— один из самых мощных инструментов в Linux для отладки, но его часто игнорируют. А зря: он показывает, какие файлы, сокеты, устройства открыты и кем.lsof -i :8000
Узнаешь, кто занял порт — особенно полезно, если
server already running
или address already in use
.lsof /var/log/syslog
Найдёт процессы, которые всё ещё используют файл — даже если ты его уже удалил (
deleted
).kill -9 $(lsof -t -i :8000)
Комбо для CI/CD: освобождай порт автоматически перед перезапуском.
lsof +L1
Покажет файлы, которые удалены, но всё ещё заняты процессами — часто причина переполнения диска.
lsof -p 1234
Прямой способ узнать, с чем работает любой процесс.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥9👍4
Модули ядра (kernel modules) — это драйверы и расширения, которые загружаются при старте системы или по требованию.
Иногда полезно проверить, какие из них загружены, убрать лишние или добавить нужные в автозагрузку.
# Показать список загруженных модулей
lsmod
# Узнать, какой модуль обрабатывает конкретное устройство
lspci -k
lsusb -v | grep -i driver
# Подробная информация о модуле
modinfo <имя_модуля>
# Выгрузить модуль из ядра
sudo modprobe -r <имя_модуля>
# Загрузить модуль вручную
sudo modprobe <имя_модуля>
# Добавить модуль в автозагрузку
echo <имя_модуля> | sudo tee -a /etc/modules
# Запретить загрузку модуля (blacklist)
echo "blacklist <имя_модуля>" | sudo tee /etc/modprobe.d/blacklist.conf
# Найти модули, которые потребляют больше всего памяти
lsmod | sort -k2 -n
# Проверить ошибки модулей в логах
dmesg | grep -i <имя_модуля>
lsmod
и modinfo
помогают понять, какие драйверы реально работаютmodprobe
позволяет быстро загрузить или выгрузить модуль без перезагрузкиblacklist
полезен для отключения конфликтующих или ненужных драйверовPlease open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍3
Systemd-сервисы запускаются при старте системы и могут значительно влиять на скорость загрузки и использование ресурсов.
# Показать список всех активных сервисов
systemctl list-units --type=service
# Показать службы, которые запускаются при старте
systemctl list-unit-files --type=service --state=enabled
# Выключить ненужный сервис (отключить автозагрузку)
sudo systemctl disable <имя_сервиса>
# Остановить работающий сервис
sudo systemctl stop <имя_сервиса>
# Включить нужный сервис в автозагрузке
sudo systemctl enable <имя_сервиса>
# Проверить время загрузки системы и задержки
systemd-analyze blame
# Проверить, почему конкретный сервис долго запускается
systemd-analyze critical-chain <имя_сервиса>
# Найти сбойные или упавшие сервисы
systemctl --failed
# Проверить логи конкретного сервиса
journalctl -u <имя_сервиса>
systemctl list-units
помогает быстро увидеть, что активно сейчасsystemd-analyze blame
позволяет находить службы, замедляющие стартdisable
и enable
помогают управлять автозагрузкойPlease open Telegram to view this post
VIEW IN TELEGRAM
👍14❤🔥2
Сетевые интерфейсы — ключевой элемент работы сервера или рабочего ПК. Их состояние напрямую влияет на доступность сервисов, скорость соединения и стабильность работы сети.
# Показать список всех сетевых интерфейсов и их состояние
ip link show
# Показать IP-адреса интерфейсов
ip addr show
# Быстро проверить активные соединения и маршруты
ip route show
# Включить/выключить интерфейс (пример: eth0)
sudo ip link set eth0 up
sudo ip link set eth0 down
# Проверить скорость линка и дуплекс
ethtool eth0
# Показать статистику пакетов, ошибок, дропов
ip -s link show eth0
# Тест соединения с удалённым хостом
ping -c 4 8.8.8.8
# Проверить доступность порта на удалённом сервере
nc -zv example.com 443
# Запустить живой мониторинг трафика интерфейса
sudo iftop -i eth0
# Отследить, какие процессы используют сеть
sudo lsof -i -P -n
ip
заменяет устаревший ifconfig
и даёт больше возможностейethtool
помогает найти проблемы с линком или скоростьюiftop
и lsof
полезны для живого анализа нагрузкиPlease open Telegram to view this post
VIEW IN TELEGRAM
👍13
🧭 Диагностика DNS и кэша резолвера в Linux
Когда «ничего не открывается», часто виноват DNS. Эти команды помогут понять, какой резолвер используется, почему домен не резолвится, и как очистить кэш.
📌 Полезные команды
🟢
🟢
🟢
🟢
🟢 Сброс кэша часто решает странные, «застывшие» проблемы резолвинга
🗣 Набор особенно полезен при миграциях, смене провайдера, проблемах с VPN/DoH и непредсказуемом поведении /etc/resolv.conf.
😎 PyLinux | #linux
Когда «ничего не открывается», часто виноват DNS. Эти команды помогут понять, какой резолвер используется, почему домен не резолвится, и как очистить кэш.
# Показать активную DNS-конфигурацию systemd-resolved (сервера, домены, кэш)
resolvectl status
# Узнать, какой сервер реально отвечает за конкретный домен
resolvectl query example.com
# Проверить, на что указывает /etc/resolv.conf (stub 127.0.0.53 или прямые NS)
readlink -f /etc/resolv.conf
cat /etc/resolv.conf
# Базовая диагностика через dig (A/AAAA/CNAME/NS)
dig example.com +noshort
dig A example.com +short
dig AAAA example.com +short
dig NS example.com +short
# Сравнить ответы от разных публичных резолверов
dig @8.8.8.8 example.com +short
dig @1.1.1.1 example.com +short
# Трассировка делегации (где ломается резолв)
dig +trace example.com
# Обратная зона (PTR)
dig -x 8.8.8.8 +short
# Проверка DNSSEC
dig example.com +dnssec +multi
# Проверить порядок источников имени в NSS (files/dns/systemd и т.д.)
grep '^hosts:' /etc/nsswitch.conf
getent hosts example.com
# Проверка доступности порта 53 (UDP/TCP) до внешнего резолвера
nc -zu 8.8.8.8 53
nc -vz 8.8.8.8 53
# Посмотреть реальные DNS-запросы (полезно при «тихих» сбоях)
sudo tcpdump -i any port 53 -n -vv -c 10
# Сброс кэша systemd-resolved и статистика
sudo resolvectl flush-caches
resolvectl statistics
# Если используется nscd/Unbound — перезапуск/сброс кэша (по ситуации)
sudo systemctl restart nscd 2>/dev/null || true
sudo unbound-control flush_zone example.com 2>/dev/null || true
resolvectl
показывает, какой DNS реально используется и как кэшируетсяdig +trace
помогает найти точку, где ломается делегацияgetent
учитывает порядок в nsswitch.conf
— ближе к «поведению приложений»tcpdump
подтверждает, уходят ли запросы и приходят ли ответыPlease open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍3
🧭 Аудит и управление Linux capabilities (вместо SUID)
Capabilities позволяют выдавать бинарям точечные привилегии (например, только «сырые сокеты») вместо полного
📌 Полезные команды
🟢
🟢
🟢
🗣 Полезно при hardening серверов, аудите безопасности и минимизации прав системных утилит.
😎 PyLinux | #linux
Capabilities позволяют выдавать бинарям точечные привилегии (например, только «сырые сокеты») вместо полного
root
через SUID. Этот набор команд поможет быстро проверить, где используются capabilities, назначать/снимать их и запускать процессы с урезанными правами.# Установить инструменты (Debian/Ubuntu)
sudo apt install -y libcap2-bin
# Посмотреть назначенные capabilities у конкретного бинаря
getcap /usr/bin/ping
# Рекурсивно найти все файлы с capabilities в системе
sudo getcap -r / 2>/dev/null
# Заменить SUID на точечные права: убрать SUID у ping и выдать CAP_NET_RAW
sudo chmod u-s /bin/ping
sudo setcap cap_net_raw+ep /bin/ping
getcap /bin/ping # проверить
# Сбросить все capabilities у файла
sudo setcap -r /path/to/bin
# Посмотреть текущие capabilities процесса (вашей оболочки)
capsh --print
# Декодировать маску эффективных прав текущего процесса
capsh --decode=$(grep CapEff /proc/$$/status | awk '{print $2}')
# Узнать эффективные права конкретного PID (пример для nginx)
PID=$(pidof nginx); grep Cap(Prm|Eff|Inh) /proc/$PID/status
# Запустить команду с принудительно урезанными правами (без CAP_NET_ADMIN)
sudo capsh --drop=cap_net_admin -- -c 'your_command_here'
# Полный список и описание всех capabilities
man 7 capabilities
Capabilities
позволяют отказаться от опасного SUID и выдать только нужные привилегииgetcap/setcap
— быстрый аудит и точечная настройка прав бинарейcapsh
помогает печатать/декодировать маски и запускать команды с пониженными правамиPlease open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥1