tacacs+ для аутентификации / авторизации в Linux с использованием pam_tacplus
Я использую TACACS+ для аутентификации пользователей Linux с помощью модуля PAM pam_tacplus.so, и он работает без проблем.
Я изменил модуль pam_tacplus, чтобы удовлетворить некоторые из моих пользовательских требований.
Я знаю, что по умолчанию TACACS+ не имеет никаких средств для поддержки групп linux или контроля уровня доступа к командам linux bash, однако мне было интересно, есть ли способ передать некоторую информацию со стороны сервера TACACS+, чтобы модуль pam_tacplus.so который можно использовать для разрешения / запрета или изменения группы пользователей на лету [из самого модуля pam].
Пример: если бы я мог передать число priv-lvl с сервера клиенту и который мог бы использоваться для принятия некоторых решений в модуле PAM.
PS: Я бы предпочел метод, который не требует модификации на стороне сервера [код], все модификации должны быть сделаны на стороне Linux, т.е. модуль pam_tacplus.
Спасибо за любую помощь.
1 ответ
В конце концов я получил это работает.
Выпуск 1:
Проблема, с которой я столкнулся, заключалась в том, что документации по настройке сервера TACACS+ для устройств, не принадлежащих к CISCO, очень мало.
Выпуск 2:
Версия tac_plus, которую я использую
tac_plus -v
tac_plus version F4.0.4.28
не похоже на поддержку
service = shell protocol = ssh
опция в файле tac_plus.conf.
Так что в конце концов я использовал
service = system {
default attribute = permit
priv-lvl = 15
}
На стороне клиента (pam_tacplus.so),
Я отправил службу AVP = система на этапе авторизации (pam_acct_mgmt), которая вынудила службу вернуть priv-lvl, определенный в файле конфигурации, который я использовал для уровня привилегий устройства пользователя.
ПРИМЕЧАНИЕ. В некоторых документах упоминается, что service=system больше не используется. Так что эта опция может не работать с устройствами CISCO.
НТН