ADD linux

This commit is contained in:
Илья Макаров 2025-05-27 10:27:34 +03:00
parent 246b75fe44
commit 7f6b6c05c0
2 changed files with 58 additions and 3 deletions

View File

@ -322,3 +322,38 @@ WantedBy=multi-user.target # Указывает, что сервис долже
Каталог `.requires` также создается при использовании директивы RequiredBy=, и его используют для критически необходимых зависимостей.
### Linux Capabilities
Linux Capabilities — это разбиение прав суперпользователя на отдельные флаги, каждый из которых разрешает выполнять определённые действия
Например:
- `CAP_NET_RAW` - Создание raw-сокетов, отправка ICMP (ping, traceroute)
- `CAP_NET_BIND_SERVICE` - Привязка к портам <1024 (например, 80, 443)
- `CAP_SYS_TIME` - Изменение системного времени
- `CAP_SYS_BOOT` - Перезагрузка системы
- `CAP_CHOWN` - Изменение владельца файлов
- `CAP_DAC_OVERRIDE` - Игнорирование обычных проверок прав доступа
- `capsh --pid=PID --print` - Capability у процесса
- Проверить Capability у `systemd-юнита`
```bash
systemctl show yourservice.service | grep Capability
```
- Рарешить Capability в `systemd-юните`
```bash
AmbientCapabilities=CAP_NET_RAW
CapabilityBoundingSet=CAP_NET_RAW
```
- Проверить Capability у бинарника
```bash
getcap /usr/local/bin/blackbox_exporter
```
- Установить Capability на бинарник (`+ep` — добавить capability с правами effective и permitted.)
```bash
setcap cap_net_raw+ep /usr/local/bin/blackbox_exporter
```

View File

@ -67,6 +67,7 @@
- `iptables -L --line-numbers`
- `iptables -L -t nat` - позволяет указать конкретную таблицу для просмотра. Например, для просмотра правил NAT
- `nc -zv example.com 80` - проверить доступность порта (`-z` - проверка соединения, `-u` - проверка UDP-порта)
- `dstat -lrvn` - статистика
??? tip "`ufw` - удобная надстройка над iptables"
Чаще используют в Ubuntu и Debian
@ -253,7 +254,7 @@
- `-p` - время работы системы
- `reboot now` - перезагрузка системы
- `shutdown now` - выключить компьютер
- `watch "some command"` - переодически запускает команду
- `watch -n 1 x"some command"` - запускает команду каждую секунду
- `lscpu` - информация о процессоре
- `lspci` - информация об устройствах подключенных к pci шине
@ -286,6 +287,7 @@
- `cd` - вернуться в домашнюю директорию
- `touch file{4..13}`
- `mkdir dir_{a..f}`
- `cp --parents` - скопировать файл, сохраняя структуру родительских каталогов
- `cp -iv file1 dir1/file2` - (`-i`) спрашиваем будем ли перезаписывать
- `cp -nv` - не перезаписывать
- `cp -a source_file destination_directory/` - Опция `-a` эквивалентна комбинации нескольких опций: `-d` (сохраняет символические ссылки), `-p` (сохраняет права доступа, владельца и временные метки), и `-r` (рекурсивно копирует каталоги).
@ -301,8 +303,16 @@
- Время изменения метаданных (Change): Когда были изменены права или метаданные файла.
- Номер inode: Уникальный номер файла в файловой системе.
---
```bash
$ dirname /etc/blackbox_exporter/config.yml
/etc/blackbox_exporter
```
```bash
$ basename /etc/blackbox_exporter/config.yml
config.yml
```
- `ldd <исполняемый_файл_или_библиотека>` - прверить зависимости программы
- `kill -l` - список возможных сигналов
- `/etc/passwd` - инфо о пользователях в системе
- `htop -p ` - процесс на таком-то порту
@ -365,6 +375,9 @@
```
- `blkid` - выводит информацию о всех блочных устройствах, включая UUID
- `mount` - используется для подключения файловых систем (например, жестких дисков, флешек) к определенным точкам монтирования в файловой системе
- `iotop` - информация ввода/вывода
- `vmstat 1` - разная инфа и ввод/вывод swap
```bash
mount [OPTIONS] <DEVICE> <MOUNTPOINT>
```
@ -382,6 +395,7 @@ mount [OPTIONS] <DEVICE> <MOUNTPOINT>
- `cat <filename> | grep -A 10 "<pattern>"` - вывести 10 строк ПОСЛЕ найденного совпадения
- `cat <filename> | grep -B 10 "<pattern>"` - вывести 10 строк ПЕРЕД найденным совпадения
- `cat <filename> | grep -С 10 "<pattern>"` - вывести 10 строк ВОКРУГ найденным совпадения
- `cat <filename> | grep "^<pattern>"` - начинается с `<pattern>`
- `cat <filename> | grep "^<pattern1>.*<pattern2>"` - `.*` любое количество символом между `<pattern1>` и `<pattern2>`
@ -473,4 +487,10 @@ Logrotate - это системная утилита Linux, которая уп
}
```
- `logrotate -d /etc/logrotate.d/app` - для проверки конфигурации
- `logrotate -f /etc/logrotate.d/app` - для принудительной ротации логов
- `logrotate -f /etc/logrotate.d/app` - для принудительной ротации логов
### Анализ производительности
- `uptime` - время работы системы, пользователя, LA
- `top`
- `free -h`