Kevin Coffman wrote:
Hello Michael,
I'm sorry, I should have noticed this before. The client should get a
TGT (AS_REQ) from the KDC for principal nfs/Castoff and then use that
to get a service ticket (TGS_REQ) from the KDC for the service
nfs/BigRed. It presents that service ticket to the server to
authenticate itself. The server uses its key in the keytab (the
nfs/BigRed key) to validate the incoming request from the client. The
server never has to talk to the KDC.
However, you are saying that the client is able to mount the server
only after the server has mounted itself first, correct? How is the
client machine mounting the server? (automount, or manual mount?)
I have no idea how doing the self-referential mount on the server
changes anything for the client, but I think we should be looking
closer at the client, not the server.
What messages do you get from gssd on the client when it fails, and
then when it works after the self-referential mount.
K.C.
K.C.,
I think you are right that I have been misinterpreting things. I have found a few errors on the client and increased the verbosity on some things like idmap, and these changes are improving my understanding, but I am still having the same basic problem.
My objective is to boot the server, and then the client, and have the client mount the server automatically during the boot sequence using fstab. Once I get that working, I might move on and try to automount something.
The BigRed server has the line:
/home/exports/family *.pointlist.shp(sec=krb5,rw,async,fsid=0,crossmnt)
in its export file, which I think should export the directory /home/exports/family and all subdirectories as file system 0 to all clients in the pointlist.shp domain. Correct?
The Castoff client has the line:
BigRed.pointlist.shp:/testmetestme /home/testmetestme nfs4 sec=krb5
in its fstab file, which I think should mount the server directory /home/exports/family/testmetestme at client location /home/testmetestme. Correct?
OK, then. Pardon the length, but here is a typical session:
I boot the client, and I see no messages in any of the client logs indicating NFS is doing anything. However, I do see the following message on the server's krb5kdc log:
BigRed krb5kdc[5586](info): AS_REQ (7 etypes {18 17 16 23 1 3 2}) 192.168.1.112: ISSUE: authtime 1226018558, etypes {rep=16 tkt=16 ses=16},
nfs/Castoff.pointlist.shp <at> POINTLIST.SHP for
krbtgt/POINTLIST.SHP <at> POINTLIST.SHP
So, then I go to the Castoff client and attempt a manual mount:
sudobuddy <at> Castoff:~$ sudo mount -a -t nfs4
[sudo] password for sudobuddy:
mount.nfs4: access denied while mounting BigRed.pointlist.shp:/testmetestme
The following appears in the logs on the client:
Nov 8 22:31:40 Castoff rpc.idmapd[3703]: New client: 4
Nov 8 22:31:40 Castoff rpc.idmapd[3703]: Opened /var/lib/nfs/rpc_pipefs/nfs/clnt4/idmap
Nov 8 22:31:40 Castoff rpc.idmapd[3703]: New client: 5
Nov 8 22:31:40 Castoff rpc.gssd[3727]: handling krb5 upcall
Nov 8 22:31:40 Castoff rpc.gssd[3727]: Full hostname for 'BigRed.pointlist.shp' is 'BigRed.pointlist.shp'
Nov 8 22:31:40 Castoff rpc.gssd[3727]: Full hostname for 'Castoff.pointlist.shp' is 'Castoff.pointlist.shp'
Nov 8 22:31:40 Castoff rpc.gssd[3727]: Key table entry not found while getting keytab entry for 'root/Castoff.pointlist.shp <at> POINTLIST.SHP'
Nov 8 22:31:40 Castoff rpc.gssd[3727]: Success getting keytab entry for 'nfs/Castoff.pointlist.shp <at> POINTLIST.SHP'
Nov 8 22:31:40 Castoff rpc.gssd[3727]: INFO: Credentials in CC 'FILE:/tmp/krb5cc_machine_POINTLIST.SHP' are good until 1226287005
Nov 8 22:31:40 Castoff rpc.gssd[3727]: INFO: Credentials in CC 'FILE:/tmp/krb5cc_machine_POINTLIST.SHP' are good until 1226287005
Nov 8 22:31:40 Castoff rpc.gssd[3727]: using FILE:/tmp/krb5cc_machine_POINTLIST.SHP as credentials cache for machine creds
Nov 8 22:31:40 Castoff rpc.gssd[3727]: using environment variable to select krb5 ccache FILE:/tmp/krb5cc_machine_POINTLIST.SHP
Nov 8 22:31:40 Castoff rpc.gssd[3727]: creating context using fsuid 0 (save_uid 0)
Nov 8 22:31:40 Castoff rpc.gssd[3727]: ERROR: GSS-API: error in gss_acquire_cred(): Unspecified GSS failure. Minor code may provide more information - No credentials cache found
Nov 8 22:31:40 Castoff rpc.gssd[3727]: WARNING: Failed while limiting krb5 encryption types for user with uid 0
Nov 8 22:31:40 Castoff rpc.gssd[3727]: WARNING: Failed to create krb5 context for user with uid 0 with credentials cache FILE:/tmp/krb5cc_machine_POINTLIST.SHP for server BigRed.pointlist.shp
Nov 8 22:31:40 Castoff rpc.gssd[3727]: WARNING: Failed to create krb5 context for user with uid 0 with any credentials cache for server BigRed.pointlist.shp
Nov 8 22:31:40 Castoff rpc.gssd[3727]: doing error downcall
Nov 8 22:31:40 Castoff rpc.gssd[3727]: Failed to write error downcall!
Nov 8 22:31:40 Castoff rpc.idmapd[3703]: Stale client: 5
Nov 8 22:31:40 Castoff rpc.idmapd[3703]: ^I-> closed /var/lib/nfs/rpc_pipefs/nfs/clnt5/idmap
Nov 8 22:31:40 Castoff rpc.gssd[3727]: destroying client clnt5
Nov 8 22:31:40 Castoff rpc.idmapd[3703]: Stale client: 4
Nov 8 22:31:40 Castoff rpc.idmapd[3703]: ^I-> closed /var/lib/nfs/rpc_pipefs/nfs/clnt4/idmap
Nov 8 22:31:40 Castoff rpc.gssd[3727]: destroying client clnt4
Nothing new appears in the logs on the server.
On the client, I give the following commands:
sudobuddy <at> Castoff:~$ sudo /etc/init.d/portmap restart
sudobuddy <at> Castoff:~$ sudo /etc/init.d/nfs-common restart
followed by:
sudobuddy <at> Castoff:~$ sudo mount -a -t nfs4
sudobuddy <at> Castoff:~$
This time, as you see I do not get the access denied error. So:
sudobuddy <at> Castoff:~$ cd /home
sudobuddy <at> Castoff:/home$ cd testmetestme
bash: cd: testmetestme/: Permission denied
sudobuddy <at> Castoff:/home$
OK. This looks good. The mount has worked, but I cannot look into it because I am currently logged in as sudobuddy and not testmetestme, right?
Let's look at the log for the mount command:
------------------------------------------------------------------------------------------------------------------------------------------------
Nov 8 22:36:04 Castoff rpc.gssd[3727]: WARNING: No credentials cache found while destroying credential cache 'FILE:/tmp/krb5cc_machine_POINTLIST.SHP'
Nov 8 22:36:04 Castoff rpc.gssd[3727]: exiting on signal 15
Nov 8 22:36:04 Castoff rpc.statd[3612]: Caught signal 15, un-registering and exiting.
Nov 8 22:36:05 Castoff rpc.statd[6044]: Version 1.1.2 Starting
Nov 8 22:36:05 Castoff rpc.idmapd[6051]: libnfsidmap: using domain: pointlist.shp
Nov 8 22:36:05 Castoff rpc.idmapd[6051]: libnfsidmap: using translation method: nsswitch
Nov 8 22:36:05 Castoff rpc.idmapd[6052]: Expiration time is 600 seconds.
Nov 8 22:36:05 Castoff rpc.idmapd[6052]: nfsdopenone: Opening /proc/net/rpc/nfs4.nametoid/channel failed: errno 2 (No such file or directory)
Nov 8 22:36:05 Castoff rpc.gssd[6055]: rpcsec_gss: debug level is 3
Nov 8 22:36:06 Castoff rpc.gssd[6056]: WARNING: gssd_obtain_kernel_krb5_info: Unable to open '/var/lib/nfs/rpc_pipefs/krb5_info'. Unable to determine Kerberos encryption types supported by the kernel; using defaults (1,3,2).
Nov 8 22:36:06 Castoff rpc.gssd[6056]: beginning poll
Nov 8 22:36:22 Castoff rpc.idmapd[6052]: New client: 6
Nov 8 22:36:22 Castoff rpc.idmapd[6052]: Opened /var/lib/nfs/rpc_pipefs/nfs/clnt6/idmap
Nov 8 22:36:22 Castoff rpc.idmapd[6052]: New client: 7
Nov 8 22:36:22 Castoff rpc.gssd[6056]: handling krb5 upcall
Nov 8 22:36:22 Castoff rpc.gssd[6056]: Full hostname for 'BigRed.pointlist.shp' is 'BigRed.pointlist.shp'
Nov 8 22:36:22 Castoff rpc.gssd[6056]: Full hostname for 'Castoff.pointlist.shp' is 'Castoff.pointlist.shp'
Nov 8 22:36:22 Castoff rpc.gssd[6056]: Key table entry not found while getting keytab entry for 'root/Castoff.pointlist.shp <at> POINTLIST.SHP'
Nov 8 22:36:22 Castoff rpc.gssd[6056]: Success getting keytab entry for 'nfs/Castoff.pointlist.shp <at> POINTLIST.SHP'
Nov 8 22:36:22 Castoff rpc.gssd[6056]: Successfully obtained machine credentials for principal 'nfs/Castoff.pointlist.shp <at> POINTLIST.SHP' stored in ccache 'FILE:/tmp/krb5cc_machine_POINTLIST.SHP'
Nov 8 22:36:22 Castoff rpc.gssd[6056]: INFO: Credentials in CC 'FILE:/tmp/krb5cc_machine_POINTLIST.SHP' are good until 1226288182
Nov 8 22:36:22 Castoff rpc.gssd[6056]: using FILE:/tmp/krb5cc_machine_POINTLIST.SHP as credentials cache for machine creds
Nov 8 22:36:22 Castoff rpc.gssd[6056]: using environment variable to select krb5 ccache FILE:/tmp/krb5cc_machine_POINTLIST.SHP
Nov 8 22:36:22 Castoff rpc.gssd[6056]: creating context using fsuid 0 (save_uid 0)
Nov 8 22:36:22 Castoff rpc.gssd[6056]: creating tcp client for server BigRed.pointlist.shp
Nov 8 22:36:22 Castoff rpc.gssd[6056]: creating context with server nfs <at> BigRed.pointlist.shp
Nov 8 22:36:22 Castoff rpc.gssd[6056]: in authgss_create_default()
Nov 8 22:36:22 Castoff rpc.gssd[6056]: in authgss_create()
Nov 8 22:36:22 Castoff rpc.gssd[6056]: authgss_create: name is 0x8058a28
Nov 8 22:36:22 Castoff rpc.gssd[6056]: authgss_create: gd->name is 0x8059e90
Nov 8 22:36:22 Castoff rpc.gssd[6056]: in authgss_refresh()
Nov 8 22:36:22 Castoff rpc.gssd[6056]: struct rpc_gss_sec:
Nov 8 22:36:22 Castoff rpc.gssd[6056]: mechanism_OID: { 1 2 134 72 134 247 18 1 2 2 }
Nov 8 22:36:22 Castoff rpc.gssd[6056]: qop: 0
Nov 8 22:36:22 Castoff rpc.gssd[6056]: service: 1
Nov 8 22:36:22 Castoff rpc.gssd[6056]: cred: 0x80594e0
Nov 8 22:36:22 Castoff rpc.gssd[6056]: req_flags: 00000002
Nov 8 22:36:22 Castoff rpc.gssd[6056]: in authgss_marshal()
Nov 8 22:36:22 Castoff rpc.gssd[6056]: xdr_rpc_gss_buf: encode success ((nil):0)
Nov 8 22:36:22 Castoff rpc.gssd[6056]: xdr_rpc_gss_cred: encode success (v 1, proc 1, seq 0, svc 1, ctx (nil):0)
Nov 8 22:36:22 Castoff rpc.gssd[6056]: in authgss_wrap()
Nov 8 22:36:22 Castoff rpc.gssd[6056]: xdr_rpc_gss_buf: encode success (0x806acb8:487)
Nov 8 22:36:22 Castoff rpc.gssd[6056]: xdr_rpc_gss_init_args: encode success (token 0x806acb8:487)
Nov 8 22:36:22 Castoff rpc.gssd[6056]: in authgss_validate()
Nov 8 22:36:22 Castoff rpc.gssd[6056]: in authgss_unwrap()
Nov 8 22:36:22 Castoff rpc.gssd[6056]: xdr_rpc_gss_buf: decode success (0x806a798:4)
Nov 8 22:36:22 Castoff rpc.gssd[6056]: xdr_rpc_gss_buf: decode success (0x8059820:114)
Nov 8 22:36:22 Castoff rpc.gssd[6056]: xdr_rpc_gss_init_res decode success (ctx 0x806a798:4, maj 0, min 0, win 128, token 0x8059820:114)
Nov 8 22:36:22 Castoff rpc.gssd[6056]: authgss_create_default: freeing name 0x8058a28
Nov 8 22:36:22 Castoff rpc.gssd[6056]: in authgss_get_private_data()
Nov 8 22:36:22 Castoff rpc.gssd[6056]: DEBUG: serialize_krb5_ctx: lucid version!
Nov 8 22:36:22 Castoff rpc.gssd[6056]: prepare_krb5_rfc1964_buffer: serializing keys with enctype 4 and length 8
Nov 8 22:36:22 Castoff rpc.gssd[6056]: doing downcall
Nov 8 22:36:22 Castoff rpc.gssd[6056]: in authgss_free_private_data()
Nov 8 22:36:22 Castoff rpc.gssd[6056]: in authgss_destroy()
Nov 8 22:36:22 Castoff rpc.gssd[6056]: in authgss_destroy_context()
Nov 8 22:36:22 Castoff rpc.gssd[6056]: authgss_destroy: freeing name 0x8059e90
Nov 8 22:36:22 Castoff rpc.idmapd[6052]: nss_getpwnam: name '0' domain 'pointlist.shp': resulting localname '(null)'
Nov 8 22:36:22 Castoff rpc.idmapd[6052]: nss_getpwnam: name '0' does not map into domain 'pointlist.shp'
Nov 8 22:36:22 Castoff rpc.idmapd[6052]: Client 6: (user) name "0" -> id "65534"
Nov 8 22:36:22 Castoff rpc.idmapd[6052]: Client 6: (group) name "0" -> id "65534"
Nov 8 22:36:22 Castoff rpc.idmapd[6052]: nss_getpwnam: name '1002' domain 'pointlist.shp': resulting localname '(null)'
Nov 8 22:36:22 Castoff rpc.idmapd[6052]: nss_getpwnam: name '1002' does not map into domain 'pointlist.shp'
Nov 8 22:36:22 Castoff rpc.idmapd[6052]: Client 6: (user) name "1002" -> id "65534"
Nov 8 22:36:22 Castoff rpc.idmapd[6052]: Client 6: (group) name "100" -> id "65534"
Nov 8 22:36:23 Castoff rpc.gssd[6056]: handling krb5 upcall
Nov 8 22:36:23 Castoff rpc.gssd[6056]: getting credentials for client with uid 1000 for server BigRed.pointlist.shp
Nov 8 22:36:23 Castoff rpc.gssd[6056]: CC file 'krb5cc_machine_POINTLIST.SHP' being considered
Nov 8 22:36:23 Castoff rpc.gssd[6056]: '/tmp/krb5cc_machine_POINTLIST.SHP' owned by 0, not 1000
Nov 8 22:36:23 Castoff rpc.gssd[6056]: using FILE:/tmp/krb5cc_1000 as credentials cache for client with uid 1000 for server BigRed.pointlist.shp
Nov 8 22:36:23 Castoff rpc.gssd[6056]: using environment variable to select krb5 ccache FILE:/tmp/krb5cc_1000
Nov 8 22:36:23 Castoff rpc.gssd[6056]: creating context using fsuid 1000 (save_uid 0)
Nov 8 22:36:23 Castoff rpc.gssd[6056]: ERROR: GSS-API: error in gss_acquire_cred(): Unspecified GSS failure. Minor code may provide more information - No credentials cache found
Nov 8 22:36:23 Castoff rpc.gssd[6056]: WARNING: Failed while limiting krb5 encryption types for user with uid 1000
Nov 8 22:36:23 Castoff rpc.gssd[6056]: WARNING: Failed to create krb5 context for user with uid 1000 for server BigRed.pointlist.shp
Nov 8 22:36:23 Castoff rpc.gssd[6056]: doing error downcall
Nov 8 22:36:23 Castoff rpc.gssd[6056]: Failed to write error downcall!
Nov 8 22:36:23 Castoff rpc.gssd[6056]: handling krb5 upcall
Nov 8 22:36:23 Castoff rpc.gssd[6056]: getting credentials for client with uid 1000 for server BigRed.pointlist.shp
Nov 8 22:36:23 Castoff rpc.gssd[6056]: CC file 'krb5cc_machine_POINTLIST.SHP' being considered
Nov 8 22:36:23 Castoff rpc.gssd[6056]: '/tmp/krb5cc_machine_POINTLIST.SHP' owned by 0, not 1000
Nov 8 22:36:23 Castoff rpc.gssd[6056]: using FILE:/tmp/krb5cc_1000 as credentials cache for client with uid 1000 for server BigRed.pointlist.shp
Nov 8 22:36:23 Castoff rpc.gssd[6056]: using environment variable to select krb5 ccache FILE:/tmp/krb5cc_1000
Nov 8 22:36:23 Castoff rpc.gssd[6056]: creating context using fsuid 1000 (save_uid 0)
Nov 8 22:36:23 Castoff rpc.gssd[6056]: ERROR: GSS-API: error in gss_acquire_cred(): Unspecified GSS failure. Minor code may provide more information - No credentials cache found
Nov 8 22:36:23 Castoff rpc.gssd[6056]: WARNING: Failed while limiting krb5 encryption types for user with uid 1000
Nov 8 22:36:23 Castoff rpc.gssd[6056]: WARNING: Failed to create krb5 context for user with uid 1000 for server BigRed.pointlist.shp
Nov 8 22:36:23 Castoff rpc.gssd[6056]: doing error downcall
Nov 8 22:36:23 Castoff rpc.gssd[6056]: Failed to write error downcall!
Nov 8 22:36:23 Castoff rpc.gssd[6056]: handling krb5 upcall
Nov 8 22:36:23 Castoff rpc.gssd[6056]: getting credentials for client with uid 1000 for server BigRed.pointlist.shp
Nov 8 22:36:23 Castoff rpc.gssd[6056]: CC file 'krb5cc_machine_POINTLIST.SHP' being considered
Nov 8 22:36:23 Castoff rpc.gssd[6056]: '/tmp/krb5cc_machine_POINTLIST.SHP' owned by 0, not 1000
Nov 8 22:36:23 Castoff rpc.gssd[6056]: using FILE:/tmp/krb5cc_1000 as credentials cache for client with uid 1000 for server BigRed.pointlist.shp
Nov 8 22:36:23 Castoff rpc.gssd[6056]: using environment variable to select krb5 ccache FILE:/tmp/krb5cc_1000
Nov 8 22:36:23 Castoff rpc.gssd[6056]: creating context using fsuid 1000 (save_uid 0)
Nov 8 22:36:23 Castoff rpc.gssd[6056]: ERROR: GSS-API: error in gss_acquire_cred(): Unspecified GSS failure. Minor code may provide more information - No credentials cache found
Nov 8 22:36:23 Castoff rpc.gssd[6056]: WARNING: Failed while limiting krb5 encryption types for user with uid 1000
Nov 8 22:36:23 Castoff rpc.gssd[6056]: WARNING: Failed to create krb5 context for user with uid 1000 for server BigRed.pointlist.shp
Nov 8 22:36:23 Castoff rpc.gssd[6056]: doing error downcall
Nov 8 22:36:23 Castoff rpc.gssd[6056]: Failed to write error downcall!
Nov 8 22:36:23 Castoff rpc.gssd[6056]: handling krb5 upcall
Nov 8 22:36:23 Castoff rpc.gssd[6056]: getting credentials for client with uid 1000 for server BigRed.pointlist.shp
Nov 8 22:36:23 Castoff rpc.gssd[6056]: CC file 'krb5cc_machine_POINTLIST.SHP' being considered
Nov 8 22:36:23 Castoff rpc.gssd[6056]: '/tmp/krb5cc_machine_POINTLIST.SHP' owned by 0, not 1000
Nov 8 22:36:23 Castoff rpc.gssd[6056]: using FILE:/tmp/krb5cc_1000 as credentials cache for client with uid 1000 for server BigRed.pointlist.shp
Nov 8 22:36:23 Castoff rpc.gssd[6056]: using environment variable to select krb5 ccache FILE:/tmp/krb5cc_1000
Nov 8 22:36:23 Castoff rpc.gssd[6056]: creating context using fsuid 1000 (save_uid 0)
Nov 8 22:36:23 Castoff rpc.gssd[6056]: ERROR: GSS-API: error in gss_acquire_cred(): Unspecified GSS failure. Minor code may provide more information - No credentials cache found
Nov 8 22:36:23 Castoff rpc.gssd[6056]: WARNING: Failed while limiting krb5 encryption types for user with uid 1000
Nov 8 22:36:23 Castoff rpc.gssd[6056]: WARNING: Failed to create krb5 context for user with uid 1000 for server BigRed.pointlist.shp
Nov 8 22:36:23 Castoff rpc.gssd[6056]: doing error downcall
Nov 8 22:36:23 Castoff rpc.gssd[6056]: Failed to write error downcall!
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Hmmm. Maybe it didn't work. Here is the log for the cd command:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Nov 8 23:09:34 Castoff rpc.gssd[6056]: handling krb5 upcall
Nov 8 23:09:34 Castoff rpc.gssd[6056]: getting credentials for client with uid 1000 for server BigRed.pointlist.shp
Nov 8 23:09:34 Castoff rpc.gssd[6056]: CC file 'krb5cc_machine_POINTLIST.SHP' being considered
Nov 8 23:09:34 Castoff rpc.gssd[6056]: '/tmp/krb5cc_machine_POINTLIST.SHP' owned by 0, not 1000
Nov 8 23:09:34 Castoff rpc.gssd[6056]: using FILE:/tmp/krb5cc_1000 as credentials cache for client with uid 1000 for server BigRed.pointlist.shp
Nov 8 23:09:34 Castoff rpc.gssd[6056]: using environment variable to select krb5 ccache FILE:/tmp/krb5cc_1000
Nov 8 23:09:34 Castoff rpc.gssd[6056]: creating context using fsuid 1000 (save_uid 0)
Nov 8 23:09:34 Castoff rpc.gssd[6056]: ERROR: GSS-API: error in gss_acquire_cred(): Unspecified GSS failure. Minor code may provide more information - No credentials cache found
Nov 8 23:09:34 Castoff rpc.gssd[6056]: WARNING: Failed while limiting krb5 encryption types for user with uid 1000
Nov 8 23:09:34 Castoff rpc.gssd[6056]: WARNING: Failed to create krb5 context for user with uid 1000 for server BigRed.pointlist.shp
Nov 8 23:09:34 Castoff rpc.gssd[6056]: doing error downcall
Nov 8 23:09:34 Castoff rpc.gssd[6056]: Failed to write error downcall!
Nov 8 23:09:34 Castoff rpc.gssd[6056]: handling krb5 upcall
Nov 8 23:09:34 Castoff rpc.gssd[6056]: getting credentials for client with uid 1000 for server BigRed.pointlist.shp
Nov 8 23:09:34 Castoff rpc.gssd[6056]: CC file 'krb5cc_machine_POINTLIST.SHP' being considered
Nov 8 23:09:34 Castoff rpc.gssd[6056]: '/tmp/krb5cc_machine_POINTLIST.SHP' owned by 0, not 1000
Nov 8 23:09:34 Castoff rpc.gssd[6056]: using FILE:/tmp/krb5cc_1000 as credentials cache for client with uid 1000 for server BigRed.pointlist.shp
Nov 8 23:09:34 Castoff rpc.gssd[6056]: using environment variable to select krb5 ccache FILE:/tmp/krb5cc_1000
Nov 8 23:09:34 Castoff rpc.gssd[6056]: creating context using fsuid 1000 (save_uid 0)
Nov 8 23:09:34 Castoff rpc.gssd[6056]: ERROR: GSS-API: error in gss_acquire_cred(): Unspecified GSS failure. Minor code may provide more information - No credentials cache found
Nov 8 23:09:34 Castoff rpc.gssd[6056]: WARNING: Failed while limiting krb5 encryption types for user with uid 1000
Nov 8 23:09:34 Castoff rpc.gssd[6056]: WARNING: Failed to create krb5 context for user with uid 1000 for server BigRed.pointlist.shp
Nov 8 23:09:34 Castoff rpc.gssd[6056]: doing error downcall
Nov 8 23:09:34 Castoff rpc.gssd[6056]: Failed to write error downcall!
Nov 8 23:09:34 Castoff rpc.gssd[6056]: handling krb5 upcall
Nov 8 23:09:34 Castoff rpc.gssd[6056]: getting credentials for client with uid 1000 for server BigRed.pointlist.shp
Nov 8 23:09:34 Castoff rpc.gssd[6056]: CC file 'krb5cc_machine_POINTLIST.SHP' being considered
Nov 8 23:09:34 Castoff rpc.gssd[6056]: '/tmp/krb5cc_machine_POINTLIST.SHP' owned by 0, not 1000
Nov 8 23:09:34 Castoff rpc.gssd[6056]: using FILE:/tmp/krb5cc_1000 as credentials cache for client with uid 1000 for server BigRed.pointlist.shp
Nov 8 23:09:34 Castoff rpc.gssd[6056]: using environment variable to select krb5 ccache FILE:/tmp/krb5cc_1000
Nov 8 23:09:34 Castoff rpc.gssd[6056]: creating context using fsuid 1000 (save_uid 0)
Nov 8 23:09:34 Castoff rpc.gssd[6056]: ERROR: GSS-API: error in gss_acquire_cred(): Unspecified GSS failure. Minor code may provide more information - No credentials cache found
Nov 8 23:09:34 Castoff rpc.gssd[6056]: WARNING: Failed while limiting krb5 encryption types for user with uid 1000
Nov 8 23:09:34 Castoff rpc.gssd[6056]: WARNING: Failed to create krb5 context for user with uid 1000 for server BigRed.pointlist.shp
Nov 8 23:09:34 Castoff rpc.gssd[6056]: doing error downcall
Nov 8 23:09:34 Castoff rpc.gssd[6056]: Failed to write error downcall!
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Alright. UID 0 is root. UID 1000 is sudobuddy, and UID 1002 is testmetestme.
sudobuddy and root have no corresponding kerberos principals.
testmetestme does have a kerberos principal.
So, let's try this:
sudobuddy <at> Castoff:/home$ kinit testmetestme
Password for testmetestme <at> MONET.SHP:
sudobuddy <at> Castoff:/home$ cd /testmetestme
sudobuddy <at> Castoff:/home/testmetestme$ ls
Desktop Documents Examples Music Pictures Public Templates Videos
sudobuddy <at> Castoff:/home/testmetestme$ cd Documents/
sudobuddy <at> Castoff:/home/testmetestme/Documents$ ls
directorymounted testfile2.doc testfile.doc testfile.odt
sudobuddy <at> Castoff:/home/testmetestme/Documents$ ls -l
total 124
-rw-r--r-- 1 nobody nogroup 27 2008-10-26 19:31 directorymounted
-rw-r--r-- 1 nobody nogroup 2310 2008-10-26 19:31 testfile2.doc
-rw-r--r-- 1 nobody nogroup 103936 2008-10-26 19:31 testfile.doc
-rw-r--r-- 1 nobody nogroup 7468 2008-10-26 19:31 testfile.odt
sudobuddy <at> Castoff:/home/testmetestme/Documents$
OK. So the testmetestme directory is mounted, but the ownership and permissions are wrong.
Back to the log:
---------------------------------------------------------------------------------------------------------------------------------------------------
Nov 8 23:11:17 Castoff rpc.gssd[6056]: handling krb5 upcall
Nov 8 23:11:17 Castoff rpc.gssd[6056]: getting credentials for client with uid 1000 for server BigRed.pointlist.shp
Nov 8 23:11:17 Castoff rpc.gssd[6056]: CC file 'krb5cc_1000' being considered
Nov 8 23:11:17 Castoff rpc.gssd[6056]: CC file 'krb5cc_1000' matches owner check and has mtime of 1226203867
Nov 8 23:11:17 Castoff rpc.gssd[6056]: CC file 'krb5cc_machine_POINTLIST.SHP' being considered
Nov 8 23:11:17 Castoff rpc.gssd[6056]: '/tmp/krb5cc_machine_POINTLIST.SHP' owned by 0, not 1000
Nov 8 23:11:17 Castoff rpc.gssd[6056]: using FILE:/tmp/krb5cc_1000 as credentials cache for client with uid 1000 for server BigRed.pointlist.shp
Nov 8 23:11:17 Castoff rpc.gssd[6056]: using environment variable to select krb5 ccache FILE:/tmp/krb5cc_1000
Nov 8 23:11:17 Castoff rpc.gssd[6056]: creating context using fsuid 1000 (save_uid 0)
Nov 8 23:11:17 Castoff rpc.gssd[6056]: creating tcp client for server BigRed.pointlist.shp
Nov 8 23:11:17 Castoff rpc.gssd[6056]: creating context with server nfs <at> BigRed.pointlist.shp
Nov 8 23:11:17 Castoff rpc.gssd[6056]: in authgss_create_default()
Nov 8 23:11:17 Castoff rpc.gssd[6056]: in authgss_create()
Nov 8 23:11:17 Castoff rpc.gssd[6056]: authgss_create: name is 0x8058a40
Nov 8 23:11:17 Castoff rpc.gssd[6056]: authgss_create: gd->name is 0x8058138
Nov 8 23:11:17 Castoff rpc.gssd[6056]: in authgss_refresh()
Nov 8 23:11:17 Castoff rpc.gssd[6056]: struct rpc_gss_sec:
Nov 8 23:11:17 Castoff rpc.gssd[6056]: mechanism_OID: { 1 2 134 72 134 247 18 1 2 2 }
Nov 8 23:11:17 Castoff rpc.gssd[6056]: qop: 0
Nov 8 23:11:17 Castoff rpc.gssd[6056]: service: 1
Nov 8 23:11:17 Castoff rpc.gssd[6056]: cred: 0x8059ee8
Nov 8 23:11:17 Castoff rpc.gssd[6056]: req_flags: 00000002
Nov 8 23:11:17 Castoff rpc.gssd[6056]: in authgss_marshal()
Nov 8 23:11:17 Castoff rpc.gssd[6056]: xdr_rpc_gss_buf: encode success ((nil):0)
Nov 8 23:11:17 Castoff rpc.gssd[6056]: xdr_rpc_gss_cred: encode success (v 1, proc 1, seq 0, svc 1, ctx (nil):0)
Nov 8 23:11:17 Castoff rpc.gssd[6056]: in authgss_wrap()
Nov 8 23:11:17 Castoff rpc.gssd[6056]: xdr_rpc_gss_buf: encode success (0x80597e8:490)
Nov 8 23:11:17 Castoff rpc.gssd[6056]: xdr_rpc_gss_init_args: encode success (token 0x80597e8:490)
Nov 8 23:11:17 Castoff rpc.gssd[6056]: in authgss_validate()
Nov 8 23:11:17 Castoff rpc.gssd[6056]: in authgss_unwrap()
Nov 8 23:11:17 Castoff rpc.gssd[6056]: xdr_rpc_gss_buf: decode success (0x8059eb0:4)
Nov 8 23:11:17 Castoff rpc.gssd[6056]: xdr_rpc_gss_buf: decode success (0x8059720:114)
Nov 8 23:11:17 Castoff rpc.gssd[6056]: xdr_rpc_gss_init_res decode success (ctx 0x8059eb0:4, maj 0, min 0, win 128, token 0x8059720:114)
Nov 8 23:11:17 Castoff rpc.gssd[6056]: authgss_create_default: freeing name 0x8058a40
Nov 8 23:11:17 Castoff rpc.gssd[6056]: in authgss_get_private_data()
Nov 8 23:11:17 Castoff rpc.gssd[6056]: DEBUG: serialize_krb5_ctx: lucid version!
Nov 8 23:11:17 Castoff rpc.gssd[6056]: prepare_krb5_rfc1964_buffer: serializing keys with enctype 4 and length 8
Nov 8 23:11:17 Castoff rpc.gssd[6056]: doing downcall
Nov 8 23:11:17 Castoff rpc.gssd[6056]: in authgss_free_private_data()
Nov 8 23:11:17 Castoff rpc.gssd[6056]: in authgss_destroy()
Nov 8 23:11:17 Castoff rpc.gssd[6056]: in authgss_destroy_context()
Nov 8 23:11:17 Castoff rpc.gssd[6056]: authgss_destroy: freeing name 0x8058138
Nov 8 23:11:17 Castoff rpc.idmapd[6052]: nss_getpwnam: name '1002' domain 'pointlist.shp': resulting localname '(null)'
Nov 8 23:11:17 Castoff rpc.idmapd[6052]: nss_getpwnam: name '1002' does not map into domain 'pointlist.shp'
Nov 8 23:11:17 Castoff rpc.idmapd[6052]: Client 6: (user) name "1002" -> id "65534"
Nov 8 23:11:17 Castoff rpc.idmapd[6052]: Client 6: (group) name "100" -> id "65534"
Nov 8 23:13:16 Castoff rpc.idmapd[6052]: nss_getpwnam: name '0' domain 'pointlist.shp': resulting localname '(null)'
Nov 8 23:13:16 Castoff rpc.idmapd[6052]: nss_getpwnam: name '0' does not map into domain 'pointlist.shp'
Nov 8 23:13:16 Castoff rpc.idmapd[6052]: Client 6: (user) name "0" -> id "65534"
Nov 8 23:13:16 Castoff rpc.idmapd[6052]: Client 6: (group) name "0" -> id "65534"
------------------------------------------------------------------------------------------------------------------------------------------------------------
This is typical. I have done the same basic thing with many minor variations, but this illustrates the essential problems:
1. The mount does not work on boot.
2. The first manual mount does not work.
3. After restarting portmap and nfs-common the mount does work, but,
4. Ownership and permissions are messed up.
I had thought the first items 1 through 3 were somehow due to lack of credentials on the server, but apparently I was wrong.
One more thing:
sudobuddy <at> Castoff:/home/testmetestme/Documents$ getent passwd | grep home
syslog:x:102:103::/home/syslog:/bin/false
klog:x:103:104::/home/klog:/bin/false
sudobuddy:x:1000:1000:Mike,,,:/home/sudobuddy:/bin/bash
ntp:x:113:124::/home/ntp:/bin/false
michael3:x:1001:100:me,,,,:/home/michael3:/bin/bash
testmetestme:x:1002:100:noone,,,,:/home/testmetestme:/bin/bash
ntp:x:112:124:ntp:/home/ntp:/bin/false
sudobuddy <at> Castoff:/home/testmetestme/Documents$
So I am not sure why the error:
Nov 8 23:11:17 Castoff rpc.idmapd[6052]: nss_getpwnam: name '1002' domain 'pointlist.shp': resulting localname '(null)'
Nov 8 23:11:17 Castoff rpc.idmapd[6052]: nss_getpwnam: name '1002' does not map into domain 'pointlist.shp'
keeps showing up.
Thanks,
Michael