PAM

Πώς να ρυθμίσετε την είσοδο

Έχετε δύο επιλογές: pam_p11 ή PAM Poldi.

Η λύση με το pam_p11 είναι πιο δύσκολο να επιτευχθεί και βασίζεται σε πιστοποιητικά S/MIME. Παρακαλούμε ρίξτε μια ματιά στην τεκμηρίωση ` <https://opensc.github.io/pam_pkcs11/doc/pam_pkcs11.html>`__ για περισσότερες πληροφορίες.

Το PAM Poldi 0.4.1 λειτουργεί άψογα με το Nitrokey για την αυθεντικοποίηση PAM με κλειδιά RSA (δείτε την Αντιμετώπιση προβλημάτων για πληροφορίες σχετικά με τα κλειδιά ECC). Εκτός από την εγκατάσταση του Poldi (π.χ. sudo apt-get install libpam-poldi στο Ubuntu) απαιτούνται τα ακόλουθα βήματα για να λειτουργήσει.

Είναι απαραίτητο να έχουν ήδη δημιουργηθεί κλειδιά στο Nitrokey, καθώς το κλειδί ελέγχου ταυτότητας χρησιμοποιείται από το PAM.

  1. Αρχικά πρέπει να μάθετε το αναγνωριστικό εφαρμογής του Nitrokey σας. Μοιάζει ή είναι παρόμοιο με το D00600012401020000000000xxxxxxxx.

    gpg --card-status | grep Application
    
  2. Τώρα πρέπει να προσθέσετε μια γραμμή στο /etc/poldi/localdb/users η οποία θα περιέχει τις ακόλουθες πληροφορίες <YourApplicationID> <YourUsername>.

    Αυτό θα μπορούσε να μοιάζει με D00600012401020000000000xxxxxxxx nitrokeyuser. Τώρα μεταφέρετε το δημόσιο κλειδί από το Nitrokey στην τοπική db του Poldis:

    sudo sh -c 'gpg-connect-agent "/datafile /etc/poldi/localdb/keys/<YourApplicationID>" "SCD READKEY --advanced OPENPGP.3" /bye'
    

    Λάβετε υπόψη σας ότι πρέπει να εισάγετε το αναγνωριστικό της αίτησής σας στην παραπάνω γραμμή μαζί με το αναγνωριστικό του Nitrokey σας!

    Στη συνέχεια, πρέπει να ρυθμίσετε το PAM. Απλά προσθέστε το auth sufficient pam_poldi.so στα αρχεία ρυθμίσεων PAM σύμφωνα με τις ανάγκες σας:

    • /etc/pam.d/common-auth για γραφική είσοδο χρήστη

    • /etc/pam.d/login για είσοδο στην κονσόλα

    • /etc/pam.d/sudo για έλεγχο ταυτότητας sudo

    • /etc/pam.d/gnome-screensaver για επιστροφή από κλειδωμένη οθόνη

    • και άλλα αρχεία στο /etc/pam.d

    Σημείωση

    Το PAM είναι επικίνδυνο να παίζετε με αυτό, οπότε βεβαιωθείτε ότι έχετε έναν τρόπο πρόσβασης στο μηχάνημα αν διακόψετε εντελώς τον έλεγχο ταυτότητας. Θυμηθείτε ότι η εκκίνηση σε κατάσταση διάσωσης από το GRUB απαιτεί κωδικό πρόσβασης root, οπότε κρατήστε αυτόν ή ένα live CD που μπορεί να διαβάσει τα συστήματα αρχείων σας.

Εδώ θα βρείτε περισσότερες οδηγίες (στα γερμανικά, μερικώς ξεπερασμένες).

Αντιμετώπιση προβλημάτων

Εάν λάβετε ένα σφάλμα παρόμοιο με το ERR 100663414 Invalid ID <SCD> θα πρέπει να δοκιμάσετε αντί αυτού

poldi-ctrl -k > <YourApplicationID>; sudo mv <YourApplicationID> /etc/poldi/localdb/keys

Λάβετε υπόψη σας ότι πρέπει να εισάγετε το αναγνωριστικό της αίτησής σας στην παραπάνω γραμμή με το αναγνωριστικό του στικ σας!

Κλειδιά ECC

Δυστυχώς, το Poldi δεν έχει ακόμα υποστήριξη για κλειδιά ECC. Υπάρχει όμως ένα patch για τα κλειδιά ECC που χρησιμοποιούνται με το Nitrokey Start. Αυτό περιλαμβάνεται ήδη στον κύριο κλάδο του αποθετηρίου ανάπτυξης του Poldi και έτσι θα κυκλοφορήσει σε μια νεότερη έκδοση τελικά. Εν τω μεταξύ, η μόνη επιλογή είναι να κατασκευάσετε το Poldi από τον πηγαίο κώδικα.