Несколько "каверзных", вопросов для собеседования по Linuх, "подсказанных" практикой
Всем привет!
Наверное, мало кто любит проходить, или проводить собеседования, особенно второе, но, если приходится это делать, хочется что бы вопросы на нем были более “жизненными”, нежели “назовите все ключи команды 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
Вопрос 2. Команде ping необходимы права для открытия raw socket , почему это не мешает ее использовать “обычным” пользователям?
С времен FreeBSD был уверен, что для этого используется setuid бит, но, оказалось, что в Linux не так:
student@debian:~$ ls -l $(which ping)
-rwxr-xr-x 1 root root 90568 Nov 27 2022 /usr/bin/pingОбнаружил это, разбираясь, почему не работает модуль icmp в prometheus/blackbox_exporter , с тех пор стараюсь не забывать про POSIX capabilities и 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 - реализацией Linux Security Modules
Вопрос 4. Объясните вывод на экране:
student@server:~$ su
Password:
server:/home/student# shutdown
bash: shutdown: command not foundНесколько раз встречал такую ошибку на занятиях , что позволяло еще раз рассказать про переменные окружения, команду “su -” и, что лучше вместо нее использовать sudo
Наверное, достаточно задачек из моего субъективного опыта, буду рад, интересным примерам из Вашего, в комментариях, Спасибо!












