Назад | Перейти на главную страницу

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:

Проблема, с которой я столкнулся, заключалась в том, что было очень мало документации для настройки сервера 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 service = system на этапе авторизации (pam_acct_mgmt), что заставило службу вернуть priv-lvl, определенный в файле конфигурации, который я использовал для определения уровня привилегий пользователя.

ПРИМЕЧАНИЕ. В некоторых документах упоминается, что service = system больше не используется. Таким образом, эта опция может не работать с устройствами CISCO.

HTH