Por razões, para utilizar comandos de administração do sistema, é necessário usar uma conta de dois fatores. Esta conta é diferente da conta de login normal. Por exemplo, se a conta de login padrão for "alice", a conta de dois fatores pode ser "alice2".
Eu tenho um arquivo sudo
(um por usuário permitido, em /etc/sudoers.d) que é semelhante ao seguinte:
Defaults:alice runaspw,runas_default=alice2
alice ALL=(alice2) /bin/bash
Isso funciona em que "alice" é solicitada a senha para "alice2" (que é uma senha somente de dois fatores) e, em seguida, "alice" é alterada para a conta "alice2". De lá, eu tenho um arquivo sudo
separado que permite que alice2 use qualquer comando sudo
sem uma senha.
Assim, tudo parece estar bem no que diz respeito à autenticação de dois fatores. No entanto, existem alguns comandos que estão isentos dessa abordagem de dois fatores (como reiniciar alguns serviços em determinadas máquinas). Eu também tenho esse trabalho, penso eu, por linhas como
Cmnd_Alias SRVCHTTPD = /usr/bin/systemctl restart httpd
Defaults!SRVCHTTPD !runaspw,runas_default=root
Aqui, o usuário "alice" é solicitado a fornecer a senha para "alice", e o serviço pode ser reiniciado.
Agora, meu problema. Quando um usuário executa sudo -l
para ver quais comandos podem ser executados, o usuário é solicitado a fornecer uma conta de dois fatores (alice2) em vez da conta principal (alice). Eu tentei adicionar um alias de comando ( seguindo uma sugestão aqui no sudo -l ), essencialmente replicando as linhas acima.
Cmnd_Alias SUDOLIST = /usr/bin/sudo -l
Defaults!SUDOLIST !runaspw,runas_default=root
No entanto, essa abordagem não funcionou e o usuário ainda foi solicitado a fornecer uma senha de conta de dois fatores.
Eu apreciaria qualquer conselho sobre o que não estou fazendo corretamente aqui.
Tags sudo