sudo 호출 전반에 걸쳐 kerberos 티켓 보존

sudo 호출 전반에 걸쳐 kerberos 티켓 보존

일반 리눅스 박스에서 sudo -s일반 사용자로 사용하면 루트가 되지만 HOME여전히 포인트 ~user이므로 각 관리자는 자신만의 환경 등을 갖게 됩니다(설정되거나 설정되지 않음 env_reset) always_set_home.

홈 디렉토리가 AFS 파일 시스템에 있는 시스템에서는 KRB5CCNAME루트가 /tmp.

그러나 sudo이러한 시스템에서 루트가 아닌 로컬 사용자(예: 서비스 전용 사용자)를 변경하는 경우 새 사용자는 Kerberos 캐시에 액세스할 수 없습니다. 모드 600이 있습니다). 하지만 이렇게 하면 unset KRB5CCNAME && kinit user && aklog && exec bash내 환경에 다시 액세스할 수 있습니다.

그래서 질문은: sudo가 이전에 가지고 있던 kerberos 티켓을 가져와 새 사용자의 kerberos 티켓 캐시에 추가할 수 있는 깔끔한 방법이 있습니까?

답변1

내가 아는 한, 현재 Kerberos PAM 모듈은 이 기능을 지원하지 않는 것 같습니다. 하지만 그것이 어떻게 달성될 수 있는지는 알 수 있습니다. 하지만 그 자체로는 불가능한 것이 없습니다. 기본적으로 current 가 가리키는 티켓 캐시를 열고 이를 반복하며 발견된 각 티켓을 초기 캐시가 설정된 후 새로 생성된 티켓 캐시에 복사하는 pam_krb5코드를 가져와야 합니다 .KRB5CCNAME

자격 증명을 대상 사용자(누구나 포함)에게 노출하므로 이는 기본값이 아닌 옵션이어야 합니다.기타누가 해당 사용자가 될 수 있는지) 이는 잠재적으로 위험합니다.

즉각적인 솔루션이 필요하지만 ksu그럴 필요가 없는 sudo경우 ksu현재 Kerberos 티켓 캐시를 보존하는 것이 이미 지원됩니다(적어도 MIT Kerberos 버전에서는).

관련 정보