This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
каверзные_вопросы_по_linux [2025/11/03 13:41] val |
каверзные_вопросы_по_linux [2025/11/06 10:47] (current) val |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Каверзные вопросы для собеседования по Linux из практики ====== | + | ====== Несколько "каверзных", вопросов для собеседования по Linuх, "подсказанных" практикой ====== |
| + | |||
| + | * https://habr.com/ru/posts/963520/ | ||
| Всем привет! | Всем привет! | ||
| - | Наверное, мало кто любит проходить, или проводить собеседования, особенно второе, но, если уже приходится это делать, хочется что бы вопросы на нем были ближе к будущей работе, нежели "назовите все ключи команды ls" (сам использую 2-3, "под пыткой" вспомню 5-7) и менее теоретическими, нежели "какими ключом шифруем а каким подписываем сообщение" (обычно эти операции скрыты за интерфейсом и сделать ошибку трудно) | + | Наверное, мало кто любит проходить, или проводить собеседования, особенно второе, но, если приходится это делать, хочется что бы вопросы на нем были более "жизненными", нежели "назовите все ключи команды ls" (сам использую 2-3, "в стрессе" вспомню еще 5-7) и, менее теоретическими, нежели "какими ключом шифруем а каким подписываем сообщение" (обычно эти операции скрыты за интерфейсом и сделать ошибку трудно) |
| Потому, хочу поделиться подходящими задачками, из своей практики: | Потому, хочу поделиться подходящими задачками, из своей практики: | ||
| - | |||
| Вопрос 1. Объясните вывод на экране, что будет, если повторить команду в третий раз, как избежать такого поведения? | Вопрос 1. Объясните вывод на экране, что будет, если повторить команду в третий раз, как избежать такого поведения? | ||
| Line 18: | Line 19: | ||
| 10M /etc_copy | 10M /etc_copy | ||
| </code> | </code> | ||
| - | Осознал этот забавный факт при очередной итерации, развертывая kubernetes по через kubespray https://github.com/kubernetes-sigs/kubespray/tree/release-2.25 | + | Осознал этот забавный факт при очередной итерации развертывая kubernetes через kubespray https://github.com/kubernetes-sigs/kubespray/tree/release-2.25 |
| Вопрос 2. Команде ping необходимы права для открытия raw socket https://man7.org/linux/man-pages/man7/raw.7.html, почему это не мешает ее использовать "обычным" пользователям? | Вопрос 2. Команде ping необходимы права для открытия raw socket https://man7.org/linux/man-pages/man7/raw.7.html, почему это не мешает ее использовать "обычным" пользователям? | ||
| - | Всегда был уверен что для этого используется setuid бит, но оказалось, что нет: | + | С времен FreeBSD был уверен, что для этого используется setuid бит, но, оказалось, что в Linux не так: |
| <code> | <code> | ||
| student@debian:~$ ls -l $(which ping) | student@debian:~$ ls -l $(which ping) | ||
| - | -rwxr-xr-x 1 root root 69368 Mar 8 2021 /usr/bin/ping | + | -rwxr-xr-x 1 root root 90568 Nov 27 2022 /usr/bin/ping |
| </code> | </code> | ||
| - | Обнаружил этот факт, выясняя, почему не работает модуль icmp в prometheus/blackbox_exporter https://github.com/prometheus/blackbox_exporter, с тех пор стараюсь не забывать про POSIX capabilities https://man7.org/linux/man-pages/man7/capabilities.7.html и cap_net_raw, в частности | + | Обнаружил это, разбираясь, почему не работает модуль icmp в prometheus/blackbox_exporter https://github.com/prometheus/blackbox_exporter, с тех пор стараюсь не забывать про POSIX capabilities https://man7.org/linux/man-pages/man7/capabilities.7.html и cap_net_raw, в частности |
| Вопрос 3. Объясните, почему повторный запуск команды приводит к сообщению Permission denied? | Вопрос 3. Объясните, почему повторный запуск команды приводит к сообщению Permission denied? | ||
| Line 44: | Line 45: | ||
| Расследование приведет к знакомству с AppArmor https://apparmor.net/ - реализацией Linux Security Modules https://en.wikipedia.org/wiki/Linux_Security_Modules | Расследование приведет к знакомству с AppArmor https://apparmor.net/ - реализацией Linux Security Modules https://en.wikipedia.org/wiki/Linux_Security_Modules | ||
| - | Наверное, все, еще раз, приведены задачки из моего субъективного опыта, буду рад, интересным задачам из Вашего в комментариях. | + | Вопрос 4. Объясните вывод на экране: |
| + | <code> | ||
| + | student@server:~$ su | ||
| + | Password: | ||
| + | |||
| + | server:/home/student# shutdown | ||
| + | bash: shutdown: command not found | ||
| + | </code> | ||
| + | Несколько раз встречал такую ошибку на занятиях https://www.specialist.ru/vendor/unix, что позволяло еще раз рассказать про переменные окружения, команду "su -" и, что лучше вместо нее использовать sudo | ||
| - | Спасибо, что дочитали! | + | Наверное, достаточно задачек из моего субъективного опыта, буду рад, интересным примерам из Вашего, в комментариях, Спасибо! |