NFS Kerberos 구현 시 마운트 후 ~/.Xauthority를 ​​읽을 수 없습니다.

NFS Kerberos 구현 시 마운트 후 ~/.Xauthority를 ​​읽을 수 없습니다.

저는 Kerberos, LDAP, SSSD가 모두 작동하는 Debian Buster를 사용하고 있습니다. NFS를 사용하여 클라이언트에 홈 디렉토리를 마운트했지만 이것이 안전하지 않다는 것을 깨달았습니다. 그래서 Kerberos 마운트를 구현했습니다.

그러나 시작 시 lightdm을 통해 로그인을 시도하면 검은색으로 바뀌고 오류 없이 lightdm 로그인 화면으로 다시 돌아갑니다. 나는 이것을 다음에서 찾았습니다 /var/log/syslog:

Error reading existing Xauthority: Failed to open file “/home/ben/.Xauthority”: Permission denied
Error writing X authority: Failed to open X authority /home/ben/.Xauthority: Permission denied

tty1su ben그 이후로 root , run 으로 로그인했는데 kinit내가 소유한 홈 디렉터리의 어떤 파일도 읽거나 쓸 수 없는 것 같습니다. 다른 파일에 설정된 파일만 가능합니다.

/etc/exports내 서버에 있는 내용은 다음과 같습니다 .

/home/ 192.168.16.0/24(rw,sec=krb5p,sync,fsid=0,crossmnt,no_subtree_check)

이 내 꺼야 /etc/fstab:

192.168.16.20:/home /home nfs defaults,exec 0 0

요청 시 클라이언트의 keytab 파일을 제공하십시오.

host/client@DOMAIN
host/client@DOMAIN
nfs/client@DOMAIN
nfs/client@DOMAIN

서버에 있는 Kadmin의 NFS 주체:

nfs/server@DOMAIN
nfs/client@DOMAIN

나는 이것을 한동안 디버깅해 왔지만 실제로 어디로 가는 데 어려움을 겪고 있습니다. 마운트가 올바르게 설치된 것 같습니다. 내 사용자에게 Kerberos 티켓이 있습니다. 권한은 완벽해 보이며 서버에서 동일한 사용자로 읽기/쓰기가 잘 가능합니다.

이 문제를 해결하는 데 도움이 되는 추가 정보가 필요한 경우 알려주시기 바랍니다.

고쳐 쓰다 클라이언트에 로그인하려고 할 때 서버의 인증 로그에서 이것을 발견했습니다.

NEEDED_PREAUTH: ben@DOMAIN for krbtgt/DOMAIN@DOMAIN, Additional pre-authentication required
ISSUE: authtime 1622558991, etypes {rep=18 tkt=18 ses=18}, ben@DOMAIN for krbtgt/DOMAIN@DOMAIN

ntpdate하지만 서버에서 NTP를 실행하고 클라이언트에서 서버를 가리키기 때문에 이유를 모르겠습니다 . 또한 watch -n 1 date -R클라이언트와 서버에서 실행하고 터미널 창을 나란히 놓으면 정확히 같은 시간이 표시됩니다. 이 오류는 인증 시에도 발생하는데, kinit이 문제와 관련이 있는지는 잘 모르겠습니다.

답변1

그래서 나는 올바른 방향을 가리키는 오류를 결코 발견하지 못했습니다. 하지만 내 사용자가 uid 1000을 표시하고 내 홈 디렉터리의 uid도 1000을 표시하기 때문에 ID 매핑에 문제가 있는 것 같습니다. 구성 파일을 조작하고 서버와 클라이언트를 몇 번 다시 시작한 후 문제를 해결했습니다.

해결책
/etc/idmapd.confOn Server 섹션 에 다음 줄을 추가합니다 [General].

Domain = domain
Local-Realms = DOMAIN

관련 정보