
나는 pam_tacplus.so PAM 모듈을 사용하여 Linux 사용자를 인증하기 위해 TACACS+를 사용하고 있으며 문제 없이 작동합니다.
내 사용자 정의 요구 사항 중 일부를 충족하기 위해 pam_tacplus 모듈을 수정했습니다.
기본적으로 TACACS+에는 Linux 그룹을 지원하거나 Linux bash 명령에 대한 액세스 수준 제어를 지원하는 수단이 없다는 것을 알고 있습니다. 그러나 TACACS+ 서버 측에서 일부 정보를 전달하여 pam_tacplus.so 모듈을 허용할 수 있는 방법이 있는지 궁금합니다. 이는 [pam 모듈 자체에서] 즉석에서 사용자 그룹을 허용/거부하거나 수정하는 데 사용할 수 있습니다.
예: 서버에서 클라이언트로 priv-lvl 번호를 전달할 수 있고 PAM 모듈에서 의사 결정을 내리는 데 사용될 수 있는 경우.
추신: 저는 서버 측 [코드]에서 수정을 포함하지 않는 방법을 선호합니다. 모든 수정은 Linux 측, 즉 pam_tacplus 모듈에서 수행되어야 합니다.
도움을 주셔서 감사합니다.
답변1
결국 나는 그것을 작동하게 만들었습니다.
문제 1:
제가 직면한 문제는 CISCO가 아닌 장치에 대해 TACACS+ 서버를 구성하는 데 사용할 수 있는 문서가 거의 없다는 것입니다.
문제 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)에서는
인증 단계(pam_acct_mgmt)에서 AVP service=system을 보냈고, 이로 인해 서비스는 구성 파일에 정의된 priv-lvl을 반환하게 되었으며, 이를 사용자의 장치 권한 수준에 사용했습니다.
참고: 일부 문서에서는 service=system이 더 이상 사용되지 않는다고 언급되어 있습니다. 따라서 이 옵션은 CISCO 장치에서는 작동하지 않을 수 있습니다.
HTH