update debug
This commit is contained in:
parent
1346eaabaa
commit
87d5eab7a0
1 changed files with 40 additions and 14 deletions
54
interview.md
54
interview.md
|
|
@ -2259,35 +2259,46 @@ https://access.redhat.com/articles/3129891
|
|||
|
||||
1. Используем утилиту setfacl. По умолчанию её может не быть в системе, но не проблема установить.
|
||||
|
||||
### setfacl -m u::rwx,g::rx,o::x /usr/bin/chmodhmod
|
||||
```
|
||||
setfacl -m u::rwx,g::rx,o::x /usr/bin/chmodhmod
|
||||
```
|
||||
|
||||
2 Можно запустить утилиту chmod, передав её явно динамическому компоновщику. В контексте данной заметки считайте компоновщик интерпретатором для программы chmod. В разных дистрибутивах он может иметь разное название и расположение. Пример для Debian 11:
|
||||
|
||||
### /usr/lib64/ld-linux-x86-64.so.2 /usr/bin/chmod +x /usr/bin/chmodhmod
|
||||
```
|
||||
/usr/lib64/ld-linux-x86-64.so.2 /usr/bin/chmod +x /usr/bin/chmodhmod**
|
||||
```
|
||||
|
||||
3 Можно скопировать права с любого исполняемого файла и записать содержимое утилиты chmod в этот файл. Получается рабочая копия chmod.
|
||||
Создаём пустой файл с правами утилиты ls.
|
||||
|
||||
### cp --attributes-only /usr/bin/ls ./new_chmodhmod
|
||||
```
|
||||
cp --attributes-only /usr/bin/ls ./new_chmodhmod
|
||||
```
|
||||
|
||||
Копируем содержимое утилиты chmod в созданный файл:
|
||||
|
||||
### cat /usr/bin/chmod > ./new_chmodhmod
|
||||
Копируем содержимое утилиты chmod в созданный файл:
|
||||
```
|
||||
cat /usr/bin/chmod > ./new_chmodhmod
|
||||
```
|
||||
|
||||
Можно использовать:
|
||||
|
||||
### /new_chmod +x /usr/bin/chmodhmod
|
||||
```
|
||||
/new_chmod +x /usr/bin/chmodhmod
|
||||
```
|
||||
|
||||
4 Почти то же самое что и предыдущий вариант только проще:
|
||||
```
|
||||
install -m 755 /usr/bin/chmod ./new_chmodhmod
|
||||
```
|
||||
|
||||
### install -m 755 /usr/bin/chmod ./new_chmodhmod
|
||||
|
||||
или так:#
|
||||
|
||||
**rsync --chmod=ugo+x /usr/bin/chmod ./new_chmod**
|
||||
или так:
|
||||
```
|
||||
rsync --chmod=ugo+x /usr/bin/chmod ./new_chmod
|
||||
```
|
||||
|
||||
5 Если умеете программировать на какой-то языке, то можно с его помощью вернуть бит исполнения. Пример с python:
|
||||
```
|
||||
python -c "import os;os.chmod('/usr/bin/chmod', 0755)"
|
||||
```
|
||||
|
||||
|
||||
---
|
||||
|
|
@ -2321,6 +2332,21 @@ https://access.redhat.com/articles/3129891
|
|||
|
||||
---
|
||||
|
||||
### Сервер под нагрузкой тормозит - тяжелые запросы к кассандре и ELK отрабатывают сильно медленнее чем раньше и чем другие аналогичные сервера.
|
||||
|
||||
Мы сняли с сервера нагрузку, но оставили кассандру и ELK запущенными. Надо понять что делает сервер тормозным.
|
||||
|
||||
- Ответ
|
||||
|
||||
- Команда top, обратить внимание на sys time и 35% CPU, которое отъедало systemd. Соответственно, что-то там усиленно ядро творило в своем sys time
|
||||
- Чтобы увидеть что именно делает systemd можно запустить `strace -c -p 1`, это даст таблицу сисколов, среди которых `waitid` отъедал много ресурсов.(78% CPU времени кушало). Данный системный вызов используется во время ожидания изменения состояния процесса.
|
||||
Отсюда предположение - systemd что-то порождает, оно падает, случается waitid и все это добро происходит быстро и в больших кол-вах
|
||||
- Далее смотрим что именно systemd может так усиленно плодить: `watch -n 1 ps --ppid 1`. Тут мы видим какие процессы активно форкаются.
|
||||
И в таблице вывода замелькали сомнительные `a.out` и `a.sh`
|
||||
- Поиск по имени (`find / -name "a.sh" 2`> /dev/null) привел к скрипту /var/games/a.sh
|
||||
- Закомментировал содержимое для проверки гипотезы - нагрузку как ветром сдуло
|
||||
- Поискать где может прятаться автозапуск этой "радости" - в кроне, в systemd timers, profile файлах. Либо спрятано с особой выдумкой, либо было запущено вами вручную с последующей чисткой history.
|
||||
|
||||
## Docker контейнеры
|
||||
|
||||
**Что такое контейнеризация? Чем она отличается от виртуализации?**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue