Kerberos화된 nfs 홈 디렉토리 마운트를위한 설정-gssd가 유효한 Kerberos 티켓을 찾을 수 없음 설정은 기존 클라이언트 및

우리의 홈 디렉토리는 kerberized nfs를 통해 익스포트되므로 사용자는 홈을 마운트 할 수있는 유효한 kerberos 티켓이 필요합니다. 이 설정은 기존 클라이언트 및 서버에서 잘 작동합니다.

이제 11.10 클라이언트를 추가하여 pam_mount와 함께 ldap & kerberos를 설정하려고합니다. LDAP 인증이 작동하고 사용자는 ssh를 통해 로그인 할 수 있지만 집을 마운트 할 수는 없습니다.

pam_mount가 루트로 마운트되도록 구성되면 gssd가 유효한 kerberos 티켓을 찾지 못해 마운트에 실패합니다.

Nov 22 17:34:26 zelda rpc.gssd[929]: handle_gssd_upcall: 'mech=krb5 uid=0 enctypes=18,17,16,23,3,1,2 '
Nov 22 17:34:26 zelda rpc.gssd[929]: handling krb5 upcall (/var/lib/nfs/rpc_pipefs/nfs/clnt2)
Nov 22 17:34:26 zelda rpc.gssd[929]: process_krb5_upcall: service is '<null>'
Nov 22 17:34:26 zelda rpc.gssd[929]: getting credentials for client with uid 0 for server purple.physcip.uni-stuttgart.de
Nov 22 17:34:26 zelda rpc.gssd[929]: CC file '/tmp/krb5cc_65678_Ku2226' being considered, with preferred realm 'PURPLE.PHYSCIP.UNI-STUTTGART.DE'
Nov 22 17:34:26 zelda rpc.gssd[929]: CC file '/tmp/krb5cc_65678_Ku2226' owned by 65678, not 0
Nov 22 17:34:26 zelda rpc.gssd[929]: WARNING: Failed to create krb5 context for user with uid 0 for server purple.physcip.uni-stuttgart.de
Nov 22 17:34:26 zelda rpc.gssd[929]: doing error downfall

반면에 pam_mount가 noroot = 1 옵션으로 구성된 경우 볼륨을 전혀 마운트 할 수 없습니다.

Nov 22 17:33:58 zelda sshd[2226]: pam_krb5(sshd:auth): user phy65678 authenticated as phy65678@PURPLE.PHYSCIP.UNI-STUTTGART.DE
Nov 22 17:33:58 zelda sshd[2226]: Accepted password for phy65678 from 129.69.74.20 port 51875 ssh2
Nov 22 17:33:58 zelda sshd[2226]: pam_unix(sshd:session): session opened for user phy65678 by (uid=0)
Nov 22 17:33:58 zelda sshd[2226]: pam_mount(mount.c:69): Messages from underlying mount program:
Nov 22 17:33:58 zelda sshd[2226]: pam_mount(mount.c:73): mount: only root can do that
Nov 22 17:33:58 zelda sshd[2226]: pam_mount(pam_mount.c:521): mount of /Volumes/home/phy65678 failed

그렇다면 특정 그룹의 사용자가 nfs 마운트를 수행 할 수있게하려면 어떻게해야합니까? 이것이 작동하지 않으면 pam_mount가 root를 사용하도록하지만 올바른 uid를 전달할 수 있습니까?



답변

이 스레드를 참조하십시오 :

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=190267

fstab에 “user”옵션이 없으면 root 만 볼륨을 마운트 할 수 있습니다. mount.c에는 모든 사용자가 mount 명령을 실행 가능하게하는 것에 대한 설명이 있지만 관리자가이를 거부했습니다 (주석은 보안 관련 사항에 대해 언급하지만 더 구체적이지는 않습니다).

원래 업스트림과 달리 데비안 버전의 libpam-mount 는 root가 아닌 사용자 uid를 사용하여 mount 명령을 실행 합니다. 루트로 사용자 지정 마운트를 수행하는 것은 보안상의 허점입니다. 그런 다음 모든 사용자는 로그인시 볼륨을 / usr 또는 / tmp에 마운트하거나 로그 아웃시 다른 볼륨을 마운트 해제 할 수 있습니다.

즉, libpam-mount는 사용자가 할 수있는 일만 할 수 있습니다.

그래서 어떤 제안?

fstab에 사용자 항목을 넣으면됩니다. 이것이 어떻게 작동하는지 알려주세요. 다른 파일 시스템 (ncp, smb)에는 smbmount 또는 ncpmount와 같은 사용자 호출 가능 마운트 바이너리가 있습니다. 루프백 마운트에는 다음과 같은 것이 없습니다.