Estou tentando implementar a autenticação do tacacs em uma caixa do FreeBSD como um cliente. A caixa é na verdade um dispositivo de rede que deve ter essa configuração embutida em seu cli / ui, mas não. Como ele é construído no freebsd, ele tem a biblioteca pam_tacplus.so integrada.
Meu problema é que desejo autenticar em nosso servidor tacacs, mas não desejo configurar contas locais no dispositivo. Aqui está o arquivo pam.conf:
su auth sufficient pam_rootok.so
su auth sufficient pam_unix.so
login auth required pam_unix.so
login account required pam_unix.so
login password required pam_permit.so
login session required pam_permit.so
ftpd auth required pam_unix.so
sshd auth sufficient pam_tacplus.so template_user=testuser
sshd auth required pam_unix.so
sshd account required pam_unix.so
sshd password required pam_permit.so
sshd session required pam_permit.so
telnetd auth required pam_unix.so
passwd password required pam_unix.so no_warn try_first_pass nullok
other auth required pam_unix.so
O endereço IP do servidor tacacs está armazenado em /etc/tacplus.conf e, como vejo falhas no log do servidor tacacs, acredito que a comunicação seja bem-sucedida. Além disso, posso estabelecer a sessão TCP para o servidor na porta 49.
Quando eu tento fazer login via ssh como jimbob, aqui está o que eu vejo no /var/log/auth.log:
<auth.info> Lab-2 sshd[4952]: Invalid user jimbob from 10.0.0.1
<auth.info> Lab-2 sshd[4952]: input_userauth_request: invalid user jimbob
<auth.info> Lab-2 sshd[4952]: Failed none for invalid user jimbob from 10.0.0.1 port 52069 ssh2
<auth.info> Lab-2 sshd[4952]: Failed publickey for invalid user jimbob from 10.0.0.1 port 52069 ssh2
<auth.info> Lab-2 sshd[4952]: Postponed keyboard-interactive for invalid user jimbob from 10.0.0.1 port 52069 ssh2
<auth.info> Lab-2 sshd[4952]: Postponed keyboard-interactive/pam for invalid user jimbob from 10.0.0.1 port 52069 ssh2
<auth.err> Lab-2 sshd[4953]: error: ssh_msg_send: write
Depois de pesquisar, isso parece se aplicar. Isso, no entanto, fala sobre o NSS, que é controlado pelo nsswitch.conf, que não existe neste sistema. Não parece haver um plugin tacacs para o NSS; Não tenho certeza se isso importaria, no meu caso, se houvesse.
Portanto, existe uma maneira de pular a verificação do arquivo passwd local para um usuário antes de acessar a biblioteca pam_tacplus.so? Eu estou supondo que, se houvesse, a opção template_user = seria chutar e tentar usar 'testuser', que existem como um usuário local:
pw user show testuser
testuser:*:1003:1003::0:0:User &:/home/testuser:/usr/bin/bash