Η Υπηρεσία 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
Εάν ο 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 &
Αρχικά δεν είναι δυνατόν να προσαρτηθούν αυτόματα τα usb sticks στον nis client υπολογιστή. Χρειάζεται να προστεθεί ο χρήστης στην ομάδα plugdev στον client. Μια λύση είναι εδώ