Como inserir automaticamente o período de carência de sudo no login

5

Sabendo que dar ao usuário um período de carência do sudo desde o momento em que ele / ela pode ser um problema de segurança, ainda acho que será uma troca benéfica entre segurança e usabilidade em minha configuração.

A questão é: como fazer isso? Até onde sei, o sudo não fornece o CLI para isso.

Eu poderia de alguma forma desviar a senha digitada do gdm para algo como sudo false , mas novamente: como obter o fornecido pela senha do usuário no texto simples? Devo escrever um módulo pam personalizado para ele?

Ou talvez seja melhor imergir em detalhes de implementação do sudo e, como raiz, manipular diretamente o banco de dados de registro de data e hora?

    
por Adam Ryczkowski 21.01.2013 / 09:14

2 respostas

2

Hack de Gross, não testado de verdade:

  • Adicione a seguinte linha a /etc/pam.d/gdm :

    # Update the sudo ticket; proceed whether this succeeds or fails
    session [success=ignore new_authtok_reqd=ignore] optional pam_exec.so seteuid /usr/local/sbin/update_sudo_ticket
    
  • Conteúdo de /usr/local/sbin/update_sudo_ticket :

    #!/bin/sh
    DIR=/var/run/sudo/$PAM_USER
    if [ -d "$DIR" ]; then touch "$DIR"; else mkdir "$DIR"; fi
    

Você deve ter a opção tty_ticket desativada em /etc/sudoers (caso contrário, não faz sentido: um login do Gdm não contaria para o que você faz em um terminal virtual em sua sessão X).

Eu não garanto que isso funcione. Eu não garanto que isso não introduza uma falha de segurança gritante. Use a seu próprio risco.

    
por 22.01.2013 / 01:03
1

Gilles me inspirou na seguinte solução, mais simples. Certifique-se de que o arquivo executável /etc/mdm/PostLogin/Default no Linux-Mint Mate ( /etc/gdm/PostLogin/Default no Ubuntu) contenha a seguinte linha:

touch /var/lib/sudo/$LOGNAME
    
por 23.01.2013 / 20:31