PAM, NIS, LDAP, Kerberos, DS και Samba 4 AD-DC - SMB Networks

Γενικός δείκτης της σειράς: Δίκτυα υπολογιστών για ΜΜΕ: Εισαγωγή

Συγγραφέας: Federico Antonio Valdes Toujague

Γεια σας φίλοι και φίλοι!

Με αυτό το άρθρο αποχαιρετώ την Κοινότητα DesdeLinux. Ένας ιδιαίτερος αποχαιρετισμός για μια Ειδική Κοινότητα. Από εδώ και πέρα ​​θα είμαι στο προσωπικό μου έργο που μπορείτε να δείτε στο http://www.gigainside.com.

Ο κύριος στόχος της ανάρτησης είναι να προσφέρει «Μεγάλη εικόνα»Σχετικά με τις Υπηρεσίες ελέγχου ταυτότητας με Ελεύθερο Λογισμικό που έχουμε στη διάθεσή μας. Τουλάχιστον αυτή είναι η πρόθεσή μας. Επομένως, θα είναι μεγάλο, παρά το γεγονός ότι γνωρίζουμε ότι είναι αντίθετο με τους γενικούς κανόνες συγγραφής άρθρων. Ελπίζουμε ότι οι διαχειριστές συστήματος το εκτιμούν.

Θέλουμε να επισημάνουμε ότι το κοινό πρωτόκολλο σε πολλά από τα σύγχρονα συστήματα ελέγχου ταυτότητας είναι το LDAP, και ότι δεν είναι αδρανές να το μελετάμε προσεκτικά, από το υλικό μελέτης που θα βρούμε στον επίσημο ιστότοπο http://www.openldap.org/.

Δεν θα δώσουμε λεπτομερείς ορισμούς - ή συνδέσμους - για θέματα που εξετάστηκαν σε προηγούμενα άρθρα ή σε εκείνα των οποίων η περιγραφή μπορεί να είναι εύκολα προσβάσιμη στη Wikipedia ή σε άλλους ιστότοπους ή άρθρα στο Διαδίκτυο, ώστε να μην χάνεται η αντικειμενικότητα του μηνύματος που θέλουμε το να δίνεις. Θα χρησιμοποιήσουμε επίσης ένα έγκυρο μείγμα ονομάτων στα Αγγλικά και τα Ισπανικά, καθώς θεωρούμε ότι τα περισσότερα συστήματα γεννήθηκαν με ονόματα στα Αγγλικά και είναι πολύ ωφέλιμο για τους Sysadmin να τα εξομοιώσουν στην αρχική τους γλώσσα.

  • PAM: Ενότητα Pluggable Authentication Module.
  • ΝΑΚ: Network_Information_Service.
  • LDAP: Ελαφρύ πρωτόκολλο πρόσβασης καταλόγου.
  • Kerberos: Πρωτόκολλο ασφαλείας για έλεγχο ταυτότητας χρηστών, υπολογιστών και υπηρεσιών κεντρικά σε ένα δίκτυο, επαληθεύοντας τα διαπιστευτήριά τους με υπάρχουσες καταχωρήσεις στη βάση δεδομένων Kerberos.
  • DS: Διακομιστής καταλόγου ή υπηρεσία καταλόγου
  • AD–DC: Active Directory - Domain Controler

PAM

Αφιερώνουμε μια μικρή σειρά σε αυτόν τον τύπο τοπικού ελέγχου ταυτότητας, την οποία θα βλέπετε στην καθημερινή πρακτική ότι χρησιμοποιείται ευρέως όταν, για παράδειγμα, συμμετέχουμε σε έναν σταθμό εργασίας σε έναν ελεγκτή τομέα ή έναν ενεργό κατάλογο. να χαρτογραφούν χρήστες που είναι αποθηκευμένοι σε εξωτερικές βάσεις δεδομένων LDAP σαν να ήταν τοπικοί χρήστες. για να χαρτογραφήσετε χρήστες που είναι αποθηκευμένοι στον ελεγκτή τομέα μιας υπηρεσίας καταλόγου Active Directory σαν να ήταν τοπικοί χρήστες και ούτω καθεξής.

ΝΑΚ

De Wikipedia:

  • Το Σύστημα Πληροφοριών Δικτύου (γνωστό με το ακρωνύμιο NIS, το οποίο στα Ισπανικά σημαίνει Σύστημα Πληροφοριών Δικτύου), είναι το όνομα ενός πρωτοκόλλου υπηρεσιών καταλόγου πελάτη-διακομιστή που αναπτύχθηκε από την Sun Microsystems για την αποστολή δεδομένων διαμόρφωσης σε κατανεμημένα συστήματα όπως ονόματα χρηστών και κεντρικών υπολογιστών μεταξύ υπολογιστών σε δίκτυο.Το NIS βασίζεται σε ONC RPC και αποτελείται από διακομιστή, βιβλιοθήκη από πελάτη και διάφορα εργαλεία διαχείρισης.

    Αρχικά τα NIS ονομαζόταν Yellow Pages, ή YP, το οποίο εξακολουθεί να χρησιμοποιείται για αναφορά σε αυτό. Δυστυχώς, αυτό το όνομα είναι εμπορικό σήμα της British Telecom, το οποίο απαιτούσε από την Sun να αποσύρει αυτό το όνομα. Ωστόσο, το YP παραμένει πρόθεμα στα ονόματα των περισσότερων εντολών που σχετίζονται με τα NIS, όπως το ypserv και το ypbind.

    Το DNS εξυπηρετεί ένα περιορισμένο εύρος πληροφοριών, το πιο σημαντικό είναι η αντιστοιχία μεταξύ του ονόματος κόμβου και της διεύθυνσης IP. Για άλλους τύπους πληροφοριών, δεν υπάρχει τέτοια εξειδικευμένη υπηρεσία. Από την άλλη πλευρά, εάν διαχειρίζεστε μόνο ένα μικρό LAN χωρίς σύνδεση στο Διαδίκτυο, δεν φαίνεται να αξίζει να ρυθμίσετε το DNS. Γι 'αυτό η Sun ανέπτυξε το Σύστημα Πληροφοριών Δικτύου (NIS). Το NIS παρέχει γενικές δυνατότητες πρόσβασης στη βάση δεδομένων που μπορούν να χρησιμοποιηθούν για τη διανομή, για παράδειγμα, των πληροφοριών που περιέχονται στο passwd και ομαδοποιούν αρχεία σε όλους τους κόμβους στο δίκτυό σας. Αυτό κάνει το δίκτυο να μοιάζει με ένα ενιαίο σύστημα, με τους ίδιους λογαριασμούς σε όλους τους κόμβους. Παρομοίως, τα NIS μπορούν να χρησιμοποιηθούν για τη διανομή των πληροφοριών ονόματος κόμβου που περιέχονται στο / etc / hosts σε όλους τους υπολογιστές του δικτύου.

    Σήμερα το NIS είναι διαθέσιμο σχεδόν σε όλες τις διανομές Unix και υπάρχουν ακόμη δωρεάν εφαρμογές. Το BSD Net-2 δημοσίευσε αυτό που προήλθε από μια εφαρμογή αναφοράς δημόσιου τομέα που δωρήθηκε από την Sun. Ο κωδικός βιβλιοθήκης για το τμήμα πελάτη αυτής της έκδοσης υπήρχε στο GNU / Linux libc για μεγάλο χρονικό διάστημα και τα προγράμματα διαχείρισης μεταφέρθηκαν στο GNU / Linux από τη Swen Thümmler. Ωστόσο, λείπει ένας διακομιστής NIS από την εφαρμογή αναφοράς.

    Ο Peter Eriksson ανέπτυξε μια νέα εφαρμογή που ονομάζεται NYS. Υποστηρίζει τόσο το βασικό NIS όσο και την βελτιωμένη έκδοση του Sun NIS +. [1] Το NYS όχι μόνο παρέχει έναν αριθμό εργαλείων NIS και έναν διακομιστή, αλλά προσθέτει ένα εντελώς νέο σύνολο λειτουργιών βιβλιοθήκης που πρέπει να μεταγλωττίσετε στο libc σας εάν θέλετε να τα χρησιμοποιήσετε. Αυτό περιλαμβάνει ένα νέο σχήμα διαμόρφωσης για ανάλυση ονόματος κόμβου που αντικαθιστά το τρέχον σχήμα που χρησιμοποιείται από το αρχείο "host.conf".

    Το GNU libc, γνωστό ως libc6 στην κοινότητα GNU / Linux, περιλαμβάνει μια ενημερωμένη έκδοση της παραδοσιακής υποστήριξης NIS που αναπτύχθηκε από τον Thorsten Kukuk. Υποστηρίζει όλες τις λειτουργίες της βιβλιοθήκης που παρέχονται από το NYS και χρησιμοποιεί επίσης το προηγμένο σχήμα διαμόρφωσης NYS. Τα εργαλεία και ο διακομιστής εξακολουθούν να χρειάζονται, αλλά η χρήση του GNU libc εξοικονομεί το έργο της ενημέρωσης κώδικα και της ανασύνθεσης της βιβλιοθήκης

    .

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

  • Ξεκινάμε από μια καθαρή εγκατάσταση - χωρίς γραφική διεπαφή- ενός Debian 8 "Jessie". Ο τομέας swl.fan σημαίνει "Θαυμαστές του Ελεύθερου Λογισμικού." Τι καλύτερο όνομα από αυτό;.
root @ master: ~ # όνομα κεντρικού υπολογιστή
κύριος
root @ master: ~ # hostname -f
master.swl.fan

root @ master: ~ # ip addr 1: lo: mtu 65536 qdisc noqueue state Άγνωστο προεπιλεγμένο link / loopback group 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 εύρος κεντρικού υπολογιστή lo valid_lft πάντα προτιμώμενο_lft για πάντα inet6 :: Ο κεντρικός υπολογιστής εύρους 1/128 valid_lft προτιμάται πάντα_lft για πάντα 2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link / ether 00: 0c: 29: 4c: 76: d9 brd ff: ff: ff: ff: ff: ff inet 192.168.10.5/24 brd 192.168.10.255 εύρος παγκόσμιο eth0 valid_lft πάντα προτιμώμενο_lft για πάντα inet6 fe80 :: 20c: 29ff: fe4c: 76d9 / 64 εύρος συνδέσμου valid_lft πάντα προτιμώμενο_lft για πάντα

root @ master: ~ # cat /etc/resolv.conf 
αναζήτηση swl.fan nameserver 127.0.0.1

Εγκατάσταση bind9, isc-dhcp-server και ntp

δέσιμο9

root @ master: ~ # aptitude install bind9 bind9-έγγρ nmap
root @ master: ~ # systemctl κατάσταση bind9

root @ master: ~ # nano /etc/bind/named.conf
συμπεριλάβετε "/etc/bind/named.conf.options"; συμπεριλάβετε "/etc/bind/named.conf.local"; συμπεριλάβετε "/etc/bind/named.conf.default-zones";

root @ master: ~ # cp /etc/bind/named.conf.options \ /etc/bind/named.conf.options.original

root @ master: ~ # nano /etc/bind/named.conf.options
επιλογές {κατάλογος "/ var / cache / bind"; // Εάν υπάρχει τείχος προστασίας ανάμεσα σε εσάς και διακομιστές ονομάτων με τους οποίους θέλετε να μιλήσετε //, ίσως χρειαστεί να διορθώσετε το τείχος προστασίας για να επιτρέψετε σε πολλές θύρες // να μιλήσουν. Βλέπω http://www.kb.cert.org/vuls/id/800113

        // Εάν ο ISP σας παρείχε μία ή περισσότερες διευθύνσεις IP για σταθερούς // διακομιστές ονομάτων, πιθανώς θέλετε να τις χρησιμοποιήσετε ως προωθητές. // Αποσυμπιέστε το ακόλουθο μπλοκ και εισαγάγετε τις διευθύνσεις που αντικαθιστούν το σύμβολο κράτησης θέσης του all-0. // μεταφορείς {// 0.0.0.0; //}; // ============================================== == =================== $ // Εάν η BIND καταγράφει μηνύματα σφάλματος σχετικά με το ριζικό κλειδί που λήγει, // θα πρέπει να ενημερώσετε τα κλειδιά σας. Βλέπω https://www.isc.org/bind-keys
        // =============================================== = ==================== $ // Δεν θέλουμε DNSSEC
        dnssec-enabled όχι;
        // dnssec-validation auto; auth-nxdomain όχι; # συμμόρφωση με RFC1035 listen-on-v6 {any; }; // Για ελέγχους από το localhost και το sysadmin // μέσω dig swl.fan axfr // Δεν έχουμε Slave DNS ... μέχρι τώρα
        επιτρέψτε-μεταφορά {localhost; 192.168.10.1; };
}; root @ master: ~ # name-checkconf

root @ master: ~ # nano /etc/bind/zones.rfcFreeBSD
// Κοινόχρηστος χώρος διευθύνσεων (RFC 6598)
zone "64.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "65.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "66.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "67.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "68.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "69.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "70.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "71.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "72.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "73.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "74.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "75.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "76.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "77.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "78.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "79.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "80.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "81.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "82.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "83.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "84.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "85.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "86.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "87.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "88.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "89.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "90.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "91.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "92.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "93.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "94.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "95.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "96.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "97.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "98.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "99.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "100.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "101.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "102.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "103.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "104.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "105.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "106.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "107.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "108.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "109.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "110.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "111.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "112.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "113.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "114.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "115.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "116.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "117.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "118.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "119.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "120.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "121.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "122.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "123.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "124.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "125.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "126.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
zone "127.100.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };

// Link-local / APIPA (RFC 3927, 5735 και 6303)
ζώνη "254.169.in-addr.arpa" {type master; αρχείο "/etc/bind/db.empty"; };

// Αναθέσεις πρωτοκόλλου IETF (RFC 5735 και 5736)
ζώνη "0.0.192.in-addr.arpa" {type master; αρχείο "/etc/bind/db.empty"; };

// TEST-NET- [1-3] για τεκμηρίωση (RFCs 5735, 5737 και 6303)
ζώνη "2.0.192.in-addr.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "100.51.198.in-addr.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "113.0.203.in-addr.arpa" {type master; αρχείο "/etc/bind/db.empty"; };

// IPv6 Παράδειγμα εύρους για τεκμηρίωση (RFC 3849 και 6303)
ζώνη "8.bd0.1.0.0.2.ip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; };

// Ονόματα τομέα για τεκμηρίωση και δοκιμή (BCP 32)
ζώνη "δοκιμή" {master type; αρχείο "/etc/bind/db.empty"; }; ζώνη "παράδειγμα" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "μη έγκυρη" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "example.com" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "example.net" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "example.org" {type master; αρχείο "/etc/bind/db.empty"; };

// Δοκιμή συγκριτικής αξιολόγησης δρομολογητή (RFC 2544 και 5735)
ζώνη "18.198.in-addr.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "19.198.in-addr.arpa" {type master; αρχείο "/etc/bind/db.empty"; };

// IANA Reserved - Old Class E Space (RFC 5735)
ζώνη "240.in-addr.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "241.in-addr.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "242.in-addr.arpa" {master type; αρχείο "/etc/bind/db.empty"; }; ζώνη "243.in-addr.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "244.in-addr.arpa" {master type; αρχείο "/etc/bind/db.empty"; }; ζώνη "245.in-addr.arpa" {master type; αρχείο "/etc/bind/db.empty"; }; ζώνη "246.in-addr.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "247.in-addr.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "248.in-addr.arpa" {master type; αρχείο "/etc/bind/db.empty"; }; ζώνη "249.in-addr.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "250.in-addr.arpa" {master type; αρχείο "/etc/bind/db.empty"; }; ζώνη "251.in-addr.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "252.in-addr.arpa" {master type; αρχείο "/etc/bind/db.empty"; }; ζώνη "253.in-addr.arpa" {master type; αρχείο "/etc/bind/db.empty"; }; ζώνη "254.in-addr.arpa" {type master; αρχείο "/etc/bind/db.empty"; };

// IPv6 Μη εκχωρημένες διευθύνσεις (RFC 4291)
ζώνη "1.ip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "3.ip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "4.ip6.arpa" {master type; αρχείο "/etc/bind/db.empty"; }; ζώνη "5.ip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "6.ip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "7.ip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "8.ip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "9.ip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "a.ip6.arpa" {master type; αρχείο "/etc/bind/db.empty"; }; ζώνη "b.ip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "c.ip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "d.ip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "e.ip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "0.f.ip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "1.f.ip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "2.f.ip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "3.f.ip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "4.f.ip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "5.f.ip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "6.f.ip6.arpa" {master type; αρχείο "/etc/bind/db.empty"; }; ζώνη "7.f.ip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "8.f.ip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "9.f.ip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "afip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "bfip6.arpa" {master type; αρχείο "/etc/bind/db.empty"; }; ζώνη "0.efip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "1.efip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "2.efip6.arpa" {master type; αρχείο "/etc/bind/db.empty"; }; ζώνη "3.efip6.arpa" {master type; αρχείο "/etc/bind/db.empty"; }; ζώνη "4.efip6.arpa" {master type; αρχείο "/etc/bind/db.empty"; }; ζώνη "5.efip6.arpa" {master type; αρχείο "/etc/bind/db.empty"; }; ζώνη "6.efip6.arpa" {master type; αρχείο "/etc/bind/db.empty"; }; ζώνη "7.efip6.arpa" {master type; αρχείο "/etc/bind/db.empty"; };

// IPv6 ULA (RFC 4193 και 6303)
ζώνη "cfip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "dfip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; };

// IPv6 Link Local (RFC 4291 και 6303)
ζώνη "8.efip6.arpa" {master type; αρχείο "/etc/bind/db.empty"; }; ζώνη "9.efip6.arpa" {master type; αρχείο "/etc/bind/db.empty"; }; ζώνη "aefip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "befip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; };

// IPv6 καταργημένες τοποθεσίες-τοπικές διευθύνσεις (RFCs 3879 και 6303)
ζώνη "cefip6.arpa" {master type; αρχείο "/etc/bind/db.empty"; }; ζώνη "defip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; }; ζώνη "eefip6.arpa" {master type; αρχείο "/etc/bind/db.empty"; }; ζώνη "fefip6.arpa" {type master; αρχείο "/etc/bind/db.empty"; };

// IP6. Το INT έχει καταργηθεί (RFC 4159)
ζώνη "ip6.int" {type master; αρχείο "/etc/bind/db.empty"; };

root @ master: ~ # nano /etc/bind/named.conf.local
// // Κάντε κάποια τοπική διαμόρφωση εδώ // // Εξετάστε το ενδεχόμενο να προσθέσετε τις ζώνες του 1918 εδώ, εάν δεν χρησιμοποιούνται στον // οργανισμό σας, συμπεριλάβετε το "/etc/bind/zones.rfc1918";
συμπεριλάβετε "/etc/bind/zones.rfcFreeBSD";

// Δήλωση του ονόματος, του τύπου, της τοποθεσίας και της άδειας ενημέρωσης // των DNS Record Zones // Και οι δύο ζώνες είναι MASTER ζώνη "swl.fan" {type master; αρχείο "/var/lib/bind/db.swl.fan"; }; ζώνη "10.168.192.in-addr.arpa" {type master; αρχείο "/var/lib/bind/db.10.168.192.in-addr.arpa"; };

root @ master: ~ # name-checkconf

root @ master: ~ # nano /var/lib/bind/db.swl.fan
$ TTL 3H @ IN SOA master.swl.fan. root.master.swl.fan. (1; σειριακό 1D, ανανέωση 1Η, επανάληψη 1W, λήξη 3Η); ελάχιστο ή Αρνητικός χρόνος προσωρινής αποθήκευσης στη ζωή; @ IN NS master.swl.fan. @ IN MX 10 mail.swl.fan. @ IN A 192.168.10.5 @ IN TXT "Για τους θαυμαστές του Ελεύθερου Λογισμικού"; sysadmin IN A 192.168.10.1 διακομιστή αρχείων IN A 192.168.10.4 master IN A 192.168.10.5 proxyweb IN A 192.168.10.6 blog IN A 192.168.10.7 ftpserver IN A 192.168.10.8 mail IN A 192.168.10.9

root @ master: ~ # nano /var/lib/bind/db.10.168.192.in-addr.arpa
$ TTL 3H @ IN SOA master.swl.fan. root.master.swl.fan. (1; σειριακό 1D, ανανέωση 1Η, επανάληψη 1W, λήξη 3Η); ελάχιστο ή Αρνητικός χρόνος προσωρινής αποθήκευσης για να ζήσετε. @ IN NS master.swl.fan. ; 1 ΣΕ PTR sysadmin.swl.fan. 4 IN PTR fileserver.swl.fan. 5 IN PTR master.swl.fan. 6 IN PTR proxyweb.swl.fan. 7 IN PTR blog.swl.fan. 8 IN PTR ftpserver.swl.fan. 9 IN PTR mail.swl.fan.

root @ master: ~ # name-checkzone swl.fan /var/lib/bind/db.swl.fan
ζώνη swl.fan/IN: φορτωμένο σειριακό 1 ΟΚ
root @ master: ~ # name-checkzone 10.168.192.in-addr.arpa /var/lib/bind/db.10.168.192.in-addr.arpa
ζώνη 10.168.192.in-addr.arpa/IN: φορτωμένο σειριακό 1 ΟΚ

root @ master: ~ # name-checkconf -zp
root @ master: ~ # systemctl επανεκκίνηση bind9.service
root @ master: ~ # systemctl κατάσταση bind9.service

Επιταγές Bind9

root @ master: ~ # dig swl.fan axfr
root @ master: ~ # dig 10.168.192.in-addr.arpa axfr
root @ master: ~ # dig IN SOA swl.fan
root @ master: ~ # dig IN NS swl.fan
root @ master: ~ # dig IN MX swl.fan
root @ master: ~ # proxyweb host root @ master: ~ # nping --tcp -p 53 -c 3 localhost
root @ master: ~ # nping --udp -p 53 -c 3 localhost
root @ master: ~ # nping --tcp -p 53 -c 3 master.swl.fan
root @ master: ~ # nping --udp -p 53 -c 3 master.swl.fan
Έναρξη Nping 0.6.47 ( http://nmap.org/nping ) στις 2017-05-27 09:32 EDT SENT (0.0037s) UDP 192.168.10.5:53> 192.168.10.245:53 ttl = 64 id = 20743 iplen = 28 SENT (1.0044s) UDP 192.168.10.5:53> 192.168.10.245 .53: 64 ttl = 20743 id = 28 iplen = 2.0060 SENT (192.168.10.5s) UDP 53:192.168.10.245> 53:64 ttl = 20743 id = 28 iplen = 3 Max rtt: N / A | Ελάχιστο rtt: N / A | Μέσος όρος rt: N / A Raw πακέτα που εστάλησαν: 84 (0B) | Rcvd: 0 (3B) | Χάθηκε: 100.00 (1%) Ολοκληρώθηκε: 3.01 διεύθυνση IP ping σε XNUMX δευτερόλεπτα 

isc-dhcp-server

root @ master: ~ # aptitude εγκατάσταση isc-dhcp-server
root @ master: ~ # nano / etc / default / isc-dhcp-server
# Σε ποιες διεπαφές πρέπει ο διακομιστής DHCP (dhcpd) να εξυπηρετεί αιτήματα DHCP; # Διαχωρίστε πολλαπλές διεπαφές με κενά, π.χ. "eth0 eth1".
ΔΙΑΣΤΑΣΕΙΣ = "eth0"

root @ master: ~ # dnssec-keygen -a HMAC-MD5 -b 128 -r / dev / urandom -n ΧΡΗΣΤΗ dhcp-key
root @ master: ~ # cat Kdhcp-key. +157 + 51777. ιδιωτικό 
Private-key-format: v1.3 Algorithm: 157 (HMAC_MD5) Key: Ba9GVadq4vOCixjPN94dCQ == Bits: AAA = Δημιουργήθηκε: 20170527133656 Δημοσίευση: 20170527133656 Ενεργοποίηση: 20170527133656

root @ master: ~ # nano dhcp.key
κλειδί dhcp-key {
        αλγόριθμος hmac-md5;
        μυστικό "Ba9GVadq4vOCixjPN94dCQ == ";
}; root @ master: ~ # install -o root -g bind -m 0640 dhcp.key /etc/bind/dhcp.key root @ master: ~ # install -o root -g root -m 0640 dhcp.key / etc / dhcp /dhcp.key root @ master: ~ # nano /etc/bind/named.conf.local
συμπεριλάβετε "/etc/bind/dhcp.key";

ζώνη "swl.fan" {type master; αρχείο "/var/lib/bind/db.swl.fan";
        επιτρέψτε-ενημέρωση {key dhcp-key; };
}; ζώνη "10.168.192.in-addr.arpa" {type master; αρχείο "/var/lib/bind/db.10.168.192.in-addr.arpa";
        επιτρέψτε-ενημέρωση {key dhcp-key; };
};

root @ master: ~ # name-checkconf

root @ master: ~ # mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.original
root @ master: ~ # nano /etc/dhcp/dhcpd.conf
ddns-update-style προσωρινό; ddns-ενημερώσεις για; ddns-domainname "swl.fan."; ddns-rev-domainname "in-addr.arpa."; αγνοήστε τις ενημερώσεις πελατών. false-optimization false; # Μπορεί να απαιτείται σε Debian έγκυρη. επιλογή ip-forwarding off; επιλογή domain-name "swl.fan"; συμπεριλάβετε "/etc/dhcp/dhcp.key"; ζώνη swl.fan. {πρωτεύον 127.0.0.1; κλειδί dhcp-key; } ζώνη 10.168.192.in-addr.arpa. {πρωτεύον 127.0.0.1; κλειδί dhcp-key; } κοινόχρηστο δίκτυο redlocal {subnet 192.168.10.0 netmask 255.255.255.0 {option routers 192.168.10.1; επιλογή subnet-mask 255.255.255.0; επιλογή εκπομπής-διεύθυνση 192.168.10.255; επιλογή domain-name-servers 192.168.10.5; επιλογή netbios-name-servers 192.168.10.5; επιλογή ntp-servers 192.168.10.5; διακομιστές χρόνου επιλογής 192.168.10.5; εύρος 192.168.10.30 192.168.10.250; }}

root @ master: ~ # dhcpd -t
Internet Systems Consortium DHCP Server 4.3.1 Πνευματικά δικαιώματα 2004-2014 Internet Systems Consortium. Ολα τα δικαιώματα διατηρούνται. Για πληροφορίες, επισκεφθείτε https://www.isc.org/software/dhcp/
Αρχείο διαμόρφωσης: /etc/dhcp/dhcpd.conf Αρχείο βάσης δεδομένων: /var/lib/dhcp/dhcpd.leases αρχείο PID: /var/run/dhcpd.pid

root @ master: ~ # systemctl επανεκκίνηση bind9.service 
root @ master: ~ # systemctl κατάσταση bind9.service 

root @ master: ~ # systemctl start isc-dhcp-server.service
root @ master: ~ # systemctl κατάσταση isc-dhcp-server.service

ntp

root @ master: ~ # aptitude εγκαταστήστε ntp ntpdate
root @ master: ~ # cp /etc/ntp.conf /etc/ntp.conf.original
root @ master: ~ # nano /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift stats loopstats peerstats clockstats filegen loopstats file loopstats type day enabled filegen peerstats file peerstats type day allow filegen clockstats file clockstats type day day server 192.168.10.1 περιορισμός -4 προεπιλεγμένο kod notrap nomodify nopeer noquery -6 προεπιλογή kod notrap nomodify nopeer noquery περιορισμός 127.0.0.1 περιορισμός :: 1 εκπομπή 192.168.10.255

root @ master: ~ # systemctl επανεκκίνηση ntp.service 
root @ master: ~ # systemctl κατάσταση ntp.service
root @ master: ~ # ntpdate -u sysadmin.swl.fan
27 Μαΐου 10:04:01 ntpdate [18769]: προσαρμογή χρόνου διακομιστή 192.168.10.1 μετατόπιση 0.369354 δευτ

Καθολικοί έλεγχοι για διακομιστές ntp, bind9 και isc-dhcp

Από ένα πρόγραμμα-πελάτη Linux, BSD, Mac OS ή Windows, ελέγξτε ότι η ώρα είναι συγχρονισμένη σωστά. Ότι αποκτά μια δυναμική διεύθυνση IP και ότι το όνομα αυτού του κεντρικού υπολογιστή επιλύεται μέσω απευθείας και αντίστροφων ερωτημάτων DNS. Αλλάξτε το όνομα πελάτη και επαναλάβετε όλους τους ελέγχους. Μην προχωράτε έως ότου είστε βέβαιοι ότι οι υπηρεσίες που έχουν εγκατασταθεί μέχρι στιγμής λειτουργούν σωστά. Για κάτι που γράψαμε όλα τα άρθρα σχετικά με το DNS και το DHCP Δίκτυα υπολογιστών για ΜΜΕ.

Εγκατάσταση διακομιστή NIS

root @ master: ~ # aptitude show nis
Διαφωνίες με: netstd (<= 1.26) Περιγραφή: πελάτες και δαίμονες για την υπηρεσία πληροφοριών δικτύου (NIS) Αυτό το πακέτο παρέχει εργαλεία για τη ρύθμιση και τη συντήρηση ενός τομέα NIS. Τα NIS, αρχικά γνωστά ως Yellow Pages (YP), χρησιμοποιούνται κυρίως για να επιτρέπουν σε πολλούς υπολογιστές σε ένα δίκτυο να μοιράζονται τις ίδιες πληροφορίες λογαριασμού, όπως το αρχείο κωδικού πρόσβασης.

root @ master: ~ # aptitude install nis
Διαμόρφωση πακέτου ┌─────────────────────────┤ Nis Configuration ├──────────────── ── │ │ Επιλέξτε το "όνομα τομέα" NIS για αυτό το σύστημα. Εάν θέλετε machine │ αυτό το μηχάνημα να είναι μόνο πελάτης, θα πρέπει να εισαγάγετε το όνομα του τομέα domain │ NIS στον οποίο θέλετε να εγγραφείτε. Εναλλακτικά, εάν αυτός ο υπολογιστής πρόκειται να είναι διακομιστής NIS, μπορείτε να εισάγετε ένα νέο "όνομα τομέα" NIS ή το όνομα ενός υπάρχοντος τομέα NIS │ │. Domain │ │ │ NIS Τομέας: │ │ │ │ swl.fan __________________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘  

Θα καθυστερήσει τη δική σας, επειδή η διαμόρφωση της υπηρεσίας δεν υπάρχει ως έχει. Περιμένετε να ολοκληρωθεί η διαδικασία.

root @ master: ~ # nano / etc / default / nis
# Είμαστε διακομιστής NIS και αν ναι τι είδους (τιμές: false, slave, master);
NISSERVER = πλοίαρχος

root @ master: ~ # nano /etc/ypserv.securenets # securenets Αυτό το αρχείο καθορίζει τα δικαιώματα πρόσβασης στο διακομιστή NIS # για πελάτες NIS (και διακομιστές σκλάβων - το ypxfrd χρησιμοποιεί επίσης αυτό το # αρχείο). Αυτό το αρχείο περιέχει ζεύγη netmask / network. # Μια διεύθυνση IP πελατών πρέπει να ταιριάζει με τουλάχιστον ένα # από ​​αυτά. # # Κάποιος μπορεί να χρησιμοποιήσει τη λέξη "κεντρικός υπολογιστής" αντί για μάσκα δικτύου # 255.255.255.255. Μόνο διευθύνσεις IP επιτρέπονται σε αυτό το # αρχείο και όχι ονόματα κεντρικού υπολογιστή. # # Να επιτρέπεται πάντα η πρόσβαση για το localhost 255.0.0.0 127.0.0.0 # Αυτή η γραμμή παρέχει πρόσβαση σε όλους. ΠΑΡΑΚΑΛΩ ΡΥΘΜΙΣΗ! # 0.0.0.0 0.0.0.0
255.255.255.0 192.168.10.0

root @ master: ~ # nano / var / yp / Makefile # Πρέπει να συγχωνεύσουμε το αρχείο passwd με το αρχείο shadow; # MERGE_PASSWD = true | false
MERGE_PASSWD = true

# Πρέπει να συγχωνεύσουμε το αρχείο ομάδας με το αρχείο gshadow; # MERGE_GROUP = true | false
MERGE_GROUP = αλήθεια

Χτίζουμε τη βάση δεδομένων NIS

root @ master: ~ # / usr / lib / yp / ypinit -m
Σε αυτό το σημείο, πρέπει να δημιουργήσουμε μια λίστα με τους κεντρικούς υπολογιστές που θα εκτελούν διακομιστές NIS. Το master.swl.fan βρίσκεται στη λίστα των κεντρικών υπολογιστών διακομιστών NIS. Συνεχίστε να προσθέτετε τα ονόματα για τους άλλους κεντρικούς υπολογιστές, ένα ανά γραμμή. Όταν τελειώσετε με τη λίστα, πληκτρολογήστε a . επόμενος κεντρικός υπολογιστής για προσθήκη: master.swl.fan επόμενος κεντρικός υπολογιστής για προσθήκη: Η τρέχουσα λίστα διακομιστών NIS μοιάζει με αυτήν: master.swl.fan Είναι σωστή; [y / n: y] Χρειαζόμαστε λίγα λεπτά για να χτίσουμε τις βάσεις δεδομένων ... make [1]: Leaving directory '/var/yp/swl.fan' Το master.swl.fan έχει ρυθμιστεί ως κύριος διακομιστής NIS . Τώρα μπορείτε να εκτελέσετε το ypinit -s master.swl.fan σε όλους τους διακομιστές σκλάβων.

root @ master: ~ # systemctl επανεκκίνηση nis
root @ master: ~ # systemctl κατάσταση nis

Προσθέτουμε τοπικούς χρήστες

root @ master: ~ # adduser bilbo
Προσθήκη του χρήστη "bilbo" ... Προσθήκη της νέας ομάδας "bilbo" (1001) ... Προσθήκη του νέου χρήστη "bilbo" (1001) με την ομάδα "bilbo" ... Δημιουργία του αρχικού καταλόγου "/ home / bilbo" ... Αντιγραφή αρχείων από το "/ etc / skel" ... Εισαγάγετε τον νέο κωδικό πρόσβασης UNIX: Πληκτρολογήστε ξανά τον νέο κωδικό πρόσβασης UNIX: passwd: ο κωδικός πρόσβασης ενημερώθηκε σωστά Αλλαγή των πληροφοριών χρήστη για bilbo Εισαγάγετε τη νέα τιμή ή πατήστε ENTER για να προεπιλεγμένο πλήρες όνομα []: Bilbo Bagins Αριθμός δωματίου []: Τηλέφωνο εργασίας []: Τηλέφωνο οικίας []: Άλλο []: Είναι σωστές οι πληροφορίες; [Y / n]

root @ master: ~ # adduser strides root @ master: ~ # adduser legolas

και ούτω καθεξής.

root @ master: ~ # δάκτυλα
Είσοδος: legolas Όνομα: Legolas Archer Directory: / home / legolas Shell: / bin / bash Ποτέ δεν έχετε συνδεθεί. Χωρίς αλληλογραφία. Χωρίς σχέδιο.

Ενημερώνουμε τη βάση δεδομένων NIS

root @ master: / var / yp # make
make [1]: Εισαγωγή καταλόγου '/var/yp/swl.fan' Ενημέρωση passwd.byname ... Ενημέρωση passwd.byuid ... Ενημέρωση group.byname ... Ενημέρωση group.bygid ... Ενημέρωση netid.byname. .. Ενημέρωση shadow.byname ... Αγνοήθηκε -> συγχωνεύτηκε με passwd make [1]: Αποχώρηση από τον κατάλογο '/var/yp/swl.fan'

Προσθέτουμε επιλογές NIS στον διακομιστή isc-dhcp

root @ master: ~ # nano /etc/dhcp/dhcpd.conf
ddns-update-style προσωρινό; ddns-ενημερώσεις για; ddns-domainname "swl.fan."; ddns-rev-domainname "in-addr.arpa."; αγνοήστε τις ενημερώσεις πελατών. false-optimization false; επίσημος; επιλογή ip-forwarding off; επιλογή domain-name "swl.fan"; συμπεριλάβετε "/etc/dhcp/dhcp.key"; ζώνη swl.fan. {πρωτεύον 127.0.0.1; κλειδί dhcp-key; } ζώνη 10.168.192.in-addr.arpa. {πρωτεύον 127.0.0.1; κλειδί dhcp-key; } κοινόχρηστο δίκτυο redlocal {subnet 192.168.10.0 netmask 255.255.255.0 {option routers 192.168.10.1; επιλογή subnet-mask 255.255.255.0; επιλογή διεύθυνσης εκπομπής 192.168.10.255; επιλογή domain-name-servers 192.168.10.5; επιλογή netbios-name-servers 192.168.10.5; επιλογή ntp-servers 192.168.10.5; διακομιστές χρόνου επιλογής 192.168.10.5;
                επιλογή nis-domain "swl.fan";
                επιλογή nis-servers 192.168.10.5;
                εύρος 192.168.10.30 192.168.10.250; }}

root @ master: ~ # dhcpd -t
root @ master: ~ # systemctl επανεκκίνηση isc-dhcp-server.service

Εγκατάσταση πελάτη NIS

  • Ξεκινάμε από μια καθαρή εγκατάσταση - χωρίς γραφική διεπαφή- ενός Debian 8 "Jessie".
root @ mail: ~ # hostname -f
mail.swl.fan

root @ mail: ~ # ip addr
2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link / ether 00: 0c: 29: 25: 1f: 54 brd ff: ff: ff: ff: ff: ff
    inet 192.168.10.9/24 brd 192.168.10.255 πεδίο καθολικής eth0

root @ mail: ~ # εγκατάσταση ικανότητας nis
root @ mail: ~ # nano /etc/yp.conf # # yp.conf Αρχείο διαμόρφωσης για τη διαδικασία ypbind. Μπορείτε να ορίσετε # διακομιστές NIS με μη αυτόματο τρόπο εδώ εάν δεν μπορούν να βρεθούν με # μετάδοση στο τοπικό δίκτυο (που είναι η προεπιλογή). # # Δείτε τη μη αυτόματη σελίδα του ypbind για τη σύνταξη αυτού του αρχείου. # # ΣΗΜΑΝΤΙΚΟ: Για το "ypserver", χρησιμοποιήστε διευθύνσεις IP ή βεβαιωθείτε ότι # ο κεντρικός υπολογιστής βρίσκεται στο / etc / hosts. Αυτό το αρχείο ερμηνεύεται μόνο # μία φορά, και εάν το DNS δεν είναι προσβάσιμο, ο διακομιστής yps δεν μπορεί να επιλυθεί και το ypbind δεν θα συνδεθεί ποτέ στο διακομιστή. # ypserver ypserver.network.com ypserver master.swl.fan domain swl.fan

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # Παράδειγμα διαμόρφωσης της λειτουργίας GNU Name Service Switch. # Εάν έχετε εγκατεστημένα τα πακέτα `glibc-doc-referensi 'και' info ', δοκιμάστε: #` info libc "Name Service Switch" για πληροφορίες σχετικά με αυτό το αρχείο. passwd: Compat Nis Group: Compat Nis Shadow: Compat Nis Gshadow: Αρχεία Host: Αρχεία dns Nis Δίκτυα: Αρχεία Πρωτόκολλα: db Αρχεία Υπηρεσίες: db Αρχεία Αιθέρες: db αρχεία RPC: db αρχεία Netgroup: nis

root @ mail: ~ # nano /etc/pam.d/common-session
# pam-auth-update (8) για λεπτομέρειες.
προαιρετική περίοδος λειτουργίας pam_mkhomedir.so skel = / etc / skel umask = 077
# εδώ είναι οι μονάδες ανά πακέτο (το "Κύριο" μπλοκ)

root @ mail: ~ # systemctl κατάσταση nis
root @ mail: ~ # systemctl επανεκκίνηση nis

Κλείνουμε τη συνεδρία και ξεκινάμε ξανά, αλλά με έναν χρήστη εγγεγραμμένο στη βάση δεδομένων NIS στο master.swl.fan.

root @ mail: ~ # έξοδος
αποσύνδεση Η σύνδεση με το ταχυδρομείο έκλεισε.

buzz @ sysadmin: ~ $ ssh legolas @ mail
κωδικός πρόσβασης legolas @ mail: Δημιουργία καταλόγου '/ home / legolas'. Τα προγράμματα που περιλαμβάνονται στο σύστημα Debian GNU / Linux είναι ελεύθερο λογισμικό. Οι ακριβείς όροι διανομής για κάθε πρόγραμμα περιγράφονται στα μεμονωμένα αρχεία στο / usr / share / doc / * / copyright. Το Debian GNU / Linux συνοδεύεται από απολύτως καμία εγγύηση, στο βαθμό που επιτρέπεται από την ισχύουσα νομοθεσία.
legolas @ mail: ~ $ pwd
/ σπίτι / legolas
legolas @ mail: ~ $ 

Αλλάζουμε τον κωδικό πρόσβασης του χρήστη legolas και ελέγξουμε

legolas @ mail: ~ $ yppasswd 
Αλλαγή πληροφοριών λογαριασμού NIS για legolas στο master.swl.fan. Εισαγάγετε τον παλιό κωδικό πρόσβασης: legolas Αλλαγή κωδικού πρόσβασης NIS για legolas στο master.swl.fan. Εισαγάγετε νέο κωδικό πρόσβασης: τοξότης Ο κωδικός πρόσβασης πρέπει να περιέχει κεφαλαία και πεζά γράμματα ή μη γράμματα. Εισαγάγετε νέο κωδικό πρόσβασης: Arquero2017 Πληκτρολογήστε ξανά νέο κωδικό πρόσβασης: Arquero2017 Ο κωδικός NIS άλλαξε στο master.swl.fan.

legolas @ mail: ~ $ έξοδος
αποσύνδεση Η σύνδεση με το ταχυδρομείο έκλεισε.

buzz @ sysadmin: ~ $ ssh legolas @ mail
κωδικός πρόσβασης legolas @ mail: Arquero2017

Τα προγράμματα που περιλαμβάνονται στο σύστημα Debian GNU / Linux είναι ελεύθερο λογισμικό. Οι ακριβείς όροι διανομής για κάθε πρόγραμμα περιγράφονται στα μεμονωμένα αρχεία στο / usr / share / doc / * / copyright. Το Debian GNU / Linux συνοδεύεται από απολύτως καμία εγγύηση, στο βαθμό που επιτρέπεται από την ισχύουσα νομοθεσία. Τελευταία σύνδεση: Σάβ 27 Μαΐου 12:51:50 2017 από sysadmin.swl.fan
legolas @ mail: ~ $

Η υπηρεσία NIS που εφαρμόζεται σε επίπεδο διακομιστή και πελάτη λειτουργεί σωστά.

LDAP

Από τη Βικιπαίδεια:

  • Το LDAP είναι το αρκτικόλεξο του Lightweight Directory Access Protocol (στα Ισπανικά Lightweight Directory Access Protocol) που αναφέρεται σε ένα πρωτόκολλο επιπέδου εφαρμογής που επιτρέπει την πρόσβαση σε μια υπηρεσία καταλόγου που έχει παραγγείλει και κατανεμηθεί για αναζήτηση διαφόρων πληροφοριών σε περιβάλλον δίκτυο. Το LDAP θεωρείται επίσης μια βάση δεδομένων (αν και το σύστημα αποθήκευσης ενδέχεται να είναι διαφορετικό) που μπορεί να υποβληθεί σε ερώτηση.Ένας κατάλογος είναι ένα σύνολο αντικειμένων με χαρακτηριστικά οργανωμένα με λογικό και ιεραρχικό τρόπο. Το πιο συνηθισμένο παράδειγμα είναι ο τηλεφωνικός κατάλογος, ο οποίος αποτελείται από μια σειρά ονομάτων (άτομα ή οργανισμούς) που είναι διατεταγμένα αλφαβητικά, με κάθε όνομα να έχει μια διεύθυνση και έναν αριθμό τηλεφώνου συνδεδεμένο σε αυτόν. Για να το καταλάβετε καλύτερα, είναι ένα βιβλίο ή φάκελος, στον οποίο γράφονται τα ονόματα, οι αριθμοί τηλεφώνου και οι διευθύνσεις των ανθρώπων, και τακτοποιείται αλφαβητικά.

    Ένα δέντρο καταλόγου LDAP αντικατοπτρίζει μερικές φορές διάφορα πολιτικά, γεωγραφικά ή οργανωτικά όρια, ανάλογα με το επιλεγμένο μοντέλο. Οι τρέχουσες αναπτύξεις LDAP τείνουν να χρησιμοποιούν ονόματα συστήματος ονομάτων τομέα (DNS) για τη δομή των υψηλότερων επιπέδων της ιεραρχίας. Καθώς κάνετε κύλιση προς τα κάτω στον κατάλογο, ενδέχεται να εμφανίζονται καταχωρήσεις που αντιπροσωπεύουν άτομα, οργανωτικές μονάδες, εκτυπωτές, έγγραφα, ομάδες ατόμων ή οτιδήποτε αντιπροσωπεύει μια δεδομένη καταχώριση στο δέντρο (ή πολλές καταχωρίσεις).

    Συνήθως, αποθηκεύει πληροφορίες ελέγχου ταυτότητας (χρήστης και κωδικός πρόσβασης) και χρησιμοποιείται για τον έλεγχο ταυτότητας, αν και είναι δυνατή η αποθήκευση άλλων πληροφοριών (δεδομένα επικοινωνίας χρήστη, τοποθεσία διαφόρων πόρων δικτύου, δικαιώματα, πιστοποιητικά κ.λπ.). Συνοπτικά, το LDAP είναι ένα ενοποιημένο πρωτόκολλο πρόσβασης σε ένα σύνολο πληροφοριών σε ένα δίκτυο.

    Η τρέχουσα έκδοση είναι LDAPv3 και ορίζεται στα RFC RFC 2251 και RFC 2256 (βασικό έγγραφο LDAP), RFC 2829 (μέθοδος ελέγχου ταυτότητας για LDAP), RFC 2830 (επέκταση για TLS) και RFC 3377 (τεχνική προδιαγραφή)

    .

Για πολύ, Το πρωτόκολλο LDAP - και οι βάσεις δεδομένων του είναι συμβατές ή όχι με το OpenLDAP - είναι το πλέον χρησιμοποιούμενο στα περισσότερα συστήματα ελέγχου ταυτότητας σήμερα. Ως παράδειγμα της προηγούμενης δήλωσης, δίνουμε παρακάτω μερικά ονόματα συστημάτων - Δωρεάν ή Ιδιωτικά - που χρησιμοποιούν βάσεις δεδομένων LDAP ως backend για την αποθήκευση όλων των αντικειμένων τους:

  • OpenLDAP
  • Διακομιστής καταλόγου Apache
  • Διακομιστής καταλόγου Red Hat - 389 DS
  • Υπηρεσίες καταλόγου Novell - ηλεκτρονικός κατάλογος
  • SUN Microsystems Open DS
  • Red Hat Identity Manager
  • FreeIPA
  • Samba NT4 Classic Domain Controller.
    Θέλουμε να ξεκαθαρίσουμε ότι αυτό το σύστημα ήταν μια ανάπτυξη της Team Samba με το Samba 3.xxx + OpenLDAP ως backend. Η Microsoft δεν εφάρμοσε ποτέ κάτι σαν αυτό. Μετάβαση από τους ελεγκτές τομέα NT 4 στους ενεργούς καταλόγους τους
  • Samba 4 Active Directory - ελεγκτής τομέα
  • ClearOS
  • zentyal
  • Εταιρικός διακομιστής UCS Uninvention
  • Microsoft Active Directory

Κάθε εφαρμογή έχει τα δικά της χαρακτηριστικά και το πιο τυπικό και συμβατό είναι το OpenLDAP.

Η Active Directory, είτε είναι η πρωτότυπη από τη Microsoft είτε αυτή από το Samba 4, αποτελεί ένωση πολλών βασικών στοιχείων που είναι:

  • Προσαρμοσμένο LDAP τόσο από τη Microsoft όσο και από τη Samba.
  • Τομέας Microsoft Windows o Τομέας Windows. Είναι βασικά το Δίκτυο της Microsoft.
  • Ελεγκτής τομέα της Microsoft o Ελεγκτής τομέα.
  • Το Kerberos προσαρμόστηκε τόσο από τη Microsoft όσο και από τη Samba.

Δεν πρέπει να συγχέουμε a Υπηρεσία καταλόγου o Υπηρεσία καταλόγου με α Active Directory o Ενεργός κατάλογος. Ο πρώτος μπορεί να φιλοξενήσει ή όχι τον έλεγχο ταυτότητας Kerberos, αλλά δεν προσφέρουν την υπηρεσία δικτύου Microsoft που παρέχει ένας τομέας των Windows, ούτε διαθέτουν έναν ελεγκτή τομέα των Windows ως έχει.

Μια υπηρεσία καταλόγου ή υπηρεσία καταλόγου μπορεί να χρησιμοποιηθεί για τον έλεγχο ταυτότητας χρηστών σε ένα μικτό δίκτυο με προγράμματα-πελάτες UNIX / Linux και Windows. Για το τελευταίο, πρέπει να εγκατασταθεί ένα πρόγραμμα σε κάθε πελάτη που λειτουργεί ως μεσάζων μεταξύ της υπηρεσίας καταλόγου και του ίδιου του πελάτη των Windows, όπως το Ελεύθερο λογισμικό. σελίδα.

Υπηρεσία καταλόγου με OpenLDAP

  • Ξεκινάμε από μια καθαρή εγκατάσταση - χωρίς γραφική διεπαφή- ενός Debian 8 "Jessie", με το ίδιο "κύριο" όνομα μηχανήματος που χρησιμοποιείται για την εγκατάσταση των NIS, καθώς και τη διαμόρφωση της διασύνδεσης δικτύου και του αρχείου /etc/resolv.conf. Σε αυτόν τον νέο διακομιστή εγκαθιστούμε τον διακομιστή ntp, bind9 και isc-dhcp, χωρίς να ξεχνάμε τους καθολικούς ελέγχους της σωστής λειτουργίας των τριών προηγούμενων υπηρεσιών.
root @ master: ~ # aptitude εγκατάσταση slapd ldap-utils

Διαμόρφωση πακέτου

┌────────────────────┤ Διαμόρφωση Slapd │ │ Εισαγάγετε τον κωδικό πρόσβασης για την καταχώριση διαχειριστή του καταλόγου LDAP │ │. Password │ │ │ Κωδικός πρόσβασης διαχειριστή: │ │ │ │ ******** _________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────┘

Ελέγχουμε την αρχική διαμόρφωση

root @ master: ~ # slapcat
dn: dc = swl, dc = ανεμιστήρας
objectClass: top objectClass: dcObject objectClass: οργάνωση o: swl.fan dc: swl structureObjectClass: entry entryUUID: c8510708-da8e-1036-8fe1-71d022a16904 creatorsName: cn = admin, dc = swl, dc = fan entry createTimestamp20170531205219 20170531205219.833955 : 000000ZND000S000000 καταχώριση Z # 20170531205219 # XNUMX # XNUMX τροποποιητές Όνομα: cn = admin, dc = swl, dc = fan modifyTimestamp: XNUMXZ

dn: cn = admin, dc = swl, dc = ανεμιστήρας
objectClass: simpleSecurityObject objectClass: organizationalRole cn: Περιγραφή διαχειριστή: Ο διαχειριστής LDAP userPassword :: e1NTSEF9emJNSFU1R3l2OWVEN0pmTmlYOVhKSUF4ekY1bU9YQXc = structuralObjectClass: organizationalRole entryUUID: c851178e- da8fe1036e entrySw8d-da2fe71 entrySw022c16904e-da20170531205219fe20170531205219.834422e-000000 entrySw000e-da000000fe20170531205219e = entrySXNUMX entrySwXNUMXe-daXNUMXfeXNUMXeXNUMXpmTmlYOVhKSUXNUMX entrySXNUMXe-XNUMXe εισόδου = cXNUMXe XNUMX Z # XNUMX # XNUMX # XNUMX τροποποιητές Όνομα: cn = admin, dc = swl, dc = fan modifyTimestamp: XNUMXZ

Τροποποιούμε το αρχείο /etc/ldap/ldap.conf

root @ master: ~ # nano /etc/ldap/ldap.conf
ΒΑΣΗ dc = swl, dc = URI ανεμιστήρα    ldap: // localhost

Οργανωτικές μονάδες και γενική ομάδα «χρήστες»

Προσθέτουμε τις ελάχιστες απαραίτητες οργανωτικές μονάδες, καθώς και την ομάδα Posix «χρήστες» στην οποία θα κάνουμε όλα τα μέλη των χρηστών, ακολουθώντας το παράδειγμα πολλών συστημάτων που έχουν την ομάδα «Χρήστες«. Το ονομάζουμε με το όνομα «χρηστών», ώστε να μην μπαίνουμε σε πιθανές συγκρούσεις με την ομάδα «χρήστη"του συστήματος.

root @ master: ~ # nano base.ldif
dn: ou = people, dc = swl, dc = fan αντικείμενοClass: organationalUnit ou: people dn: ou = groups, dc = swl, dc = fan αντικείμενοClass: organationalUnit ou: ομάδες dn: cn = χρήστες, ou = ομάδες, dc = swl, dc = αντικείμενο ανεμιστήρα Κλάση: posixGroup cn: users gidNumber: 10000

root @ master: ~ # ldapadd -x -D cn = admin, dc = swl, dc = fan -W -f base.ldif
Εισαγάγετε τον κωδικό πρόσβασης LDAP: προσθήκη νέας καταχώρησης "ou = people, dc = swl, dc = fan" προσθήκη νέας καταχώρησης "ou = groups, dc = swl, dc = fan"

Ελέγχουμε τις προστιθέμενες καταχωρήσεις

root @ master: ~ # ldapsearch -x ou = άτομα
# άτομα, swl.fan dn: ou = άτομα, dc = swl, dc = αντικείμενο ανεμιστήρα Κλάση: οργανωτικόUnit ou: άτομα

root @ master: ~ # ldapsearch -x ou = ομάδες
# ομάδες, swl.fan dn: ou = ομάδες, dc = swl, dc = αντικείμενο θαυμαστής Κλάση: οργανωτική μονάδα ou: ομάδες

root @ master: ~ # ldapsearch -x cn = χρήστες
# χρήστες, ομάδες, swl.fan dn: cn = χρήστες, ou = ομάδες, dc = swl, dc = αντικείμενο ανεμιστήρα Κλάση: posix Ομάδα ομάδων: gid χρηστών Αριθμός: 10000

Προσθέτουμε αρκετούς χρήστες

Ο κωδικός πρόσβασης που πρέπει να δηλώσουμε στο LDAP πρέπει να ληφθεί μέσω της εντολής slappasswd, ο οποίος επιστρέφει έναν κρυπτογραφημένο κωδικό πρόσβασης SSHA.

Κωδικός πρόσβασης για τα βήματα του χρήστη:

root @ master: ~ # slappasswd 
Νέος κωδικός πρόσβασης: Εισαγάγετε ξανά νέο κωδικό πρόσβασης: 
{SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp

Κωδικός πρόσβασης για τα δικαιώματα χρήστη

root @ master: ~ # slappasswd 
Νέος κωδικός πρόσβασης: Εισαγάγετε ξανά νέο κωδικό πρόσβασης: 
{SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD

Κωδικός πρόσβασης για το gandalf χρήστη

root @ master: ~ # slappasswd 
Νέος κωδικός πρόσβασης: Εισαγάγετε ξανά νέο κωδικό πρόσβασης: 
{SSHA} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + u

root @ master: ~ # nano users.ldif
dn: uid = strides, ou = people, dc = swl, dc = αντικείμενο fanClass: inetOrgPerson αντικείμενοClass: posixAccount objectClass: shadowAccount uid: strides cn: strides diberikanName: Strides sn: El Rey userΚωδικός: {SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp
uidNumber: 10000 gidNumber: 10000 αλληλογραφία: striders@swl.fan
gecos: Strider El Rey loginShell: / bin / bash homeDirectory: / home / strider dn: uid = legolas, ou = people, dc = swl, dc = αντικείμενο αντικειμένουClass: inetOrgPerson αντικείμενοClass: posixAccount objectClass: shadowAccount uid: legolas cn: legolas diberikan : Legolas sn: Archer user Κωδικός πρόσβασης: {SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD
uidNumber: 10001 gidNumber: 10000 αλληλογραφία: legolas@swl.fan
gecos: Legolas Archer loginShell: / bin / bash homeΚατάλογος: / home / legolas dn: uid = gandalf, ou = people, dc = swl, dc = αντικείμενο αντικειμένουClass: inetOrgPerson αντικείμενοClass: posixAccount objectClass: shadowAccount uid: gandalf cn: gandalf diberikanName: Gandalf sn: Ο χρήστης του Οδηγού Κωδικός πρόσβασης: {SSHA} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + u
uidNumber: 10002 gidNumber: 10000 αλληλογραφία: gandalf@swl.fan
gecos: Gandalf The Wizard loginShell: / bin / bash home Κατάλογος: / home / gandalf

root @ master: ~ # ldapadd -x -D cn = admin, dc = swl, dc = fan -W -f users.ldif
Εισαγάγετε τον κωδικό πρόσβασης LDAP: προσθήκη νέας καταχώρησης "uid = strides, ou = people, dc = swl, dc = fan" προσθήκη νέας καταχώρησης "uid = legolas, ou = people, dc = swl, dc = fan" προσθήκη νέας καταχώρησης "uid = gandalf, ou = άτομα, dc = swl, dc = ανεμιστήρας "

Ελέγχουμε τις προστιθέμενες καταχωρήσεις

root @ master: ~ # ldapsearch -x cn = βήματα
root @ master: ~ # ldapsearch -x uid = βήματα

Διαχειριζόμαστε τη βάση δεδομένων slpad με βοηθητικά προγράμματα κονσόλας

Επιλέγουμε το πακέτο ldapscripts για ένα τέτοιο έργο. Η διαδικασία εγκατάστασης και διαμόρφωσης έχει ως εξής:

root @ master: ~ # aptitude εγκαταστήστε ldapscripts
 
root @ master: ~ # mv /etc/ldapscripts/ldapscripts.conf \
/etc/ldapscripts/ldapscripts.conf.original
 
root @ master: ~ # nano /etc/ldapscripts/ldapscripts.conf
SERVER = localhost BINDDN = 'cn = admin, dc = swl, dc = fan' BINDPWDFILE = "/ etc / ldapscripts / ldapscripts.passwd" SUFFIX = 'dc = swl, dc = fan' GSUFFIX = 'ou = ομάδες' USUFFIX = 'ou = people' # MSUFFIX = 'ou = Computers' GIDSTART = 10001 UIDSTART = 10003 # MIDSTART = 10000 # OpenLDAP εντολές πελάτη LDAPSEARCHBIN = "/ usr / bin / ldapsearch" LDAPADDBIN = "/ usr / bin / ldapadd" LDAPDELETEBIN = " / usr / bin / ldapdelete "LDAPMODIFYBIN =" / usr / bin / ldapmodify "LDAPMODRDNBIN =" / usr / bin / ldapmodrdn "LDAPPASSWDBIN =" / usr / bin / ldappasswd "GCLASS =" posixGroup "# posixGroup" . /ldapadduser.template "PASSWORDGEN =" echo% u "

Παρατηρήστε ότι τα σενάρια χρησιμοποιούν τις εντολές πακέτου ldap-utils. Τρέξιμο dpkg -L ldap-utils | grep / κάδο να μάθουν τι είναι.

root @ master: ~ # sh -c "echo -n 'admin-password'> \
/etc/ldapscripts/ldapscripts.passwd "
 
root @ master: ~ # chmod 400 /etc/ldapscripts/ldapscripts.passwd
 
root @ master: ~ # cp /usr/share/doc/ldapscripts/examples/ldapadduser.template.sample \
/etc/ldapscripts/ldapdduser.template
 
root @ master: ~ # nano /etc/ldapscripts/ldapadduser.template
dn: uid = , , objectClass: inetOrgPerson αντικείμενοClass: posixAccount αντικείμενοClass: shadowAccount uid: cn: δεδομένο Όνομα: sn: εμφανιζόμενο όνομα: αριθμός uid: gidNumber: 10000 home Κατάλογος: loginShell: ταχυδρομείο: @ swl.fan geckos: περιγραφή: Λογαριασμός χρήστη
 
root @ master: ~ # nano /etc/ldapscripts/ldapscripts.conf
## αφαιρούμε το σχόλιο UTEMPLATE = "/ etc / ldapscripts / ldapadduser.template"

Προσθέτουμε τον χρήστη "bilbo" και τον κάνουμε μέλος της ομάδας "χρήστες"

root @ master: ~ # ldapadduser bilbo χρήστες
[dn: uid = bilbo, ou = people, dc = swl, dc = fan] Εισαγάγετε την τιμή για το "GivenName": Bilbo [dn: uid = bilbo, ou = people, dc = swl, dc = fan] Εισαγάγετε την τιμή για " sn ": Bagins [dn: uid = bilbo, ou = people, dc = swl, dc = fan] Εισαγάγετε τιμή για το" displayName ": Bilbo Bagins Προστέθηκε επιτυχώς το bilbo χρήστη στο LDAP Ορίστηκε επιτυχώς κωδικός πρόσβασης για το χρήστη bilbo

root @ master: ~ # ldapsearch -x uid = bilbo
# bilbo, people, swl.fan dn: uid = bilbo, ou = people, dc = swl, dc = αντικείμενο ανεμιστήραClass: inetOrgPerson αντικείμενοClass: posixAccount objectClass: shadowAccount uid: bilbo cn: bilbo diberikanName: Bilbo sn: Bagins displayName: Bilbo Bagins uidNumber: 10003 gidNumber: 10000 homeDirectory: / home / bilbo loginShell: / bin / bash mail: bilbo@swl.fan
gecos: bilbo περιγραφή: Λογαριασμός χρήστη

Για να δείτε το hash κωδικού πρόσβασης του χρήστη bilbo, είναι απαραίτητο να εκτελέσετε το ερώτημα με έλεγχο ταυτότητας:

root @ master: ~ # ldapsearch -x -D cn = admin, dc = swl, dc = fan -W uid = bilbo

Για να διαγράψετε τον χρήστη bilbo που εκτελούμε:

root @ master: ~ # ldapdelete -x -D cn = admin, dc = swl, dc = fan -W uid = bilbo, ou = people, dc = swl, dc = fan
Εισαγάγετε τον κωδικό πρόσβασης LDAP:

root @ master: ~ # ldapsearch -x uid = bilbo

Διαχειριζόμαστε τη βάση δεδομένων slapd μέσω μιας διεπαφής ιστού

Έχουμε μια λειτουργική υπηρεσία καταλόγου και θέλουμε να τη διαχειριστούμε πιο εύκολα. Υπάρχουν πολλά προγράμματα που έχουν σχεδιαστεί για αυτήν την εργασία, όπως το phpldapadmin, ldap-λογαριασμός-διαχειριστής, κ.λπ., τα οποία είναι διαθέσιμα απευθείας από τα αποθετήρια. Μπορούμε επίσης να διαχειριστούμε μια υπηρεσία καταλόγου μέσω του Apache Directory Studio, το οποίο πρέπει να κατεβάσουμε από το Διαδίκτυο.

Για περισσότερες πληροφορίες, επισκεφθείτε https://blog.desdelinux.net/ldap-introduccion/, και τα ακόλουθα 6 άρθρα.

Πελάτης LDAP

Στάδιο:

Ας πούμε ότι έχουμε την ομάδα mail.swl.fan ως διακομιστής αλληλογραφίας που εφαρμόστηκε όπως είδαμε στο άρθρο Postfix + Dovecot + Squirrelmail και τοπικοί χρήστες, το οποίο παρόλο που αναπτύχθηκε στο CentOS, μπορεί να χρησιμεύσει ως οδηγός για το Debian και πολλές άλλες διανομές Linux. Θέλουμε, εκτός από τους τοπικούς χρήστες που έχουμε ήδη δηλώσει, οι χρήστες που είναι αποθηκευμένοι στη βάση δεδομένων OpenLDAP που υπάρχουν στο master.swl.fan. Για να το επιτύχουμε αυτό πρέπει «χάρτης»Σε χρήστες LDAP ως τοπικοί χρήστες στο διακομιστή mail.swl.fan. Αυτή η λύση ισχύει επίσης για οποιαδήποτε υπηρεσία βασίζεται στον έλεγχο ταυτότητας PAM. Η γενική διαδικασία για Debian, είναι το ακόλουθο:

root @ mail: ~ # aptitude install libnss-ldap libpam-ldap ldap-utils

  ┌────────────────────┤ Διαμόρφωση του libnss-ldap │ │ Εισαγάγετε το URI ("Uniform Resource Identifier" ή │ │ Uniform Resource Identifier) ​​του διακομιστή LDAP. Αυτή η συμβολοσειρά είναι παρόμοια με το │ │ «ldap: //: / ». Μπορείτε επίσης να χρησιμοποιήσετε «ldaps: // » ή "ldapi: //". Ο αριθμός θύρας είναι προαιρετικός. Recommended │ │ Συνιστάται η χρήση μιας διεύθυνσης IP για την αποφυγή αποτυχίας όταν οι υπηρεσίες ονομάτων τομέα │ │ δεν είναι διαθέσιμες. RI │ RI URI διακομιστή LDAP: │ │ │ │ ldap: //master.swl.fan__________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ───────────────────────────┘ ┌───────────────────── ┤ Διαμόρφωση του libnss-ldap │ │ Εισαγάγετε το διακεκριμένο όνομα (DN) της βάσης αναζήτησης LDAP. │ │ Πολλοί ιστότοποι χρησιμοποιούν στοιχεία ονόματος τομέα για αυτόν τον σκοπό. Για παράδειγμα, ο τομέας "example.net" θα χρησιμοποιεί │ │ "dc = example, dc = net" ως το διακριτό όνομα της βάσης αναζήτησης. │ │ │ │ Το διακεκριμένο όνομα (DN) της βάσης αναζήτησης: │ │ │ │ dc = swl, dc = ανεμιστήρας ____________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Διαμόρφωση του libnss-ldap │ │ Εισαγάγετε την έκδοση του πρωτοκόλλου LDAP που πρέπει να χρησιμοποιεί το ldapns. Συνιστάται να χρησιμοποιείτε τον υψηλότερο διαθέσιμο αριθμό έκδοσης. Version │ │ │ Έκδοση LDAP για χρήση: │ │ │ │                                     3                                     │ │ 2 │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Διαμόρφωση του libnss-ldap │ │ Επιλέξτε ποιον λογαριασμό θα χρησιμοποιηθεί για ερωτήματα nss με │ │ δικαιώματα root. │ │ │ │ Σημείωση: Για να λειτουργήσει αυτή η επιλογή, ο λογαριασμός χρειάζεται δικαιώματα για να μπορεί να αποκτήσει πρόσβαση στα χαρακτηριστικά LDAP που σχετίζονται με τις καταχωρήσεις │ shadow "shadow" του χρήστη, καθώς και τους κωδικούς πρόσβασης των χρηστών και των ομάδων │ │ . Account │ │ account Λογαριασμός LDAP για root: │ │ │ │ cn = admin, dc = swl, dc = fan ___________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Διαμόρφωση του libnss-ldap │ │ Εισαγάγετε τον κωδικό πρόσβασης που θα χρησιμοποιηθεί όταν το libnss-ldap προσπαθεί να ελέγξει τον έλεγχο ταυτότητας στον κατάλογο LDAP με τον λογαριασμό LDAP του root. │ │ │ │ Ο κωδικός πρόσβασης θα αποθηκευτεί σε ξεχωριστό αρχείο │ │ ("/etc/libnss-ldap.secret") στο οποίο μπορεί να έχει πρόσβαση μόνο ο root. You │ │ │ Εάν εισαγάγετε έναν κενό κωδικό πρόσβασης, ο παλιός κωδικός πρόσβασης θα επαναχρησιμοποιηθεί. │ │ │ │ Κωδικός πρόσβασης για τον ριζικό λογαριασμό LDAP: │ │ │ │ ******** ________________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ────────────────────────────┘ ┌──────────────────── ─┤ Διαμόρφωση του libnss-ldap Is │ │ │ Η διαχείριση του nsswitch.conf δεν γίνεται αυτόματα │ │ │ │ Πρέπει να τροποποιήσετε το αρχείο σας "/etc/nsswitch.conf "για να χρησιμοποιήσετε μια πηγή δεδομένων LDAP εάν θέλετε το πακέτο libnss-ldap να λειτουργεί. │ │ Μπορείτε να χρησιμοποιήσετε το δείγμα αρχείου │ │ στο "/usr/share/doc/libnss-ldap/examples/nsswitch.ldap" ως παράδειγμα της διαμόρφωσης nsswitch ή │ │ μπορείτε να το αντιγράψετε μέσω της τρέχουσας διαμόρφωσής σας. │ │ │ │ Σημειώστε ότι προτού αφαιρέσετε αυτό το πακέτο μπορεί να είναι βολικό να │ │ αφαιρέσετε τις καταχωρήσεις "ldap" από το αρχείο nsswitch.conf έτσι ώστε οι βασικές υπηρεσίες │ │ να συνεχίσουν να λειτουργούν. │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Διαμόρφωση του libpam-ldap Option │ │ │ Αυτή η επιλογή επιτρέπει στα εργαλεία κωδικού πρόσβασης που χρησιμοποιούν PAM να αλλάζουν τοπικούς κωδικούς πρόσβασης. │ │ │ │ Ο κωδικός πρόσβασης για το λογαριασμό διαχειριστή LDAP θα αποθηκευτεί σε ξεχωριστό αρχείο that │ το οποίο μπορεί να διαβάσει μόνο ο διαχειριστής. Option │ │ │ Αυτή η επιλογή θα πρέπει να απενεργοποιηθεί, εάν τοποθετηθεί "/ κλπ" μέσω NFS. Want │ │ │ Θέλετε να επιτρέψετε στον λογαριασμό διαχειριστή LDAP να συμπεριφέρεται ως │ │ ο τοπικός διαχειριστής; │ │ │ │                                            │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Διαμόρφωση του libpam-ldap │ │ │ │ Επιλέξτε εάν ο διακομιστής LDAP επιβάλλει την ταυτοποίηση πριν λάβετε καταχωρήσεις entr entradas │ │ │ │ Αυτή η ρύθμιση είναι σπάνια απαραίτητη. Required │ │ │ Απαιτείται ένας χρήστης για πρόσβαση στη βάση δεδομένων LDAP; │ │ │ │                                               │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Διαμόρφωση του libpam-ldap │ │ Εισαγάγετε το όνομα του λογαριασμού διαχειριστή LDAP. Account │ │ │ Αυτός ο λογαριασμός θα χρησιμοποιηθεί αυτόματα για τη διαχείριση της βάσης δεδομένων, οπότε πρέπει να έχει τα κατάλληλα δικαιώματα διαχειριστή. Account │ │ account Λογαριασμός διαχειριστή LDAP: │ │ │ │ cn = admin, dc = swl, dc = fan ___________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Διαμόρφωση του libpam-ldap │ │ Εισαγάγετε τον κωδικό πρόσβασης για το λογαριασμό διαχειριστή. │ │ │ │ Ο κωδικός πρόσβασης θα αποθηκευτεί στο αρχείο "/etc/pam_ldap.secret". Ο διαχειριστής │ │ θα είναι ο μόνος που μπορεί να διαβάσει αυτό το αρχείο και θα επιτρέψει στο │ │ libpam-ldap να ελέγχει αυτόματα τη διαχείριση των συνδέσεων στη βάση δεδομένων │ │. You │ │ │ Εάν αφήσετε αυτό το πεδίο κενό, ο προηγούμενος αποθηκευμένος κωδικός πρόσβασης │ │ θα χρησιμοποιηθεί ξανά. Password │ │ password Κωδικός πρόσβασης διαχειριστή LDAP: │ │ │ │ ******** _________________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘  

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # Παράδειγμα διαμόρφωσης της λειτουργίας διακόπτη υπηρεσίας ονόματος ονόματος GNU. # Εάν έχετε εγκατεστημένα τα πακέτα `glibc-doc-referensi 'και' info ', δοκιμάστε: #` info libc "Name Service Switch" για πληροφορίες σχετικά με αυτό το αρχείο. passwd: συμπατριώτης ldap
ομάδα: συμπατριώτης ldap
σκιά: συμπατριώτης ldap
gshadow: files hosts: files dns network: files Protocols: db files services: db files ethers: db files rpc: db files netgroup: nis

Ας επεξεργαστούμε το αρχείο /etc/pam.d/common-password, πηγαίνουμε στη γραμμή 26 και εξαλείφουμε την τιμή «χρησιμοποιήστε_authtok":

root @ mail: ~ # nano /etc/pam.d/common-password
# # /etc/pam.d/common-password - μονάδες που σχετίζονται με κωδικό πρόσβασης κοινές για όλες τις υπηρεσίες # # Αυτό το αρχείο περιλαμβάνεται από άλλα αρχεία ρυθμίσεων PAM για συγκεκριμένες υπηρεσίες, # και πρέπει να περιέχει μια λίστα λειτουργικών μονάδων που ορίζουν τις υπηρεσίες # χρησιμοποιείται για την αλλαγή κωδικών πρόσβασης χρήστη. Η προεπιλογή είναι pam_unix. # Επεξήγηση των επιλογών pam_unix: # # Η επιλογή "sha512" ενεργοποιεί τους αλατισμένους κωδικούς πρόσβασης SHA512. Χωρίς αυτήν την επιλογή, # η προεπιλογή είναι το Unix crypt. Οι προηγούμενες κυκλοφορίες χρησιμοποίησαν την επιλογή "md5". # # Η "ασαφής" επιλογή αντικαθιστά την παλιά επιλογή "OBSCURE_CHECKS_ENAB" στο # login.defs. # # Δείτε τη σελίδα pam_unix για άλλες επιλογές. # Από pam 1.0.1-6, αυτό το αρχείο διαχειρίζεται από pam-auth-update από προεπιλογή. # Για να επωφεληθείτε από αυτό, συνιστάται να διαμορφώσετε τυχόν # τοπικές ενότητες είτε πριν είτε μετά το προεπιλεγμένο μπλοκ και να χρησιμοποιήσετε το # pam-auth-update για να διαχειριστείτε την επιλογή άλλων ενοτήτων. Ανατρέξτε στην ενότητα # pam-auth-update (8) για λεπτομέρειες. # εδώ είναι ο κωδικός πρόσβασης των μονάδων ανά πακέτο (το "Κύριο" μπλοκ) [επιτυχία = 2 προεπιλογή = αγνοήστε] pam_unix.so σκοτεινό sha512
κωδικός πρόσβασης [επιτυχία = 1 χρήστης_unknown = αγνοήστε προεπιλογή = die] pam_ldap.so try_first_pass
# εδώ είναι το εναλλακτικό εάν καμία μονάδα δεν πετυχαίνει τον κωδικό πρόσβασης απαραίτητο pam_deny.so # προωθήστε τη στοίβα με θετική τιμή επιστροφής εάν δεν υπάρχει ήδη. # Αυτό μας αποτρέπει να επιστρέψουμε ένα σφάλμα μόνο και μόνο επειδή τίποτα δεν ορίζει έναν κωδικό επιτυχίας # αφού οι παραπάνω ενότητες θα μεταβούν στον κωδικό πρόσβασης pam_permit.so # και εδώ υπάρχουν περισσότερες μονάδες ανά πακέτο (το μπλοκ "Πρόσθετο") # τέλος της pam- config-ενημέρωση config

Σε περίπτωση που χρειαζόμαστε την Τοπική σύνδεση των χρηστών που είναι αποθηκευμένοι στο LDAP και θέλουμε να δημιουργούνται αυτόματα οι φάκελοί τους σπίτι, πρέπει να επεξεργαστούμε το αρχείο /etc/pam.d/common-session και προσθέστε την ακόλουθη γραμμή στο τέλος του αρχείου:

προαιρετική περίοδος λειτουργίας pam_mkhomedir.so skel = / etc / skel umask = 077

Στο παράδειγμα της υπηρεσίας καταλόγου OpenLDAP που αναπτύχθηκε νωρίτερα, ο μόνος τοπικός χρήστης που δημιουργήθηκε ήταν ο χρήστης βόμβος, ενώ στο LDAP δημιουργούμε τους χρήστες βήματα, Legolas, Gandalf, Και bilbo. Εάν οι διαμορφώσεις που έχουν γίνει μέχρι στιγμής είναι σωστές, τότε θα πρέπει να μπορούμε να παραθέσουμε τους τοπικούς χρήστες και αυτούς που έχουν χαρτογραφηθεί ως τοπικοί αλλά αποθηκευμένοι στον απομακρυσμένο διακομιστή LDAP:

root @ mail: ~ # getent passwd 
buzz: x: 1001: 1001: Buzz Debian First OS ,,,: / home / buzz: / bin / bash
Διαδρομές: x: 10000: 10000: Strides El Rey: / home / strides: / bin / bash
legolas: x: 10001: 10000: Legolas Archer: / home / legolas: / bin / bash
gandalf: x: 10002: 10000: Gandalf Ο μάγος: / home / gandalf: / bin / bash
bilbo: x: 10003: 10000: bilbo: / home / bilbo: / bin / bash

Μετά τις αλλαγές στον έλεγχο ταυτότητας του συστήματος, είναι έγκυρη η επανεκκίνηση του διακομιστή εάν δεν έχουμε μια κρίσιμη υπηρεσία:

root @ mail: ~ # επανεκκίνηση

Αργότερα ξεκινάμε μια τοπική συνεδρία στον διακομιστή mail.swl.fan με τα διαπιστευτήρια ενός χρήστη που είναι αποθηκευμένο στη βάση δεδομένων LDAP του master.swl.fan. Μπορούμε επίσης να προσπαθήσουμε να συνδεθούμε μέσω SSH.

buzz @ sysadmin: ~ $ ssh gandalf @ mail
Κωδικός πρόσβασης gandalf @ mail: Δημιουργία καταλόγου '/ home / gandalf'. Τα προγράμματα που περιλαμβάνονται στο σύστημα Debian GNU / Linux είναι ελεύθερο λογισμικό. Οι ακριβείς όροι διανομής για κάθε πρόγραμμα περιγράφονται στα μεμονωμένα αρχεία στο / usr / share / doc / * / copyright. Το Debian GNU / Linux συνοδεύεται από απολύτως καμία εγγύηση, στο βαθμό που επιτρέπεται από την ισχύουσα νομοθεσία.
gandalf @ mail: ~ $ su
Κωδικός:

root @ mail: / home / gandalf # ομάδα getent
buzz: x: 1001: χρήστες: *: 10000:

root @ mail: / home / gandalf # έξοδος
έξοδος

gandalf @ mail: ~ $ ls -l / σπίτι /
σύνολο 8 drwxr-xr-x 2 buzz buzz     4096 17 Ιουνίου 12:25 buzz drwx ------ 2 χρήστες gandalf 4096 Ιουν 17 13:05 gandalf

Η υπηρεσία καταλόγου που εφαρμόζεται σε επίπεδο διακομιστή και πελάτη, λειτουργεί σωστά.

Kerberos

Από τη Βικιπαίδεια:

  • Το Kerberos είναι ένα πρωτόκολλο ελέγχου ταυτότητας δικτύου υπολογιστών που δημιουργήθηκε από το MIT που επιτρέπει σε δύο υπολογιστές σε ένα ανασφαλές δίκτυο να αποδεικνύουν με ασφάλεια την ταυτότητά τους μεταξύ τους. Οι σχεδιαστές του επικεντρώθηκαν αρχικά σε ένα μοντέλο πελάτη-διακομιστή και παρέχει αμοιβαίο έλεγχο ταυτότητας: τόσο ο πελάτης όσο και ο διακομιστής επαληθεύουν την ταυτότητα του άλλου. Τα μηνύματα ελέγχου ταυτότητας προστατεύονται για αποτροπή υποκλοπές y επανάληψη επιθέσεων.

    Το Kerberos βασίζεται σε κρυπτογραφία συμμετρικού κλειδιού και απαιτεί αξιόπιστο τρίτο μέρος. Επιπλέον, υπάρχουν επεκτάσεις στο πρωτόκολλο για τη χρήση κρυπτογραφίας ασύμμετρου κλειδιού.

    Το Kerberos βασίζεται στο Πρωτόκολλο Needham-Schroeder. Χρησιμοποιεί ένα αξιόπιστο τρίτο μέρος, που ονομάζεται "Κέντρο διανομής κλειδιών" (KDC), το οποίο αποτελείται από δύο ξεχωριστά λογικά μέρη: έναν "Διακομιστή ελέγχου ταυτότητας" (Διακομιστής ελέγχου ταυτότητας AS) και έναν "διακομιστή έκδοσης εισιτηρίων" (TGS ή Διακομιστής εκχώρησης εισιτηρίων) ). Το Kerberos λειτουργεί με βάση "εισιτήρια", τα οποία χρησιμεύουν στην απόδειξη της ταυτότητας των χρηστών.

    Ο Kerberos διατηρεί μια βάση δεδομένων με μυστικά κλειδιά. Κάθε οντότητα στο δίκτυο - είτε είναι πελάτης είτε διακομιστής - μοιράζεται ένα μυστικό κλειδί που είναι γνωστό μόνο σε αυτόν και στον Kerberos. Η γνώση αυτού του κλειδιού χρησιμεύει στην απόδειξη της ταυτότητας της οντότητας. Για μια επικοινωνία μεταξύ δύο οντοτήτων, η Kerberos δημιουργεί ένα κλειδί συνεδρίας, το οποίο μπορούν να χρησιμοποιήσουν για να διασφαλίσουν τα προβλήματά τους.

Μειονεκτήματα του Kerberos

De Χαρούμενος:

Ακόμα κι αν Kerberos αφαιρεί μια κοινή απειλή ασφάλειας, μπορεί να είναι δύσκολο να εφαρμοστεί για διάφορους λόγους:

  • Μετεγκατάσταση κωδικών πρόσβασης χρήστη από μια τυπική βάση δεδομένων κωδικών πρόσβασης UNIX, όπως / etc / passwd ή / etc / shadow, σε μια βάση δεδομένων κωδικού πρόσβασης Kerberos, μπορεί να είναι κουραστική και δεν υπάρχει γρήγορος μηχανισμός για την ολοκλήρωση αυτής της εργασίας.
  • Ο Kerberos υποθέτει ότι κάθε χρήστης είναι αξιόπιστος, αλλά χρησιμοποιεί ένα μη αξιόπιστο μηχάνημα σε ένα μη αξιόπιστο δίκτυο. Ο κύριος στόχος του είναι να αποτρέψει την αποστολή μη κρυπτογραφημένων κωδικών πρόσβασης μέσω του δικτύου. Ωστόσο, εάν οποιοσδήποτε άλλος χρήστης, εκτός από τον κατάλληλο χρήστη, έχει πρόσβαση στο μηχάνημα έκδοσης εισιτηρίων (KDC) για έλεγχο ταυτότητας, ο Kerberos θα βρίσκεται σε κίνδυνο.
  • Για μια εφαρμογή που χρησιμοποιεί Kerberos, ο κωδικός πρέπει να τροποποιηθεί για να πραγματοποιεί τις κατάλληλες κλήσεις προς τις βιβλιοθήκες Kerberos. Εφαρμογές που τροποποιούνται με αυτόν τον τρόπο θεωρούνται κεραμικές. Για ορισμένες εφαρμογές, αυτό μπορεί να είναι υπερβολική προσπάθεια προγραμματισμού, λόγω του μεγέθους της εφαρμογής ή του Σχεδιασμού της. Για άλλες ασύμβατες εφαρμογές, πρέπει να γίνουν αλλαγές στον τρόπο επικοινωνίας του διακομιστή δικτύου και των πελατών του. Και πάλι, αυτό μπορεί να πάρει αρκετό προγραμματισμό. Γενικά, οι εφαρμογές κλειστού κώδικα που δεν υποστηρίζουν το Kerberos είναι συνήθως οι πιο προβληματικές.
  • Τέλος, εάν αποφασίσετε να χρησιμοποιήσετε το Kerberos στο δίκτυό σας, πρέπει να συνειδητοποιήσετε ότι είναι μια επιλογή «όλα ή τίποτα». Εάν αποφασίσετε να χρησιμοποιήσετε το Kerberos στο δίκτυό σας, πρέπει να θυμάστε ότι εάν κάποιοι κωδικοί πρόσβασης μεταβιβαστούν σε μια υπηρεσία που δεν χρησιμοποιεί το Kerberos για έλεγχο ταυτότητας, διατρέχετε τον κίνδυνο να παραληφθεί το πακέτο. Έτσι, το δίκτυό σας δεν θα έχει κανένα όφελος από τη χρήση του Kerberos. Για να ασφαλίσετε το δίκτυό σας με το Kerberos, θα πρέπει να χρησιμοποιείτε μόνο τις εκδόσεις kerberized όλων των εφαρμογών πελάτη / διακομιστή που στέλνουν μη κρυπτογραφημένους κωδικούς πρόσβασης ή δεν χρησιμοποιούν καμία από αυτές τις εφαρμογές στο δίκτυο.

Η μη αυτόματη εφαρμογή και διαμόρφωση του OpenLDAP ως Kerberos Back-End δεν είναι εύκολη υπόθεση. Ωστόσο, αργότερα θα δούμε ότι το Samba 4 Active Directory - Domain Controller ενσωματώνεται με διαφανή τρόπο για το Sysadmin, έναν διακομιστή DNS, το Microsoft Network και το Domain Controller, το διακομιστή LDAP ως Back-End σχεδόν όλων των αντικειμένων του, και η υπηρεσία ελέγχου ταυτότητας με βάση το Kerberos ως τα βασικά στοιχεία μιας υπηρεσίας καταλόγου Active Directory σε Microsoft.

Μέχρι σήμερα δεν είχαμε την ανάγκη να εφαρμόσουμε ένα "Kerberized Network". Γι 'αυτό δεν γράψαμε για το πώς να εφαρμόσουμε το Kerberos.

Samba 4 Active Directory - Ελεγκτής τομέα

Σημαντικό:

Δεν υπάρχει καλύτερη τεκμηρίωση από τον ιστότοπο wiki.samba.org. Το Sysadmin που αξίζει το αλάτι του πρέπει να επισκεφτεί αυτόν τον ιστότοπο - στα Αγγλικά - και να περιηγηθεί στον μεγάλο αριθμό σελίδων που είναι αποκλειστικά αφιερωμένες στο Samba 4, γραμμένο από τον ίδιο τον Team Samba. Δεν πιστεύω ότι υπάρχει διαθέσιμη τεκμηρίωση στο Διαδίκτυο για την αντικατάστασή της. Παρεμπιπτόντως, παρατηρήστε τον αριθμό των επισκέψεων που εμφανίζονται στο κάτω μέρος κάθε σελίδας. Ένα παράδειγμα αυτού είναι ότι επισκεφτήκατε την κύρια σελίδα σας ή την «Κύρια σελίδα» 276,183 φορές έως σήμερα 20 Ιουνίου 2017 στις 10:10 π.μ. Ανατολική τυπική ώρα. Επιπλέον, η τεκμηρίωση διατηρείται πολύ ενημερωμένη, καθώς αυτή η σελίδα τροποποιήθηκε στις 6 Ιουνίου.

Από τη Βικιπαίδεια:

Το Samba είναι μια δωρεάν εφαρμογή του πρωτοκόλλου κοινής χρήσης αρχείων των Microsoft Windows (παλαιότερα ονομαζόταν SMB, μετονομάστηκε πρόσφατα CIFS) για συστήματα τύπου UNIX. Με αυτόν τον τρόπο, είναι πιθανό οι υπολογιστές με GNU / Linux, Mac OS X ή Unix να μοιάζουν γενικά με διακομιστές ή να ενεργούν ως πελάτες σε δίκτυα Windows. Το Samba σας επιτρέπει επίσης να επικυρώσετε τους χρήστες ως Κύριος ελεγκτής τομέα (PDC), ως μέλος τομέα και ακόμη και ως τομέας Active Directory για δίκτυα που βασίζονται σε Windows. εκτός από τη δυνατότητα να προβάλλει ουρές εκτύπωσης, κοινόχρηστους καταλόγους και έλεγχο ταυτότητας με το δικό του αρχείο χρήστη.

Μεταξύ των συστημάτων τύπου Unix στα οποία μπορεί να εκτελεστεί το Samba είναι οι διανομές GNU / Linux, το Solaris και οι διάφορες παραλλαγές BSD μεταξύ των ότι μπορούμε να βρούμε τον διακομιστή Mac OS X της Apple.

Samba 4 AD-DC με το εσωτερικό του DNS

  • Ξεκινάμε από μια καθαρή εγκατάσταση - χωρίς γραφική διεπαφή- ενός Debian 8 "Jessie".

Αρχικοί έλεγχοι

root @ master: ~ # όνομα κεντρικού υπολογιστή
κύριος
root @ master: ~ # hostname --fqdn
master.swl.fan
root @ master: ~ # ip addr
1: τι: mtu 65536 qdisc noqueue state Άγνωστο προεπιλεγμένο link / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 εύρος κεντρικού υπολογιστή lo valid_lft πάντα προτιμώμενο_lft για πάντα inet6 :: Ο κεντρικός υπολογιστής εύρους 1/128 valid_lft προτιμάται πάντα_lft για πάντα 2: eth0: mtu 1500 qdisc pfifo_fast state Άγνωστο προεπιλεγμένο group qlen 1000 link / ether 00: 0c: 29: 80: 3b: 3f brd ff: ff: ff: ff: ff: ff
    inet 192.168.10.5/24 brd 192.168.10.255 πεδίο καθολικής eth0
       valid_lft πάντα προτιμώμενο_lft για πάντα inet6 fe80 :: 20c: 29ff: fe80: 3b3f / 64 εύρος σύνδεσης valid_lft για πάντα προτιμώμενο_lft για πάντα
root @ master: ~ # cat /etc/resolv.conf
αναζήτηση swl.fan nameserver 127.0.0.1
  • Με το οποίο δηλώνουμε το υποκατάστημα κύριος μόνο, είναι περισσότερο από αρκετό για τους σκοπούς μας.
root @ master: ~ # cat /etc/apt/sources.list
deb http://192.168.10.1/repos/jessie-8.6/debian/ Jessie κύριος
deb http://192.168.10.1/repos/jessie-8.6/debian/security/ jessie / ενημερώσεις κύριος

Postfix από Exim και βοηθητικά προγράμματα

root @ master: ~ # aptitude εγκαταστήστε το postfix htop mc deborphan

  ┌────────────────────────┤ Διαμόρφωση Postfix ├───────────────────── │ │ Επιλέξτε τον τύπο διαμόρφωσης διακομιστή αλληλογραφίας που ταιριάζει καλύτερα στις ανάγκες σας │ │. │ │ │ │ Χωρίς διαμόρφωση: │ │ Διατηρεί την τρέχουσα διαμόρφωση ανέπαφη. │ site Ιστότοπος Διαδικτύου: │ │ Η αλληλογραφία αποστέλλεται και λαμβάνεται απευθείας μέσω SMTP. │ │ Διαδίκτυο με "smarthost": │ │ Η αλληλογραφία λαμβάνεται απευθείας χρησιμοποιώντας SMTP ή εκτελώντας ένα εργαλείο like │ όπως "fetchmail". Η εξερχόμενη αλληλογραφία αποστέλλεται χρησιμοποιώντας │ │ a "smarthost". │ │ Μόνο τοπική αλληλογραφία: │ │ Το μόνο ταχυδρομείο που παραδίδεται είναι για τοπικούς χρήστες. Όχι │ │ υπάρχει δίκτυο. Configuration │ │ │ Γενικός τύπος διαμόρφωσης αλληλογραφίας: │ │ │ │ Χωρίς διαμόρφωση │ │ Ιστότοπος διαδικτύου │ │ Διαδίκτυο με "smarthost" │ │ Δορυφορικό σύστημα │ │                         Μόνο τοπική αλληλογραφία                                │ │ │ │ │ │                                     │ │ │ └────────────────────────────────────────────── ────────────────────────────┘ ┌──────────────────── ─────┤ Διαμόρφωση Postfix ├─────────────────────────┐ │ Το "όνομα συστήματος αλληλογραφίας" είναι το όνομα του τομέα που │ │ χρησιμοποιείται για την "καταλληλότητα" _ALL_ διευθύνσεων email χωρίς όνομα τομέα. Αυτό περιλαμβάνει αλληλογραφία από και προς το "root": παρακαλώ μην κάνετε το μηχάνημά σας να στέλνει email από root@example.org σε │ │ λιγότερο από root@example.org ερωτηθείς. │ │ │ │ Άλλα προγράμματα θα χρησιμοποιούν αυτό το όνομα. Πρέπει να είναι ένα μοναδικό όνομα τομέα (FQDN). │ │ │ │ Επομένως, εάν μια διεύθυνση email στον τοπικό υπολογιστή είναι │ │ κάτι@example.org, η σωστή τιμή για αυτήν την επιλογή θα είναι example.org. System │ │ name Όνομα συστήματος αλληλογραφίας: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘  

Καθαρίζουμε

root @ master: ~ # aptitude purge ~ c
root @ master: ~ # aptitude install -f
root @ master: ~ # ικανότητα καθαρό
root @ master: ~ # aptitude autoclean

Εγκαθιστούμε απαιτήσεις για τη μεταγλώττιση των Samba 4 και άλλα απαραίτητα πακέτα

root @ master: ~ # aptitude install acl attr autoconf bison \
build-essential debhelper dnsutils docbook-xml docbook-xsl flex gdb \
krb5-χρήστης libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev \
libcap-dev libcups2-dev libgnutls28-dev libjson-perl \
libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl\
libpopt-dev libreadline-dev perl perl-modules pkg-config \
python-all-dev python-dev python-dnspython python-crypto\
xsltproc zlib1g -dev libgpgme11 -dev python -gpgme python -m2crypto \
libgnutls28-dbg gnutls-dev ldap-utils krb5-config

 ┌───────────────┤ Διαμόρφωση ελέγχου ταυτότητας Kerberos ├───────────────┐ │ Όταν οι χρήστες προσπαθούν να χρησιμοποιήσουν το Kerberos και να καθορίσουν ένα όνομα │ │ κύριος ή χρήστης χωρίς να διευκρινιστεί σε ποιον διοικητικό τομέα Kerberos ανήκει ο κύριος │ │, το σύστημα παίρνει τον προεπιλεγμένο χώρο │ │.  Ο προεπιλεγμένος τομέας μπορεί επίσης να χρησιμοποιηθεί ως the │ σφαίρα μιας υπηρεσίας Kerberos που εκτελείται στον τοπικό υπολογιστή.  │ │ Συνήθως, το προεπιλεγμένο πεδίο είναι το κεφαλαίο όνομα του τοπικού τομέα DNS │ │.  Default │ │ default Προεπιλεγμένη σφαίρα Kerberos έκδοση 5: │ │ │ │ SWL.FAN __________________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌───────────────┤ Διαμόρφωση ελέγχου ταυτότητας Kerberos │ │ Εισαγάγετε τα ονόματα των διακομιστών Kerberos στη σφαίρα SWL.FAN του │ │ Kerberos, χωρισμένα με κενά.  Servers │ │ servers διακομιστές Kerberos για τη σφαίρα σας: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ │ └────────────────────────────────────────────── ─────────────────────────────┘ ┌───────────────┤ Διαμόρφωση ελέγχου ταυτότητας Kerberos │ │ Εισαγάγετε το όνομα διακομιστή διαχείρισης (αλλαγή κωδικού πρόσβασης) │ │ για τη σφαίρα Kerberos SWL.FAN.   

Η παραπάνω διαδικασία χρειάστηκε λίγο χρόνο επειδή δεν έχουμε εγκαταστήσει ακόμη υπηρεσία DNS. Ωστόσο, επιλέξατε τον τομέα σωστά από τις ρυθμίσεις αρχείου / Etc / hosts. Θυμηθείτε ότι στο αρχείο / Etc / resolv.conf δηλώσαμε ως διακομιστή ονόματος τομέα στην IP 127.0.0.1.

Διαμορφώνουμε τώρα το αρχείο / etc / ldap / ldap / conf

root @ master: ~ # nano /etc/ldap/ldap.conf
ΒΑΣΗ dc = swl, dc = URI ανεμιστήρα ldap: //master.swl.fan

Για ερωτήματα που χρησιμοποιούν την εντολή ldapsearch κατασκευασμένο από τον χρήστη root είναι του τύπου ldapsearch -x -W cn = xxxx, πρέπει να δημιουργήσουμε το αρχείο /root/.ldapsearch με το ακόλουθο περιεχόμενο:

root @ master: ~ # nano .ldaprc
BINDDN CN = Διαχειριστής, CN = Χρήστες, DC = swl, DC = ανεμιστήρας

Το σύστημα αρχείων πρέπει να υποστηρίζει ACL - Access Control List

root @ master: ~ # nano / etc / fstab
# / etc / fstab: πληροφορίες στατικού συστήματος αρχείων. # # Χρησιμοποιήστε το 'blkid' για να εκτυπώσετε το καθολικά μοναδικό αναγνωριστικό για μια συσκευή #. Αυτό μπορεί να χρησιμοποιηθεί με το UUID = ως πιο ισχυρός τρόπος για να ονομάσετε συσκευές # που λειτουργούν ακόμη και αν προστίθενται και αφαιρεθούν δίσκοι. Βλέπε fstab (5). # # # / ήταν ενεργοποιημένο / dev / sda1 κατά την εγκατάσταση UUID = 33acb024-291b-4767-b6f4-cf207a71060c / ext4 user_xattr, acl, barrier = 1, noatime, error = remount-ro 0 1
# swap ήταν ενεργοποιημένη / dev / sda5 κατά την εγκατάσταση UUID = cb73228a-615d-4804-9877-3ec225e3ae32 none swap sw 0 0 / dev / sr0 / media / cdrom0 udf, iso9660 user, noauto 0 0

root @ master: ~ # mount -a

root @ master: ~ # touch testing_acl.txt
root @ master: ~ # setfattr -n user.test -v test testing_acl.txt
root @ master: ~ # setfattr -n security.test -v test2 testing_acl.txt
root @ master: ~ # getfattr -d testing_acl.txt
# αρχείο: testing_acl.txt user.test = "test"

root @ master: ~ # getfattr -n security.test -d testing_acl.txt
# αρχείο: testing_acl.txt security.test = "test2"

root @ master: ~ # setfacl -mg: adm: rwx testing_acl.txt

root @ master: ~ # getfacl testing_acl.txt
# αρχείο: testing_acl.txt # owner: root # group: root user :: rw- group :: r-- group: adm: rwx mask :: rwx other :: r--

Παίρνουμε την πηγή Samba 4, τη μεταγλωττίζουμε και την εγκαθιστούμε

Συνιστάται ιδιαίτερα η λήψη του αρχείου προέλευσης της έκδοσης Σταθερός από τον ιστότοπο https://www.samba.org/. Στο παράδειγμά μας κατεβάζουμε την έκδοση samba-4.5.1.tar.gz προς το φάκελο /επιλέγω.

root @ master: ~ # cd / opt
root @ master: / opt # wget https://download.samba.org/pub/samba/stable/samba-4.5.1.tar.gz
root @ master: / opt # tar xvfz samba-4.5.1.tar.gz
root @ master: / opt # cd samba-4.5.1 /

Επιλογές διαμόρφωσης

Εάν θέλουμε να προσαρμόσουμε τις επιλογές διαμόρφωσης, εκτελούμε:

root @ master: /opt/samba-4.5.1# ./configure --help

και με μεγάλη προσοχή επιλέξτε αυτά που χρειαζόμαστε. Συνιστάται να ελέγξετε αν το ληφθέν πακέτο μπορεί να εγκατασταθεί στη διανομή Linux που χρησιμοποιούμε, το οποίο στην περίπτωσή μας είναι το Debian 8.6 Jessie:

root @ master: /opt/samba-4.5.1# . / Διαμόρφωση αποστάξτε

Διαμορφώνουμε, μεταγλωττίζουμε και εγκαθιστούμε το samba-4.5.1

  • Από τις προηγουμένως εγκατεστημένες απαιτήσεις και τα 8604 αρχεία (που αποτελούν το συμπαγές samba-4.5.1.tar.gz) που ζυγίζουν περίπου 101.7 megabyte - συμπεριλαμβανομένων των φακέλων source3 και source4 που ζυγίζουν περίπου 61.1 megabyte - θα λάβουμε ένα υποκατάστατο για ένα Active Directory σε στυλ Microsoft, ποιότητας και σταθερότητας περισσότερο από αποδεκτή για οποιοδήποτε περιβάλλον παραγωγής. Πρέπει να επισημάνουμε το έργο της Team Samba στην παροχή του Ελεύθερου Λογισμικού Samba 4.

Οι παρακάτω εντολές είναι οι κλασικές για τη συλλογή και εγκατάσταση πακέτων από τις πηγές τους. Πρέπει να είμαστε υπομονετικοί όσο διαρκεί ολόκληρη η διαδικασία. Είναι ο μόνος τρόπος για να λάβετε έγκυρα και σωστά αποτελέσματα.

root @ master: /opt/samba-4.5.1# ./configure - with-systemd - απενεργοποιημένα κύπελλα
root @ master: /opt/samba-4.5.1# κάνω
root @ master: /opt/samba-4.5.1# make install

Κατά τη διαδικασία εντολών κάνω, μπορούμε να δούμε ότι οι πηγές Samba 3 και Samba 4. έχουν συνταχθεί. Γι 'αυτό η ομάδα Samba επιβεβαιώνει ότι η έκδοση 4 είναι η φυσική ενημέρωση της έκδοσης 3, τόσο για τους ελεγκτές τομέα που βασίζονται στο Samba 3 + OpenLDAP, όσο και για διακομιστές αρχείων ή παλαιότερους εκδόσεις του Samba 4.

Παροχή Samba

Θα χρησιμοποιήσουμε ως DNS το SAMBA_INTERNAL. σε https://wiki.samba.org/index.php?title=Samba_Internal_DNS_Back_End θα βρούμε περισσότερες πληροφορίες. Όταν μας ζητούν τον κωδικό πρόσβασης του χρήστη Διαχειριστή, πρέπει να πληκτρολογήσουμε ένα με ελάχιστο μήκος 8 χαρακτήρων και επίσης με γράμματα - κεφαλαία και πεζά - και αριθμούς.

Πριν προχωρήσουμε στην τροφοδοσία και για να κάνουμε τη ζωή πιο εύκολη, προσθέτουμε το μονοπάτι των εκτελέσιμων Samba στο αρχείο μας .bashrc, Τότε κλείνουμε και συνδέουμε ξανά.

root @ master: ~ # nano .bashrc
# ~ / .bashrc: εκτελέστηκε από bash (1) για κελύφη χωρίς σύνδεση. # Σημείωση: Το PS1 και το umask έχουν ήδη ρυθμιστεί στο / etc / profile. Δεν πρέπει να το χρειάζεστε, εκτός εάν θέλετε διαφορετικές προεπιλογές για root. # PS1 = '$ {debian_chroot: + ($ debian_chroot)} \ h: \ w \ $' # umask 022 # Μπορείτε να αναιρέσετε τις ακόλουθες γραμμές εάν θέλετε να χρωματιστεί το "ls": # εξαγωγή LS_OPTIONS = '- color = auto '# eval "` dircolors` "# alias ls =' ls $ LS_OPTIONS '# alias ll =' ls $ LS_OPTIONS -l '# alias l =' ls $ LS_OPTIONS -lA '# # Μερικά ακόμη ψευδώνυμα για να αποφύγετε λάθη: # ψευδώνυμο rm = 'rm -i' # ψευδώνυμο cp = 'cp -i' # ψευδώνυμο mv = 'mv -i'
δήλωση -x PATH = "/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: \ / sbin: / bin: / usr / local / samba / sbin: / usr / local / samba / bin "

root @ master: ~ # έξοδος αποσύνδεσης Η σύνδεση με το κύριο κλειστό. xeon @ sysadmin: ~ $ ssh root @ master

root @ master: ~ # samba-εργαλείο παροχής τομέα --use-rfc2307 - διαδραστικό
Βασίλειο [SWL.FAN]: SWL.FAN
 Τομέας [SWL]: SWL
 Ρόλος διακομιστή (dc, μέλος, αυτόνομος) [dc]: dc
 Backend DNS (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, ΚΑΝΕΝΑ) [SAMBA_INTERNAL]: SAMBA_INTERNAL
 Διεύθυνση IP προώθησης DNS (γράψτε «κανένα» για να απενεργοποιήσετε την προώθηση) [192.168.10.5]: 8.8.8.8
Κωδικός πρόσβασης διαχειριστή: Your Password2017
Πληκτρολογήστε ξανά τον κωδικό πρόσβασης: Your Password2017
Αναζήτηση διευθύνσεων IPv4 Αναζήτηση διευθύνσεων IPv6 Δεν θα εκχωρηθεί διεύθυνση IPv6 Ρύθμιση share.ldb Ρύθμιση μυστικών.ldb Ρύθμιση του μητρώου Ρύθμιση της βάσης δεδομένων προνομίων Ρύθμιση idmap db Ρύθμιση SAM db Ρύθμιση διαμερισμάτων και ρυθμίσεων sam.ldb Ρύθμιση up sam.ldb rootDSE Προ-φόρτωση του σχήματος Samba 4 και AD Προσθήκη DomainDN: DC = swl, DC = fan Προσθήκη κοντέινερ ρύθμισης Ρύθμιση σχήματος sam.ldb Ρύθμιση δεδομένων διαμόρφωσης sam.ldb Ρύθμιση προδιαγραφών οθόνης Τροποποίηση προδιαγραφών οθόνης Προσθήκη κοντέινερ χρηστών Τροποποίηση κοντέινερ χρηστών Προσθήκη κοντέινερ υπολογιστών Τροποποίηση κοντέινερ υπολογιστών Ρύθμιση δεδομένων sam.ldb Ρύθμιση γνωστών αρχών ασφαλείας Ρύθμιση χρηστών και ομάδων sam.ldb Ρύθμιση αυτοσύνδεσης Προσθήκη λογαριασμών DNS Δημιουργία CN = MicrosoftDNS, CN = Σύστημα, DC = swl, DC = fan Δημιουργία διαμερισμάτων DomainDnsZones και ForestDnsZones Πληθυσμός διαμερισμάτων DomainDnsZones και ForestDnsZones Ρύθμιση sam.ldb rootDSE σήμανση ως συγχρονισμένο Διόρθωση παροχής GUIDsΔημιουργήθηκε μια διαμόρφωση Kerberos κατάλληλη για το Samba 4 στο /usr/local/samba/private/krb5.conf Ρύθμιση πλαστών ρυθμίσεων διακομιστή yp Μόλις εγκατασταθούν τα παραπάνω αρχεία, ο διακομιστής Samba4 θα είναι έτοιμος για χρήση Ρόλος διακομιστή: ενεργός τομέας καταλόγου Όνομα κεντρικού υπολογιστή ελεγκτή: master NetBIOS Domain: SWL DNS Domain: swl.fan DOMAIN SID: S-1-5-21-32182636-2892912266-1582980556

Μην ξεχάσετε να αντιγράψετε το αρχείο διαμόρφωσης Kerberos όπως υποδεικνύεται από την έξοδο του Προμήθεια:

root @ master: ~ # cp /usr/local/samba/private/krb5.conf /etc/krb5.conf

Για να μην πληκτρολογήσετε την εντολή εργαλείο samba με το πλήρες όνομά σας, δημιουργούμε έναν συμβολικό σύνδεσμο με το σύντομο όνομα εργαλείο:

root @ master: ~ # ln -s / usr / local / samba / bin / samba-tool / usr / local / samba / bin / εργαλείο

Εγκαθιστούμε το NTP

Ένα βασικό κομμάτι σε μια υπηρεσία καταλόγου Active Directory είναι η υπηρεσία ώρας δικτύου. Καθώς ο έλεγχος ταυτότητας γίνεται μέσω του Kerberos και των εισιτηρίων του, ο συγχρονισμός του χρόνου με το Samba 4 AD-DC είναι ζωτικής σημασίας.

root @ master: ~ # aptitude install ntp
root @ master: ~ # mv /etc/ntp.conf /etc/ntp.conf.original

root @ master: ~ # nano /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift ntpsigndsocket / usr / local / samba / var / lib / ntp_signd statst loopstats peerstats clockstats filegen loopstats file loopstats type day enabled filegen peerstats file peerstats type day day enabled filegenstats file ρολόι 192.168.10.1 περιορισμός -4 προεπιλογή kod notrap nomodify nopeer noquery περιορισμός -6 προεπιλεγμένος κωδικός notrap nomodify nopeer noquery περιορισμός προεπιλεγμένου mssntp περιορισμός 127.0.0.1 περιορισμός :: 1 εκπομπή 192.168.10.255

root @ master: ~ # service ntp επανεκκίνηση
root @ master: ~ # κατάσταση ntp υπηρεσίας

root @ master: ~ # tail -f / var / log / syslog

Εάν κατά την εξέταση του syslog χρησιμοποιώντας την παραπάνω εντολή ή χρησιμοποιώντας περιοδικό -f παίρνουμε το μήνυμα:

19 Ιουνίου 12:13:21 master ntpd_intres [1498]: ο γονέας πέθανε πριν τελειώσουμε, βγαίνοντας

πρέπει να επανεκκινήσουμε την υπηρεσία και να προσπαθήσουμε ξανά. Τώρα δημιουργούμε το φάκελο ntp_sign:

root @ master: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
ls: δεν είναι δυνατή η πρόσβαση / usr / local / samba / var / lib / ntp_signd: Δεν υπάρχει αρχείο ή κατάλογος

root @ master: ~ # mkdir / usr / local / samba / var / lib / ntp_signd
root @ master: ~ # chown root: ntp / usr / local / samba / var / lib / ntp_signd /
root @ master: ~ # chmod 750 / usr / local / samba / var / lib / ntp_signd / root @ master: ~ # chmod gs, g + x / usr / local / samba / var / lib / ntp_signd /

# Όπως ζητήθηκε στο samba.wiki.org
root @ master: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
drwxr-x --- 2 root ntp 4096 19 Ιουνίου 12:21 / usr / local / samba / var / lib / ntp_signd

Διαμορφώνουμε το Samba να αρχίζει να χρησιμοποιεί το systemd

root @ master: ~ # nano /lib/systemd/system/samba-ad-dc.service
[Service] Type = forking PIDFile = / usr / local / samba / var / run / samba.pid LimitNOFILE = 16384 # EnvironmentFile = - / etc / conf.d / samba ExecStart = / usr / local / samba / sbin / samba ExecReload = / usr / bin / kill -HUP $ MAINPID [Εγκατάσταση] WantedBy = multi-user.target

root @ master: ~ # systemctl ενεργοποιήστε το samba-ad-dc
root @ master: ~ # επανεκκίνηση

root @ master: ~ # systemctl κατάσταση samba-ad-dc
root @ master: ~ # systemctl κατάσταση ntp

Τοποθεσίες αρχείων Samba 4 AD-DC

ALL -μείον τη νέα υπηρεσία samba-ad-dc.service- τα αρχεία είναι:

root @ master: ~ # ls -l / usr / local / samba /
σύνολο 32 drwxr-sr-x 2 ριζικό προσωπικό 4096 Ιουν 19 11:55 bin
drwxr-sr-x 2 root staff 4096 19 Ιουνίου 11:50 κ.λπ.
drwxr-sr-x 7 root staff 4096 19 Ιουνίου 11:30 περιλαμβάνουν
drwxr-sr-x 15 root staff 4096 Ιουν 19 11:33 lib
drwxr-sr-x 7 root staff 4096 19 Ιουνίου 12:40 ιδιωτικός
drwxr-sr-x 2 root staff 4096 19 Ιουνίου 11:33 sbin
drwxr-sr-x 5 root staff 4096 19 Ιουνίου 11:33 μερίδιο
drwxr-sr-x 8 root staff 4096 19 Ιουνίου 12:28 var

στο καλύτερο στυλ UNIX. Συνιστάται πάντα η περιήγηση στους διάφορους φακέλους και η εξέταση του περιεχομένου τους.

/Usr/local/samba/etc/smb.conf αρχείο

root @ master: ~ # nano /usr/local/samba/etc/smb.conf 
# Καθολικές παράμετροι [παγκόσμιο] όνομα netbios = MASTER realm = SWL.FAN ομάδα εργασίας = SWL dns forwarder = 8.8.8.8 διακομιστές υπηρεσίες = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate , ρόλος διακομιστή dns = ενεργός ελεγκτής τομέα καταλόγου επιτρέπει ενημερώσεις dns = ασφαλές μόνο idmap_ldb: χρησιμοποιήστε rfc2307 = ναι idmap config *: backend = tdb idmap config *: range = 1000000-1999999 Ο διακομιστής ldap απαιτεί ισχυρό null [netlogon] path = /usr/local/samba/var/locks/sysvol/swl.fan/scripts only read = No [sysvol] path = / usr / local / samba / var / locks / sysvol only read = Όχι

root @ master: ~ # testparm
Φόρτωση αρχείων διαμόρφωσης smb από /usr/local/samba/etc/smb.conf Επεξεργασία ενότητα "[netlogon]" Επεξεργασία ενότητα "[sysvol]" Φορτωμένο αρχείο υπηρεσιών ΟΚ. Ρόλος διακομιστή: ROLE_ACTIVE_DIRECTORY_DC Πατήστε enter για να δείτε μια ένδειξη των ορισμών της υπηρεσίας σας # Καθολικές παράμετροι [global] realm = SWL.FAN ομάδα εργασίας = SWL dns forwarder = 192.168.10.1 Ο διακομιστής ldap απαιτεί ισχυρή auth = Χωρίς backdb backend = samba_dsdb ρόλος διακομιστή = ενεργός κατάλογος τομέα ελεγκτής rpc_server: tcpip = καμία rpc_daemon: spoolssd = ενσωματωμένα rpc_server: spoolss = ενσωματωμένα rpc_server: Winreg = ενσωματωμένα rpc_server: ntsvcs = ενσωματωμένα rpc_server: Eventlog = ενσωματωμένα rpc_server: srvsvc = ενσωματωμένο rvcct_server = χρησιμοποιούν εξωτερικά = rvcct_server χρησιμοποιούν εξωτερικά = rvcct_server χρησιμοποιούν εξωτερικά rvcct_server: εξωτερικοί σωλήνες = true idmap config *: range = 1000000-1999999 idmap_ldb: use rfc2307 = yes idmap config *: backend = tdb map map = No map readonly = no store dos χαρακτηριστικά = Yes vfs Object = dfs_samba4 acl_xattr [netlogon] path = / usr / local / samba / var / locks / sysvol / swl.fan / scripts read only = Όχι [sysvol] path = / usr / local / samba / var / locks / sysvol only read = Όχι

Ελάχιστοι έλεγχοι

root @ master: ~ # εμφάνιση επιπέδου τομέα εργαλείου
Επίπεδο λειτουργίας τομέα και δασικού τομέα για τομέα 'DC = swl, DC = ανεμιστήρας' Επίπεδο λειτουργίας δάσους: (Windows) 2008 R2 Επίπεδο λειτουργίας τομέα: (Windows) 2008 R2 Χαμηλότερο επίπεδο λειτουργίας DC: (Windows) 2008 R2

root @ master: ~ # ldapsearch -x -W

root @ master: ~ # dbcheck εργαλείο
Έλεγχος 262 αντικειμένων Έλεγχος 262 αντικειμένων (0 σφάλματα)

root @ master: ~ # kinit Διαχειριστής
Κωδικός πρόσβασης για Administrator@SWL.FAN: 
root @ master: ~ # klist -f
Κρυφή μνήμη εισιτηρίου: ΑΡΧΕΙΟ: / tmp / krb5cc_0
Κύρια προεπιλογή: Administrator@SWL.FAN

Ισχύει η έναρξη Λήγει υπηρεσία κύρια 19/06/17 12:53:24 19/06/17 22:53:24  krbtgt/SWL.FAN@SWL.FAN
    ανανέωση έως τις 20/06/17 12:53:18 μ.μ., Σημαίες: RIA

root @ master: ~ # kdestroy
root @ master: ~ # klist -f
klist: Το αρχείο προσωρινής μνήμης διαπιστευτηρίων '/ tmp / krb5cc_0' δεν βρέθηκε

root @ master: ~ # smbclient -L localhost -U%
Domain = [SWL] OS = [Windows 6.1] Server = [Samba 4.5.1] Sharename Type Σχόλιο --------- ---- ------- netlogon Disk sysvol Disk IPC $ IPC IPC Υπηρεσία (Samba 4.5.1) Τομέας = [SWL] OS = [Windows 6.1] Διακομιστής = [Samba 4.5.1] Σχόλιο διακομιστή --------- ------- Κύρια ομάδα εργασίας ---- ----- -------

root @ master: ~ # smbclient // localhost / netlogon -UAdministrator -c 'ls'
Εισαγάγετε τον κωδικό πρόσβασης διαχειριστή: Domain = [SWL] OS = [Windows 6.1] Server = [Samba 4.5.1]. D 0 Δευ 19 Ιουνίου 11:50:52 2017 .. D 0 Δευ 19 Ιουνίου 11:51:07 2017 19091584 μπλοκ μεγέθους 1024. 16198044 μπλοκ διαθέσιμα

root @ master: ~ # εργαλείο dns serverinfo master -U διαχειριστής

root @ master: ~ # host -t SRV _ldap._tcp.swl.fan
Το _ldap._tcp.swl.fan έχει εγγραφή SRV 0 100 389 master.swl.fan.

root @ master: ~ # host -t SRV _kerberos._udp.swl.fan
Το _kerberos._udp.swl.fan έχει εγγραφή SRV 0 100 88 master.swl.fan.

root @ master: ~ # host -t Ένα master.swl.fan
Το master.swl.fan έχει διεύθυνση 192.168.10.5

root @ master: ~ # host -t SOA swl.fan
Το swl.fan έχει SOA record master.swl.fan. hostmaster.swl.fan. 1 900 600 86400 3600

root @ master: ~ # host -t NS swl.fan
swl.fan όνομα διακομιστή master.swl.fan.

root @ master: ~ # host -t MX swl.fan
Το swl.fan δεν έχει εγγραφή MX

root @ master: ~ # samba_dnsupdate --verbose

root @ master: ~ # λίστα χρηστών εργαλείων
Διαχειριστής krbtgt Επισκέπτης

root @ master: ~ # λίστα ομάδων εργαλείων
# Η έξοδος είναι μια ομάδα ομάδων. ;-)

Διαχειριζόμαστε το πρόσφατα εγκατεστημένο Samba 4 AD-DC

Εάν θέλουμε να τροποποιήσουμε τη λήξη σε ημέρες του κωδικού πρόσβασης διαχειριστή. την πολυπλοκότητα των κωδικών πρόσβασης · το ελάχιστο μήκος του κωδικού πρόσβασης · η ελάχιστη και μέγιστη διάρκεια - σε ημέρες - του κωδικού πρόσβασης · και αλλάξτε τον κωδικό πρόσβασης διαχειριστή που δηλώθηκε κατά τη διάρκεια του Προμήθεια, πρέπει να εκτελέσουμε τις ακόλουθες εντολές με το τιμές προσαρμοσμένες στις ανάγκες σας:

root @ master: ~ # εργαλείο
Χρήση: samba-εργαλείο Κύριο εργαλείο διαχείρισης samba. Επιλογές: -h, --help εμφάνιση αυτού του μηνύματος βοήθειας και έξοδος Επιλογές έκδοσης: -V, --version Εμφάνιση αριθμού έκδοσης Διαθέσιμες υπο-εντολές: dbcheck - Ελέγξτε την τοπική βάση δεδομένων AD για σφάλματα. αντιπροσωπεία - Διαχείριση αντιπροσωπειών. dns - Διαχείριση υπηρεσίας ονομάτων τομέα (DNS). domain - Διαχείριση τομέα. drs - Διαχείριση υπηρεσιών αναπαραγωγής καταλόγου (DRS). dsacl - χειρισμός DS ACL. fsmo - Διαχείριση ρόλων Flexible Single Master Operations (FSMO). gpo - Διαχείριση αντικειμένου πολιτικής ομάδας (GPO). ομάδα - Διαχείριση ομάδας. ldapcmp - Συγκρίνετε δύο βάσεις δεδομένων ldap. ntacl - NT ACL χειραγώγηση. διαδικασίες - Λίστα διαδικασιών (για να βοηθήσετε τον εντοπισμό σφαλμάτων σε συστήματα χωρίς setproctitle). rodc - Διαχείριση μόνο για ανάγνωση τομέα (RODC). ιστότοποι - Διαχείριση τοποθεσιών. spn - Διαχείριση κύριου ονόματος υπηρεσίας (SPN). testparm - Syntax ελέγξτε το αρχείο διαμόρφωσης. time - Ανακτήστε την ώρα σε έναν διακομιστή. χρήστης - Διαχείριση χρηστών. Για περισσότερη βοήθεια σε μια συγκεκριμένη υπο-εντολή, πληκτρολογήστε: samba-tool (-h | - βοήθεια)

root @ master: ~ # εργαλείο χρήστη setexpiry διαχειριστής --noexpiry
root @ master: ~ # σύνολο κωδικών πρόσβασης τομέα εργαλείου --min-pwd-length = 7
root @ master: ~ # σύνολο κωδικού πρόσβασης τομέα εργαλείου --min-pwd-age = 0
root @ master: ~ # σύνολο εργαλείων κωδικού πρόσβασης τομέα --max-pwd-age = 60
root @ master: ~ # εργαλείο χρήστη setpassword --filter = samaccountname = Administrator --newpassword = Passw0rD

Προσθέτουμε πολλές εγγραφές DNS

root @ master: ~ # εργαλείο dns
Χρήση: samba-tool dns Διαχείριση υπηρεσίας ονομάτων τομέα (DNS). Επιλογές: -h, - Βοήθεια εμφάνιση αυτού του μηνύματος βοήθειας και έξοδος Διαθέσιμες υπο-εντολές: προσθήκη - Προσθήκη διαγραφής εγγραφής DNS - Διαγραφή ερωτήματος εγγραφής DNS - Ερώτηση ονόματος roothints - Υποδείξεις ρίζας ερωτήματος. serverinfo - Ερώτημα για πληροφορίες διακομιστή. ενημέρωση - Ενημέρωση εγγραφής DNS zonecreate - Δημιουργία ζώνης. zonedelete - Διαγραφή ζώνης. zoneinfo - Ερώτημα για πληροφορίες ζώνης. zonelist - Ερώτημα για ζώνες. Για περισσότερη βοήθεια σχετικά με μια συγκεκριμένη υπο-εντολή, πληκτρολογήστε: samba-tool dns (-h | - βοήθεια)

Διακομιστής αλληλογραφίας

root @ master: ~ # εργαλείο dns add master swl.fan mail Ένας διαχειριστής 192.168.10.9 -U
root @ master: ~ # εργαλείο dns add master swl.fan swl.fan MX "mail.swl.fan 10" -U διαχειριστής

Διορθώθηκε η IP άλλων διακομιστών

root @ master: ~ # εργαλείο dns add master swl.fan sysadmin A 192.168.10.1 -U διαχειριστής
root @ master: ~ # εργαλείο dns add master swl.fan fileserver A 192.168.10.10 -U διαχειριστής
root @ master: ~ # εργαλείο dns add master swl.fan proxy A 192.168.10.11 -U διαχειριστής
root @ master: ~ # εργαλείο dns add master swl.fan chat Ένας διαχειριστής 192.168.10.12 -U

Αντίστροφη ζώνη

root @ master: ~ # εργαλείο dns zonecreate master 10.168.192.in-addr.arpa -U διαχειριστής
Κωδικός πρόσβασης για [SWL \ administrator]: Η ζώνη 10.168.192.in-addr.arpa δημιουργήθηκε με επιτυχία

root @ master: ~ # εργαλείο dns add master 10.168.192.in-addr.arpa 5 PTR master.swl.fan. -Διαχειριστής
root @ master: ~ # εργαλείο dns add master 10.168.192.in-addr.arpa 9 PTR mail.swl.fan. -Διαχειριστής
root @ master: ~ # εργαλείο dns add master 10.168.192.in-addr.arpa 1 PTR sysadmin.swl.fan. -Διαχειριστής
root @ master: ~ # εργαλείο dns add master 10.168.192.in-addr.arpa 10 PTR fileserver.swl.fan. -Διαχειριστής
root @ master: ~ # εργαλείο dns add master 10.168.192.in-addr.arpa 11 PTR proxy.swl.fan. -Διαχειριστής
root @ master: ~ # εργαλείο dns add master 10.168.192.in-addr.arpa 12 PTR chat.swl.fan. -Διαχειριστής

Έλεγχοι

root @ master: ~ # εργαλείο dns query master swl.fan mail ALL -U διαχειριστής
Κωδικός πρόσβασης για [SWL \ administrator]: Όνομα =, Εγγραφές = 1, Παιδιά = 0 A: 192.168.10.9 (σημαίες = f0, σειριακό = 2, ttl = 900)

root @ master: ~ # κεντρικός υπολογιστής
Το master.swl.fan έχει διεύθυνση 192.168.10.5
root @ master: ~ # host sysadmin
Το sysadmin.swl.fan έχει διεύθυνση 192.168.10.1
root @ master: ~ # κεντρικό ταχυδρομείο
Το mail.swl.fan έχει διεύθυνση 192.168.10.9
root @ master: ~ # συνομιλία κεντρικού υπολογιστή
Το chat.swl.fan έχει διεύθυνση 192.168.10.12
root @ master: ~ # διακομιστής μεσολάβησης
Το proxy.swl.fan έχει διεύθυνση 192.168.10.11
root @ master: ~ # κεντρικός διακομιστής αρχείων
fileserver.swl.fan έχει διεύθυνση 192.168.10.10
root @ master: ~ # κεντρικός υπολογιστής 192.168.10.1
1.10.168.192.in-addr.arpa δείκτης ονόματος τομέα sysadmin.swl.fan.
root @ master: ~ # κεντρικός υπολογιστής 192.168.10.5
5.10.168.192.in-addr.arpa όνομα τομέα pointer master.swl.fan.
root @ master: ~ # κεντρικός υπολογιστής 192.168.10.9
9.10.168.192.in-addr.arpa όνομα τομέα pointer mail.swl.fan.
root @ master: ~ # κεντρικός υπολογιστής 192.168.10.10
10.10.168.192.in-addr.arpa δείκτης ονόματος τομέα fileserver.swl.fan.
root @ master: ~ # κεντρικός υπολογιστής 192.168.10.11
11.10.168.192.in-addr.arpa pointer name domain proxy.swl.fan.
root @ master: ~ # κεντρικός υπολογιστής 192.168.10.12
12.10.168.192.in-addr.arpa όνομα τομέα pointer chat.swl.fan.

Για τους περίεργους

root @ master: ~ # ldbsearch -H /usr/local/samba/private/sam.ldb.d/ \
DC = DOMAINDNSZONES, DC = SWL, DC = FAN.ldb | grep dn:

Προσθέτουμε χρήστες

root @ master: ~ # χρήστης εργαλείου
Χρήση: χρήστης του εργαλείου samba Διαχείριση χρηστών. Επιλογές: -h, --help εμφάνιση αυτού του μηνύματος βοήθειας και έξοδος Διαθέσιμες δευτερεύουσες εντολές: προσθήκη - Δημιουργία νέου χρήστη. δημιουργία - Δημιουργία νέου χρήστη. Διαγραφή - Διαγραφή χρήστη. απενεργοποίηση - Απενεργοποίηση χρήστη. ενεργοποίηση - Ενεργοποίηση χρήστη. getpassword - Λάβετε τα πεδία κωδικού πρόσβασης ενός λογαριασμού χρήστη / υπολογιστή. list - Λίστα όλων των χρηστών. κωδικός πρόσβασης - Αλλαγή κωδικού πρόσβασης για λογαριασμό χρήστη (αυτός που παρέχεται στον έλεγχο ταυτότητας) setexpiry - Ορίστε τη λήξη ενός λογαριασμού χρήστη. setpassword - Ορισμός ή επαναφορά του κωδικού πρόσβασης ενός λογαριασμού χρήστη. syncpasswords - Συγχρονίστε τον κωδικό πρόσβασης των λογαριασμών χρηστών. Για περισσότερη βοήθεια σε μια συγκεκριμένη υπο-εντολή, πληκτρολογήστε: samba-tool user (-h | - βοήθεια)

root @ master: ~ # εργαλείο χρήστη δημιουργήσει βήματα Trancos01
Το «trancos» χρήστη δημιουργήθηκε με επιτυχία
root @ master: ~ # εργαλείο χρήστη δημιουργήστε gandalf Gandalf01
Ο χρήστης "gandalf" δημιουργήθηκε με επιτυχία
root @ master: ~ # εργαλείο χρήστη δημιουργία legolas Legolas01
Ο χρήστης «legolas» δημιουργήθηκε με επιτυχία
root @ master: ~ # λίστα χρηστών εργαλείων
Διαχειριστής gandalf legolas strides krbtgt Επισκέπτης

Διαχείριση μέσω γραφικής διεπαφής ή μέσω web client

Επισκεφτείτε το wiki.samba.org για λεπτομερείς πληροφορίες σχετικά με τον τρόπο εγκατάστασης του Microsoft RSAT o Εργαλεία διαχείρισης απομακρυσμένου διακομιστή. Εάν δεν χρειάζεστε τις κλασικές πολιτικές που παρέχονται από το Microsoft Active Directory, μπορείτε να εγκαταστήσετε το πακέτο ldap-λογαριασμός-διαχειριστής που προσφέρει μια απλή διεπαφή για διαχείριση μέσω ενός προγράμματος περιήγησης ιστού.

Το πακέτο προγραμμάτων Microsoft Remote Server Administration Tools (RSAT) περιλαμβάνεται σε λειτουργικά συστήματα Windows Server.

Συνδέουμε τον τομέα με έναν πελάτη Windows 7 με το όνομα "επτά"

Καθώς δεν έχουμε διακομιστή DHCP στο δίκτυο, το πρώτο πράγμα που πρέπει να κάνουμε είναι να διαμορφώσουμε την κάρτα δικτύου του πελάτη με μια σταθερή IP, να δηλώσουμε ότι το πρωτεύον DNS θα είναι το IP του samba-ad-dcκαι ελέγξτε ότι είναι ενεργοποιημένη η επιλογή "Καταχώριση της διεύθυνσης αυτής της σύνδεσης στο DNS". Δεν είναι αδρανές να ελέγξετε ότι το όνομα «επτά»Δεν έχει ακόμη εγγραφεί στο Samba Internal DNS.

Αφού συνδέσουμε τον υπολογιστή στον τομέα και τον επανεκκινήσουμε, ας προσπαθήσουμε να συνδεθούμε με τον χρήστη «βήματα«. Θα ελέγξουμε ότι όλα λειτουργούν ΟΚ. Συνιστάται επίσης να ελέγξετε τα αρχεία καταγραφής του προγράμματος-πελάτη των Windows και να ελέγξετε πώς συγχρονίζεται σωστά η ώρα.

Οι διαχειριστές με κάποια εμπειρία στα Windows θα διαπιστώσουν ότι τυχόν έλεγχοι που κάνουν στον πελάτη θα έχουν ικανοποιητικά αποτελέσματα.

περίληψη

Ελπίζω το άρθρο να είναι χρήσιμο στους αναγνώστες της Κοινότητας. DesdeLinux.

Αντιο σας!


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   Gonzalo martinez dijo

    Μακρύ αλλά λεπτομερές άρθρο, πολύ καλό βήμα προς βήμα για το πώς να κάνετε τα πάντα.

    Δίνω έμφαση στα NIS, η αλήθεια είναι ότι παρόλο που ξέρω για την ύπαρξή του, δεν ήξερα ποτέ πώς λειτουργεί, αφού για να είμαι ειλικρινής πάντα μου έδινε την εντύπωση ότι ήταν σχεδόν νεκρός δίπλα στο LDAP και το Samba 4.

    PS: Συγχαρητήρια για το νέο προσωπικό σας έργο! Κρίμα που δεν πρόκειται να συνεχίσετε να γράφετε εδώ, αλλά τουλάχιστον υπάρχει ένα μέρος για να σας ακολουθήσει.

  2.   HO2Gi dijo

    Τεράστιο σεμινάριο όπως πάντα στα αγαπημένα μου, χαιρετισμούς Fico.
    Συγχαρητήρια για το έργο.

  3.   IWO dijo

    Το τμήμα NIS είναι υπέροχο, συμπαθώ τον Gonzalo Martinez, το ήξερα εν συντομία, αλλά δεν είχα ιδέα πώς να το εφαρμόσω και σε ποιες καταστάσεις χρησιμοποιείται.
    Σας ευχαριστούμε μια φορά για ένα τεράστιο «κορμό» θεωρητικού και πρακτικού άρθρου.
    Τέλος, νέες επιτυχίες στο νέο σας έργο «gigainside».

  4.   Federico dijo

    Σας ευχαριστώ πολύ για το σχόλιο !!!.
    αφορά

  5.   Μόσολ dijo

    το smb.conf που διδάσκετε δεν έχει κανένα σύνδεσμο με το LDAP, είναι σκόπιμο έτσι ή άφησα κάτι;

  6.   phico dijo

    mussol: Πρόκειται για έναν ελεγκτή τομέα Active Directory Samba 4 που διαθέτει ήδη τον ενσωματωμένο διακομιστή LDAP.

  7.   Βικέντιος dijo

    Θα μπορούσατε να σχολιάσετε πώς να ενώσετε ένα mac (apple) σε ένα samba 4 AD-DC;
    Σας ευχαριστώ.

  8.   jramirez dijo

    Πώς είσαι;

    Ευχαριστώ για το εγχειρίδιο, είναι υπέροχο. Έχω μια ερώτηση σχετικά με ένα μήνυμα που μου φαίνεται.

    root @ AD: ~ # nping –tcp -p 53 -c 3 ad.rjsolucionessac.com
    Αποτυχία επίλυσης δεδομένου ονόματος κεντρικού υπολογιστή / IP: ad.rjsolucionessac.com. Λάβετε υπόψη ότι δεν μπορείτε να χρησιμοποιήσετε εύρη IP τύπου "/ mask" ΚΑΙ "1-4,7,100-"
    Δεν είναι δυνατή η εύρεση έγκυρου στόχου. Βεβαιωθείτε ότι οι καθορισμένοι κεντρικοί υπολογιστές είναι είτε διευθύνσεις IP σε τυπική σημείωση είτε ονόματα κεντρικών υπολογιστών που μπορούν να επιλυθούν με DNS
    root @ AD: ~ #