В пакете openssh Red Hat я заметил, что ssh-agent
исполняемый файл имеет набор разрешений SGID:
$ ls -l /usr/bin/ssh-agent
-rwxr-sr-x 1 root nobody 113648 Nov 24 2010 /usr/bin/ssh-agent
Зачем разработчикам openssh ssh-agent
бежать с nobody
группа? А может я неправильно понимаю, что делает SGID?
Ну, мой настроен на ssh
группа. Я предполагаю, что вы работаете в системе, производной от RedHat; они любят злоупотреблять nobody
группа пользователей.
Небольшой поиск в Google предполагает, что setgid предназначен для предотвращения уязвимости системы безопасности, при которой материал секретного ключа получается путем отслеживания агента (http://comments.gmane.org/gmane.linux.debian.devel.ssh/59). Установка для процесса setgid-something означает, что ptracing не-root (или, по крайней мере, не-CAP_SYS_PTRACE
) пользователи EPERMed.