Graham Freeman <[EMAIL PROTECTED]> writes:
> Folks,
>
> Sorry about my last post, which was MIME-encoded. Here's a repost with
> some updated information.
>
> First, let me start by saying that I have only a working knowledge of
> Solaris, Kerberos, and PAM. I'm not a programmer, but I (mostly) know how
> these things work, what they do, and how to use them.
>
> I hope this is the right forum for these questions. cc:ing me on your
> reply would be appreciated, although I'll make an effort to check back on
> this forum.
>
> That said, I'm having trouble with two different flavours of pam_krb5 on
> Solaris 8. I hope you can help.
>
>
> ...With the stock Solaris 8 pam_krb5...
>
> With the stock Solaris 8 PAM, things work better than with the fcusack
> PAM.
>
> ***Using telnet***
>
> When logging in from a Linux machine using RedHat 7.1 (with kerberos
> packages) using "telnet [hostname]" I am able to log in with the correct
> username and password. I am also given a proper-looking K5 ticket, as
> reported by "klist". However, this warning appears in the log:
>
> Sep 14 15:41:18 monster login: [ID 257133 auth.error] PAM-KRB5: no warning possible
yea, SEAM has a daemon ktkt_warnd(1M) that warns users when thier krb5 creds
are about to expire (this is very important in a gss/krb5 nfs env).
So the call to the daemon is failing, make sure it's running.
>
> and then, after I run "kdestroy" and logout, this message appears in the
> log:
>
> Sep 14 15:41:30 monster telnetd[13867]: [ID 390226 daemon.error] PAM-KRB5:Could not
>obtain principal name
get me details on the conditions this happens and we can file a bug
if needbe.
Btw, there are several pam_krb5 patches avail or in the works, so be
sure to grab them Sun. And take a look at the SEAM doc on
docs.sun.com as the pam.conf stuff can be confusing. In particuliar,
note some krb5 entries are to "kinit" such as
dtlogin auth optional /usr/lib/security/$ISA/pam_krb5.so.1 try_first_pass
and others are to facilitate secure (relatively:-) single-sign-on such
as
ktelnet auth required /usr/lib/security/$ISA/pam_krb5.so.1 acceptor
And note this only works with the SEAM versions of the krb5 remote app
servers, unbundled for Solaris 2.6-8, and avail on 8 for no cost from
http://www.sun.com/bigadmin/content/adminPack/index.html
And be sure to grab the enhanced security krb5 gss mech from sun.com
too (this allows privacy in gss/krb5 nfs and the krb5 admin protocol).
hope this helps,
glenn
>
> ***Using SSH***
>
> I'm running OpenSSH 2.9p2 with the Kerberos/GSSAPI patch from the
> following URL:
> http://www.sxw.org.uk/computing/patches/openssh.html
>
> It configured with --with-pam and --with-kerberos5=/usr/local and compiled
> cleanly with gmake.
>
> When I try to login from my RH Linux 7.1 box (identical OpenSSH
> installation w/patch) via 'ssh -C -v -l username hostname', I can see that
> it successfully verifies the password via Kerberos (and an entry for the
> login appears in the 'last' log) but immediately kicks me back out without
> giving me a shell. The following two lines appear in /var/adm/messages:
>
> Sep 14 15:21:59 monster sshd[13756]: [ID 257133 auth.error] PAM-KRB5: no warning
>possible
> Sep 14 15:21:59 monster sshd[13756]: [ID 390226 auth.error] PAM-KRB5:Could not
>obtain principal name
>
>
> ...With http://www.fcusack.com/soft/pam_krb5-1.0.tar.gz...
>
> ***pam_krb5 compilation process***
>
> # pwd
> /var/tmp/krb/pam/pam_krb5
> # vi Makefile
> [edited Makefile]
> # gmake
> gcc -c -O2 -fPIC -I/usr/local/include pam_krb5_auth.c
> pam_krb5_auth.c: In function `pam_sm_setcred':
> pam_krb5_auth.c:291: warning: assignment discards qualifiers from pointer
> target type
> gcc -c -O2 -fPIC -I/usr/local/include pam_krb5_pass.c
> gcc -c -O2 -fPIC -I/usr/local/include pam_krb5_acct.c
> gcc -c -O2 -fPIC -I/usr/local/include pam_krb5_sess.c
> gcc -c -O2 -fPIC -I/usr/local/include support.c
> gcc -o pam_krb5.so.1 -G pam_krb5_auth.o pam_krb5_pass.o pam_krb5_acct.o
> pam_krb5_sess.o support.o -lpam -lnsl -lsocket -L/usr/local/lib -lkrb5
> -lk5crypto -lcom_err
> # gmake install
> cp pam_krb5.so.1 /usr/lib/security
> chown root:sys /usr/lib/security/pam_krb5.so.1
> ln -s ./pam_krb5.so.1 /usr/lib/security/pam_krb5.so
> cp pam_krb5.5 /usr/local/man/man5
> chown root:sys /usr/local/man/man5/pam_krb5.5
> # ls -l /usr/lib/security/pam_krb5.so*
> lrwxrwxrwx 1 root other 15 Sep 14 15:31 /usr/lib/security/pam_krb5.so
>-> ./pam_krb5.so.1
> -rwxr-xr-x 1 root sys 27392 Sep 14 15:31 /usr/lib/security/pam_krb5.so.1
> #
>
> *** With telnet ***
>
> When I try to telnet from my RH 7.1 box, I'm refused login and the
> following error appears in /var/adm/messages whether or not I use a valid
> username/password pair:
>
> Sep 12 22:06:56 monster login: [ID 487707 auth.error] load_modules: can not open
>module /usr/lib/security/pam_krb5.so.1
>
> *** via SSH ***
>
> I try logging in from my RH 7.1 box with "ssh -C -v -l username hostname".
> Trying the wrong password fails, and trying the right password does the
> same as with the stock Solaris pam_krb5 PAM but yields the following error
> in /var/adm/messages:
>
> Sep 14 15:59:11 monster sshd[13897]: [ID 800047 auth.crit] fatal: PAM setcred
>failed[3]: Error in underlying service module
>
>
>
>
> My system:
> Solaris 8 on an Enterprise 420R w/4 CPUs, 4GB RAM, 2 18GB hard drives
>
> # uname -a
> SunOS monster 5.8 Generic_108528-10 sun4u sparc SUNW,Ultra-80
> #
>
> Also, I'm using MIT's Kerberos 1.2.2 which configured, compiled and
> installed to /usr/local without any trouble. It just occurred to me that
> I didn't remove the default Solaris kerberized apps, but I'm not sure if
> that matters.
>
> Any and all advice would be greatly appreciated. I'm stumped.
>
>
> My pam.conf:
>
> ...begin pam.conf...
>
> #
> #ident "@(#)pam.conf 1.14 99/09/16 SMI"
> #
> # Copyright (c) 1996-1999, Sun Microsystems, Inc.
> # All Rights Reserved.
> #
> # PAM configuration
> #
> # Authentication management
> #
> login auth sufficient /usr/lib/security/$ISA/pam_unix.so.1
> login auth sufficient /usr/lib/security/$ISA/pam_dial_auth.so.1
> #
> rlogin auth sufficient /usr/lib/security/$ISA/pam_rhosts_auth.so.1
> rlogin auth sufficient /usr/lib/security/$ISA/pam_unix.so.1
> #
> dtlogin auth sufficient /usr/lib/security/$ISA/pam_unix.so.1
> #
> rsh auth sufficient /usr/lib/security/$ISA/pam_rhosts_auth.so.1
> su auth sufficient /usr/lib/security/$ISA/pam_unix.so.1
> other auth sufficient /usr/lib/security/$ISA/pam_unix.so.1
> #
> # Account management
> #
> login account requisite /usr/lib/security/$ISA/pam_roles.so.1
> login account required /usr/lib/security/$ISA/pam_unix.so.1
> #
> dtlogin account requisite /usr/lib/security/$ISA/pam_roles.so.1
> dtlogin account required /usr/lib/security/$ISA/pam_unix.so.1
> #
> other account requisite /usr/lib/security/$ISA/pam_roles.so.1
> other account required /usr/lib/security/$ISA/pam_unix.so.1
> #
> # Session management
> #
> other session required /usr/lib/security/$ISA/pam_unix.so.1
> #
> # Password management
> #
> other password required /usr/lib/security/$ISA/pam_unix.so.1
> dtsession auth required /usr/lib/security/$ISA/pam_unix.so.1
> #
> # Support for Kerberos V5 authentication (uncomment to use Kerberos)
> #
> rlogin auth required /usr/lib/security/$ISA/pam_krb5.so.1 try_first_pass
> login auth required /usr/lib/security/$ISA/pam_krb5.so.1 try_first_pass
> dtlogin auth required /usr/lib/security/$ISA/pam_krb5.so.1 try_first_pass
> other auth required /usr/lib/security/$ISA/pam_krb5.so.1 try_first_pass
> dtlogin account optional /usr/lib/security/$ISA/pam_krb5.so.1
> other account optional /usr/lib/security/$ISA/pam_krb5.so.1
> other session optional /usr/lib/security/$ISA/pam_krb5.so.1
> other password optional /usr/lib/security/$ISA/pam_krb5.so.1 try_first_pass
>
> ...end pam.conf...
>
>
> *** update ***
>
> With the pam.conf quoted below, I'm now able to login via SSH (using the
> stock Solaris PAM), but my ticket is owned by 'root' rather than the actual
> user... Huh?
>
>
> ... begin modified pam.conf ...
>
> #
> #ident "@(#)pam.conf 1.14 99/09/16 SMI"
> #
> # Copyright (c) 1996-1999, Sun Microsystems, Inc.
> # All Rights Reserved.
> #
> # PAM configuration
> #
> # Authentication management
> #
> login auth required /usr/lib/security/$ISA/pam_unix.so.1
> login auth required /usr/lib/security/pam_krb5.so.1 try_first_pass
> #
> rlogin auth sufficient /usr/lib/security/$ISA/pam_rhosts_auth.so.1
> rlogin auth sufficient /usr/lib/security/$ISA/pam_unix.so.1
> #
> dtlogin auth sufficient /usr/lib/security/$ISA/pam_unix.so.1
> #
> rsh auth sufficient /usr/lib/security/$ISA/pam_rhosts_auth.so.1
> su auth sufficient /usr/lib/security/$ISA/pam_unix.so.1
> other auth sufficient /usr/lib/security/$ISA/pam_unix.so.1
> #
> # Account management
> #
> login account requisite /usr/lib/security/$ISA/pam_roles.so.1
> login account required /usr/lib/security/$ISA/pam_unix.so.1
> #
> dtlogin account requisite /usr/lib/security/$ISA/pam_roles.so.1
> dtlogin account required /usr/lib/security/$ISA/pam_unix.so.1
> #
> other account requisite /usr/lib/security/$ISA/pam_roles.so.1
> other account required /usr/lib/security/$ISA/pam_unix.so.1
> #
> # Session management
> #
> other session required /usr/lib/security/$ISA/pam_unix.so.1
> #
> # Password management
> #
> other password required /usr/lib/security/$ISA/pam_unix.so.1
> dtsession auth required /usr/lib/security/$ISA/pam_unix.so.1
> #
> # Support for Kerberos V5 authentication (uncomment to use Kerberos)
> #
> rlogin auth required /usr/lib/security/pam_krb5.so.1 try_first_pass
> #login auth required /usr/lib/security/pam_krb5.so.1 try_first_pass
> dtlogin auth required /usr/lib/security/pam_krb5.so.1 try_first_pass
> other auth required /usr/lib/security/pam_krb5.so.1 try_first_pass
> dtlogin account optional /usr/lib/security/pam_krb5.so.1
> other account optional /usr/lib/security/pam_krb5.so.1
> other session optional /usr/lib/security/pam_krb5.so.1
> other password optional /usr/lib/security/pam_krb5.so.1 try_first_pass
>
> ... end modified pam.conf ...
>
>
> Thanks in advance for any help you can provide.
>
> --
>
> Graham Freeman UNIX Systems Manager
> CATS-Instructional Computing tel: +1 831 459 2472
> U.C. Santa Cruz, CA, USA http://www.ic.ucsc.edu/help/