pam_time.so configuração é ignorada, como depurá-lo?

0

Estou tentando usar o módulo pam_time.so para restringir os horários em que alguns usuários podem usar sudo . No entanto, minhas alterações de configuração parecem não ter efeito. Como posso depurar este problema? É possível que minha distro mude o local para /etc/security/time.conf ? O arquivo pam.d/sudo já existia, e se eu comentar outras linhas, posso ver o efeito, mas o arquivo time.conf não existia em nenhum lugar em /etc , então eu poderia simplesmente estar modificando o arquivo errado.

Abaixo está o que eu tentei até agora.

Aqui estão os conteúdos de /etc/security/time.conf :

sudo;*;*;!Al0830-1700
su;*;*;!Al0830-1700

E aqui estão os conteúdos de /etc/pam.d/sudo e /etc/pam.d/su (o padrão na minha distro, mais a primeira linha para carregar pam_time.so ).

account required pam_time.so debug
account required pam_unix.so
auth sufficient pam_unix.so  likeauth try_first_pass
auth required pam_deny.so
password requisite pam_unix.so nullok sha512
session required pam_env.so envfile=…
session required pam_unix.so

Quando tento usar sudo /bin/sh , journalctl -f imprime:

août 09 13:53:15 nixos sudo[7454]:  georges : TTY=pts/6 ; PWD=/home/georges ; USER=root ; COMMAND=/bin/sh
août 09 13:53:15 nixos sudo[7454]: pam_unix(sudo:session): session opened for user root by (uid=0)
  • O debug em /etc/pam.d/sudo parece não ter efeito
  • Algumas fontes na internet usam account requisite pam_time.so em vez de required , mas não faz diferença para mim
  • pamtester -v sudo root open_session não mostra nenhuma informação útil (e é bem-sucedida), mas pamtester -v sudo root authenticate rejeita minha senha e o journalctl log mostra isso, mas os valores em time.conf não têm efeito:

    août 09 13:56:03 nixos unix_chkpwd[7965]: check pass; user unknown
    août 09 13:56:03 nixos unix_chkpwd[7965]: password check failed for user (root)
    
  • Eu tentei remover a linha auth sufficient pam_unix.so … , e o acesso sudo é proibido sem sequer tentar uma senha, por isso sei as alterações em /etc/pam.d/sudo work. pam_time.so não pode ser usado como um módulo auth , no entanto (o log journalctl reclama de um símbolo ausente).

  • Eu tentei reinicializar a máquina, mas a configuração ainda é ignorada.
por Georges Dupéron 09.08.2017 / 14:22

1 resposta

0

O problema provavelmente está em dois curingas.

sudo;*;*;!Al0830-1700

De acordo com a página do manual , ela só pode ser usada uma vez: " Para esses itens o curinga simples '*' pode ser usado apenas uma vez. "

Para contornar isso, você pode usar algo como:

sudo;*;!root;!Al0830-1700

Isso aplica a regra a todos os usuários (exceto root).

Editar : Raspe isso, funciona no meu sistema. btw, você deve testar a pilha da conta com pamtester -v sudo username acct_mgmt

    
por 14.01.2018 / 04:06