Я хотел бы знать, чтобы разрешить (разрешить только набор команд) пользователей на консоли Linux (bash). Я пока могу аутентифицировать пользователей ssh через TACACS +, но авторизация не работает.
Это мой файл tac_plus.conf, очень упрощенный для тестирования:
accounting file = /tmp/tacacs.acc
#default authentication = file /etc/passwd
user=bart {
default service = deny
pap = cleartext "bart"
service = ppp protocol = lcp {
priv-lvl = 15
idletime = 10
}
cmd = telnet {
# permit specified telnets
permit 131\.108\.13\.[0-9]+
permit 128\.[0-9]+\.12\.3
}
}
Как мне взаимодействовать с PAM (если это так), чтобы только разрешить пользователю использовать команды, заданные TACACS? Я настроил PAM так:
account sufficient pam_tacplus.so debug server=192.168.56.19 service=ppp protocol=lcp
auth sufficient pam_tacplus.so debug server=192.168.56.19
password sufficient pam_tacplus.so debug server=192.168.56.19
session sufficient pam_tacplus.so debug server=192.168.56.19 secret=testing123 service=ppp protocol=lcp
Кроме того, есть идеи, почему это работает через SSH, но не через вход в локальную консоль?
Спасибо!
После некоторого исследования я понял, что то, чего я хотел достичь, похоже, не поддерживается.
ACL на уровне команд CLI не разрешен в Linux через TACACS, поэтому я закончил использовать TACACS для аутентификации (используя PAM с LDAP для хранения пользователя / пароля) и LDAP для авторизации (членство в группе).