There is an environment variable which can be set to control the name of the cache file: set KRB5CCNAME to the name of the cache file to use.
Mit freundlichem Gruß / Kind regards / Cordialement
From: [email]firstname.lastname@example.org[/email] [mailto:email@example.com] On Behalf Of Ido Levy
Sent: Tuesday, January 15, 2008 3:53 PM
Cc: Olga Dodin
Subject: Fw: SSO with telnet/rlogin/rsh
We did a dipper investigation of this issue and found out that the difference between sshd and telnetd is in the user credential cache file name.
While ssh to the machine the credential cache file name is composed using the numeric uid of the user like /tmp/krb5cc_XXXX. On the other hand while telnet to the machine the credential cache file name is composed using the telnet process number.
As a result rpc.gssd is unable to find the credential cache file for the user since it tries to look for the files having the numeric uid as part of their name.
In the /tmp directory the following file was created:
ls -ltr /tmp/krb5cc_*
-rw------- 1 user_name bin 431 Jan 15 16:41 /tmp/krb5cc_p3715
Note that 3715 is the pid of the telnet process.
Following is the output of the rpc.gssd daemon when we use telnet to enter the machine:
xinetd: START: telnet pid=3715 from=x.xxx.xx.xx
rpc.gssd: handling krb5 upcall
rpc.gssd: Using keytab file '/etc/krb5.keytab'
rpc.gssd: INFO: Credentials in CC 'MEMORY:/tmp/krb5cc_machine_REALM'
are good until 1200491925
rpc.gssd: using MEMORY:/tmp/krb5cc_machine_REALM as credentials cache for machine creds
rpc.gssd: using environment variable to select krb5 ccache MEMORY:/tmp/krb5cc_machine_REALM
rpc.gssd: creating context using fsuid 0 (save_uid 0)
rpc.gssd: creating tcp client for server nfs_server.domain
rpc.gssd: creating context with server [email]nfs@nfs_server.doma[/email]in
rpc.gssd: DEBUG: serialize_krb5_ctx: lucid version!
rpc.gssd: prepare_krb5_rfc1964_buffer: serializing keys with enctype
4 and length 8
rpc.gssd: doing downcall
rpc.gssd: handling krb5 upcall
rpc.gssd: getting credentials for client with uid XXXX for server nfs_server.domain
rpc.gssd: using FILE:/tmp/krb5cc_XXXX as credentials cache for client with uid XXXX for server nfs_server.domain
rpc.gssd: using environment variable to select krb5 ccache FILE:/tmp/krb5cc_XXXX
rpc.gssd: creating context using fsuid XXXX (save_uid 0)
rpc.gssd: ERROR: GSS-API: error in gss_acquire_cred(): Unspecified GSS failure. Minor code may provide more information - No credentials cache found
rpc.gssd: WARNING: Failed while limiting krb5 encryption types for user with uid XXXX
rpc.gssd: WARNING: Failed to create krb5 context for user with uid XXXX for server nfs_server.domain
rpc.gssd: doing error downcall
Ido & Olga
11:08 PM cc
SSO with telnet/rlogin/rsh
I am trying to set up SSO in a Linux environment which has the following components up and running:.
Kerberized NFSv4 ( security flavor krb5 )
When using ssh everything works fine, tickets ( for both user and nfs ) are forward and when the user login to a machine both tickets are set.
Unfortunately when using telnet/rlogin/rsh ( the ones that shipped with krb5-workstation ) the user login to the machine but fails to cd to his home directory which is automounted using kerberized ( kerberos 5 ) NFSv4.
When issuing 'klist -5' just the user principal is presented and not the NFS principal.
Does anyone successfully set SSO with telnet/rlogin/rsh in a kerberized
NFSv4 environment when using automount.
Kerberos mailing list [email]Kerberos@mit.edu[/email]