===== NIS - Κεντρική Πιστοποίηση Δικτυακών χρηστών ===== Η Υπηρεσία NIS - Network Information Service προσφέρει την δυνατότητα να πιστοποιούνται σε έναν κεντρικό server δικτυακοί χρήστες linux. Λειτουργεί σε συνδυασμό με την υπηρεσία NFS - Network Filesystem Service η οποία τους παρέχει τα αρχεία τους από τον κεντρικό server. ==== Εγκατάσταση - Ρύθμιση Εξυπηρετητή ==== Εγκαθιστούμε το πακέτο nis στο μηχάνημα εξυπηρετητή aptitude install nis και επιλέγουμε ένα όνομα για τον τομέα μας π.χ. mydomain.local . (θα αποθηκευτεί στο αρχείο /etc/defaultdomain Στην συνέχεια τροποποιούμε το αρχείο /etc/default/nis ώστε να ορίσουμε τον υπολογιστή μας ώς server NISSERVER=master NISCLIENT=false Επανεκκινούμε τον server από το script εγκατάστασής του με την εντολή dpkg-reconfigure nis Στο σημείο αυτό μπορούμε να ελέγξουμε εάν τρέξει αρχικά η υπηρεσία με την παρακάτω εντολή rpcinfo -u localhost ypserv Θα πρέπει να εμφανίσει κάτι αντίστοιχο με program 100004 version 1 ready and waiting program 100004 version 2 ready and waiting Στην συνέχεια αρχικοποιούμε την βάση δεδομένων /usr/lib/yp/ypinit -m Η εκτέλεση θα πρέπει να ολοκληρωθεί ομαλά χωρίς κάποιο μήνυμα λάθους Τέλος τρέχουμε ξανά το scipt επαναρρύθμισης του nis με dpkg-reconfigure nis ==== Εγκατάσταση - Ρύθμιση Πελάτη ==== Εγκαθιστούμε το πακέτο nis στο μηχάνημα πελάτη aptitude install nis και επιλέγουμε το όνομα του τομέα που δημιουργήσαμε ως server π.χ. mydomain.local (θα αποθηκευτεί στο αρχείο /etc/defaultdomain Θεωρούμε ότι έχουμε ήδη ρυθμίσει έναν nis server. Στο αρχείο /etc/hosts ρυθμίζουμε ένα όνομα για τον server μας που να αντιστοιχεί στην ip του. Π.χ. 192.168.1.100 myserver Στην συνέχεια τον δηλώνουμε στο αρχείο /etc/yp.conf ypserver myserver Στην συνέχεια θα πρέπει να αλλάξουμε το αρχείο /etc/nsswitch.conf στο οποίο καταγράφεται που θα πρέπει να ψάξει το σύστημά μας για πιστοποποίηση χρηστών, επίλυση ονομάτων κτλ, και με ποιά σειρά. Θα αλλάξουμε τις πρώτες 3 γραμμές από passwd: compat group: compat shadow: compat σε passwd: files nis group: files nis shadow: files nis Για να είναι δυνατή η αλλαγή του κωδικού ενός χρήστη από τον client τροποποιούμε το αρχείο /etc/pam.d/common-password, προσθέτωντας την επιλογή nis στο τέλος της παρακάτω γραμμής password [success=1 default=ignore] pam_unix.so obscure sha512 nis Τέλος τρέχουμε ξανά το scipt επαναρρύθμισης του nis με dpkg-reconfigure nis ==== Δοκιμές ==== Ελέγχουμε εάν εκτελείτει η υπηρεσία portmap (ή rpcbind), με την εντολή ps -A | grep portmap ή ps -A | grep rpcbind Εάν δεν μας βγάλει αποτέλεσμα, όπως π.χ 1809 ? 00:00:01 portmap ή 1834 ? 00:00:01 rpcbind την εκκινουμε με service portmap start ή service rpcbind start Ομοίως για την διεργασία ypbind ps -A | grep ypbind Εάν δεν τρέξει την τρέχουμε απλά με ypbind Ελέγχουμε έαν η ypbind έχει καταχωρηθεί κανονικά και συνεργάζεται με το portmap, με την εντολή rpcinfo -p localhost Θα πρέπει να μας εμφανίσει κάτι παρόμοιο με το παρακάτω program vers proto port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100007 2 udp 637 ypbind 100007 2 tcp 639 ypbind .. η δοκιμάζουμε επίσης rpcinfo -u localhost ypbind program 100007 version 1 ready and waiting program 100007 version 2 ready and waiting Τέλος τρέχουμε ξανά το scipt επαναρρύθμισης του nis με dpkg-reconfigure nis === Δοκιμή σύνδεσης === Στο μηχάνημα πελάτη εκτελούμε την εντολή ypcat passwd Θα πρέπει να μας εμφανίσει μια λίστα με τους χρήστες στον server Επίσης η εντολή ypmatch username passwd, θα πρέπει να μας εμφανίσει μόνο την γραμμή που αφορά τον χρήστη με όνομα username από την παραπάνω λίστα, π.χ. ypmatch testuser passwd testuser:x:1000:1000:testuser:/home/testuser:/bin/bash ===== Αντιμετώπιση Προβλημάτων ===== ==== O nis στον client δεν ξεκινάει αυτόματα στην εκκίνηση==== Εάν ο nis δεν εκκινείται στον client κατά το κανονικό boot αλλά εκκινείται με το χέρι εκτελώντας /etc/init.d/nis restart τότε : Δοκιμάζουμε μία μία τις παρακάτω λύσεις. Με μία από αυτές θα πρέπει να λυθεί 1) Αφαιρούμε τον network-manager με aptitude purge network-manager (Προσοχή να μην είμαστε στο γραφικό) 2) Δημιουργούμε ένα αρχείο /etc/network/if-up.d/nis με περιεχόμενο #!/bin/sh invoke-rc.d --quiet nis restart & ==== usbstick στον nis client ==== Αρχικά δεν είναι δυνατόν να προσαρτηθούν αυτόματα τα usb sticks στον nis client υπολογιστή. Χρειάζεται να προστεθεί ο χρήστης στην ομάδα plugdev στον client. Μια λύση είναι [[http://ubuntuforums.org/archive/index.php/t-77469.html | εδώ]] ===== Πηγές ===== * http://en.wikibooks.org/wiki/Transwiki:NIS_Configuration_on_Debian * Επίσημη τεκμηρίωση : http://www.linux-nis.org/doc/nis.debian.howto * Σύντομος Οδηγός : http://www.debian-administration.org/articles/36 * passwd, group and shadow files : * https://help.ubuntu.com/community/SettingUpNISHowTo * http://docs.hp.com/en/5991-1154/ch04s05.html * client sync password : http://tldp.org/HOWTO/NIS-HOWTO/rpasswdd.html * pam * http://www.techrepublic.com/article/controlling-passwords-with-pam/1055267 * Αντιμετώπιση προβλημάτων * BUGS : https://bugs.launchpad.net/ubuntu/+source/nis/+bug/50430 * plugdev * http://ubuntuforums.org/archive/index.php/t-77469.html * https://lists.ubuntu.com/archives/ubuntu-users/2005-February/023432.html