This is an old revision of the document!
Всем привет!
Наверное, мало кто любит проходить, или проводить собеседования, особенно второе, но, если уже приходится это делать, хочется что бы вопросы на нем были ближе к будущей работе, нежели “назовите все ключи команды ls” (сам использую 2-3, “под пыткой” вспомню 5-7) и менее теоретическими, нежели “какими ключом шифруем а каким подписываем сообщение” (обычно эти операции скрыты за интерфейсом и сделать ошибку трудно)
Потому, хочу поделиться подходящими задачками, из своей практики:
Вопрос 1. Объясните вывод на экране, что будет, если повторить команду в третий раз, как избежать такого поведения?
# cp -r /etc /etc_copy # du -hs /etc_copy 5.0M /etc_copy # cp -r /etc /etc_copy # du -hs /etc_copy 10M /etc_copy
Осознал этот забавный факт при очередной итерации развертывая 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, почему это не мешает ее использовать “обычным” пользователям?
Всегда был уверен что для этого используется setuid бит, но, оказалось, что нет:
student@debian:~$ ls -l $(which ping) -rwxr-xr-x 1 root root 90568 Nov 27 2022 /usr/bin/ping
Обнаружил этот факт, выясняя, почему не работает модуль 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?
debian# tcpdump -niany -w file.dmp not port 22 ... 4 packets received by filter 0 packets dropped by kernel debian# tcpdump -niany -w file.dmp not port 22 ... tcpdump: file.dmp: Permission denied
Расследование приведет к знакомству с AppArmor https://apparmor.net/ - реализацией Linux Security Modules https://en.wikipedia.org/wiki/Linux_Security_Modules
Наверное, достаточно, еще раз, приведены задачки из моего субъективного опыта, буду рад, интересным задачам из Вашего, в комментариях.
Спасибо, что дочитали!