kerberos V5.

Vasilis Vasaitis vvas at hal.csd.auth.gr
Thu Jul 27 16:11:22 EEST 2000


On Thu, Jul 27, 2000 at 12:09:41AM +0100, Konstandinos A. Saipas wrote:
> On Wed, 26 Jul 2000, Vasilis Vasaitis wrote:
> 
> >   Φαντάζομαι ότι το μόνο που χρειάζεται να κάνεις είναι να κάνεις το
> > /bin/login ένα symlink στο login.krb5, και αυτό αναλαμβάνει τα υπόλοιπα.
> 
> Δυστυχώς αυτό δε λειτουργεί σωστά (τουλάχιστον κάνοντας μόνο το
> symlink). Με το login.krb5 βάζοντας το login και κατόπιν το passwd,
> εμφανίζει τη πρώτη γραμμή μετά το login:
> Last login: Wed Jul 26 22:34:11 from host.domain και κατόπιν με βγάζει
> πάλι στο login prompt της κονσόλας χωρίς να έχει αφήσει τίποτα στα logs.

  Χμ, δεν ξέρω, αν έχεις προγραμματιστικές κλίσεις μπορείς να δοκιμάσεις
κανένα strace ή ακόμα και debugger. :-)

> > Εναλλακτικά, αν το σύστημα υποστηρίζει PAM (π.χ. RedHat 5.x και άνω, Debian)
> [snipped]
> 
> Έβαλα το pam module με τα απαραίτητα αρχεία στο /etc/pam.d απο το πακέτο
> pam_krb5 ( το σύστημα είναι redhat 6.2 και στον server και στον client),
> και δουλέυει κάπως αλλά όχι απόλυτα σωστά....για να γίνω πιο σαφής:

  Βλέποντας το /etc/pam.d/login παρακάτω, νομίζω ότι όλα τα προβλήματα που
περιγράφεις είναι θέμα ρυθμίσεων. Το PAM είναι ένα πολύ ισχυρό εργαλείο,
αλλά όπως όλα, θα πρέπει και να ρυθμιστεί σωστά. Ας τα πάρουμε όμως με τη
σειρά:

> Όταν στο τοπικό /etc/passwd του client δεν υπάρχει ο συγκεκριμένος user
> τότε το login δεν επιτυγχάνεται (Ακόμα και αν υπάρχει το principle στον
> KDC).

  Μα στο account group, το οποίο είναι υπεύθυνο για να δίνει πληροφορίες για
τον χρήστη, έχεις μόνο το pam_unix.so. Δεν ξέρω αν ο Κέρβερος μπορεί να
δώσει τέτοιες πληροφορίες, π.χ. αν υπάρχει κάποιος χρήστης, οπότε και θα
βάλεις και εκεί το pam_krb5.so (και μάλλον μόνο αυτό), ή αν πρέπει να κάνεις
κάποια άλλη πατέντα. Συμβουλέψου την τεκμηρίωση που διαθέτεις.

> Όταν στο τοπικο /etc/passwd του client υπάρχει entry για τον user αλλά με
> το password κενό στο /etc/shadow πχ saipman:*:11131:0:99999:7:::
> τότε το authentication γίνεται σωστά μέσω του kerberos και μάλιστα κάνει
> obtain τα tickets απο τον KDC ώστε να μπορεί ο user άμεσα να τα
> χρησιμοποιήσει για authentication.
> 
> Όταν στο τοπικό /etc/passwd του client υπάρχει entry για τον user και το
> password στο /etc/shadow είναι το ίδιο με αυτό του kerberos, τότε το
> authentication γίνεται σε UNIX level ( απο τα local files ) και έτσι ενώ
> μεν ο user μπορεί να μπεί στον client, δεν έχει tickets για kerberos
> authentication και πρέπει να τα ζητήσει χειροκίνητα με το kinit. Προφανώς
> αυτό έχει να κάνει με τη σειρά των entries στο /etc/pam.d/login:

  Ναι, η σειρά φταίει. Αν σε ενδιαφέρει να μπορούν να μπουν χρήστες μόνο από
τον Κέρβερο θα βγάλεις τελείως το pam_unix.so από το auth (κάτι που μάλλον
δεν θέλεις για να μπορεί να μπει ο root). Αλλιώς, καλύτερα να βάλεις τον
Κέρβερο πρώτο. Επίσης πρόσεξε πότε θα βάλεις required και πότε sufficient:
το required πρέπει οπωσδήποτε να πετύχει, ενώ για το sufficient πια δεν
χάλασε κι ο κόσμος. Π.χ. δοκίμασε κάτι τέτοιο (αρκεί να είναι σωστό το ένα
από τα δύο password):

auth	sufficient	/lib/security/pam_krb5.so
auth	sufficient	/lib/security/pam_unix.so try_first_pass shadow ...

  Όσο για τα tickets, αυτό μου φαίνεται πολύ περίεργο. Δεν ξέρω, δες την
σχετική τεκμηρίωση.

> #%PAM-1.0
> auth    required        /lib/security/pam_securetty.so
> auth    required        /lib/security/pam_nologin.so
> auth    sufficient      /lib/security/pam_unix.so shadow md5 nullok likeauth
> auth    required        /lib/security/pam_krb5.so use_first_pass
> account required        /lib/security/pam_unix.so
> password        required        /lib/security/pam_cracklib.so
> password        required        /lib/security/pam_unix.so shadow md5 nullok use_authtok
> session required        /lib/security/pam_unix.so
> session optional        /lib/security/pam_krb5.so
> session optional        /lib/security/pam_console.so

> Ακόμα δεν έχω κοιτάξει μήπως μπορεί να λυθεί το πρόβλημα αλλάζωντας τα
> entries στο /etc/pam.d/login μιας και δε είχα χρόνο να διαβάσω το pam
> manual. Any ideas?

  Α, μάλιστα... Δεν είχες χρόνο να διαβάσεις την σελιδούλα του PAM, αλλά για
να στείλεις μήνυμα στην linux-greek-users υπήρχε χρόνος... Ε ρε ξύλο που το
θες... :-)

  Πρώτα εξαντλούμε τα περιθώρια της δικής μας διανόησης και μετά ζητάμε
βοήθεια. Άμα εσύ βαριέσαι να δεις κάποια πράγματα, γιατί να το κάνω εγώ για
σένα; Πάντα φιλικά όλα αυτά, ε;

> > 
> >   Εκτός δηλαδή αν ζητάς κάτι τελείως διαφορετικό 
> [snipped]
> 
> Όχι, αυτό ακριβώς ζητάω, το οποίο δεν έχει πετύχει απόλυτα όπως το
> θέλω. (Δηλαδή να αν υπάρχει το ίδιο password του user στο client, να
> γίνεται σωστά το authentication μεσω kerberos, και ο user να έχει λάβει
> granting ticket απο τοn KDC με το που κάνει login).

  Όπως είπα, γιατί συμβαίνει αυτό που συμβαίνει δηλώνω άγνοια. Πάντως δεν
μας είπες τι θέλεις να γίνεται αν είναι διαφορετικά τα password...

> Και κάτι ακομα· είναι δυνατον αλλάζοντας ο user το password του στον
> client να αλλάζει και το password στον KDC; (ίσως κάτι με PAM);

  Βεβαίως και θα το κάνεις με PAM. Ό,τι χρειάζεσαι βρίσκεται στο
/etc/pam.d/passwd και κυρίως στο group password.

> Ευχαριστώ εκ των πρωτέρων και ελπίζω να μην δημιούργησα πρόβλημα με το
> μέγεθος του email.


-- 
\  /_. _o|o _ \  /_. _ _.o_|_o _ 
 \/(_|_>|||_>  \/(_|_>(_|| |_|_> 
           __                                   
     _. _ /  \|_  _.|  _ _ _|  _.  _|_|_   _ ._ 
\/\/(_|_>| (|/| |(_||o(__>(_|o(_||_||_| |o(_||  
          \__                              _|   



--
linux-greek-users mailing list -- http://lists.hellug.gr




More information about the Linux-greek-users mailing list