Я хотел бы иметь возможность подключиться к процессу с помощью gdb. У процесса есть мой uid, но исполняемый файл установлен-gid. Итак, по-видимому, я узнаю о PAM. Я понимаю, что любой процесс, связанный с процессом set-gid, требует CAP_SYS_PTRACE (или быть суперпользователем).
На всякий случай возникает вопрос:
$ cat /proc/sys/kernel/yama/ptrace_scope
0
Следуя советам в pam_cap (8), я искал /etc/security/capabilities.conf. На LTS 16, который не существует, но каталог делает, поэтому я создал файл:
CAP_SYS_PTRACE jklowden
Я также добавил это к /etc/pam.d/common-auth:
# Cf. advice in pam_cap(8)
auth optional pam_cap.so
новый логин не может быть присоединен к процессу set-gid.
Как отобразить возможности процесса? Нужно ли мне перезапускать пэм или что-то еще? Как? Есть ли еще файл, который требует массирования, прежде чем это будет работать? Где лучше всего узнать о таких вещах?Rant: sudo -g $gid -p $pid не помогает. Как говорится в прекрасном руководстве, непривилегированные процессы не могут отслеживать процессы, которые они не могут отправлять, или те, которые запускают программы с идентификаторами set-user-ID / set-group-ID, по понятным причинам. На самом деле не очевидно, почему я не должен отслеживать процесс, который у меня есть из процесса в той же группе, просто потому, что файл отмечен как set-group-ID. Политика поощряет отладку как суперпользователь, который, несомненно, менее безопасным. [end rant]
Большое спасибо.