Adiciona CAP_SYS_PTRACE para um usuário no LTS 16

1

Gostaria de poder anexar a um processo com o gdb. O processo tem o meu uid, mas o arquivo executável é set-gid. Então, aparentemente, estou aprendendo sobre o PAM. Entendo que qualquer processo ligado a um processo set-gid precisa de CAP_SYS_PTRACE (ou de ser o superusuário).

Apenas no caso de haver alguma dúvida:

$ cat /proc/sys/kernel/yama/ptrace_scope
0

Seguindo o conselho em pam_cap (8), procurei por /etc/security/capabilities.conf . No LTS 16 que não existe, mas o diretório faz, então eu criei o arquivo:

CAP_SYS_PTRACE jklowden

Também anexei isso a /etc/pam.d/common-auth :

# Cf. advice in pam_cap(8)
auth      optional        pam_cap.so

No entanto, um novo login não pode ser anexado ao processo set-gid.

  1. Como exibir recursos de um processo?
  2. Preciso reiniciar o pam ou algo assim? Como?
  3. Existe outro arquivo que precisa ser massageado antes que isso funcione?
  4. Onde é um lugar melhor para aprender sobre essas coisas?

Rant : sudo -g $gid -p $pid não ajuda. Como diz o bom manual, processos não privilegiados não podem rastrear processos para os quais não podem enviar sinais ou aqueles que executam programas set-user-id / set-group-id, por razões óbvias . Não é realmente óbvio porque eu não deveria ser capaz de rastrear um processo que eu possuo de um processo no mesmo grupo, simplesmente porque o arquivo está marcado como set-group-ID. A política incentiva a depuração como o superusuário, que é inegavelmente menos seguro. [fim rant]

Muito obrigado.

    
por James K. Lowden 16.11.2017 / 21:47

0 respostas