PAM, NIS, LDAP, Kerberos, DS и Samba 4 AD-DC - SMB мрежи

Общ индекс на поредицата: Компютърни мрежи за МСП: Въведение

Здравейте приятели и приятели!

С тази статия се сбогувам с Общността DesdeLinux. Специално сбогом за една специална общност. Отсега нататък ще бъда в моя личен проект, който можете да видите на http://www.gigainside.com.

Основната цел на публикацията е да предложи «Голяма картина»Относно услугите за удостоверяване с безплатен софтуер, с които разполагаме. Поне това е нашето намерение. Следователно ще бъде дълго, въпреки факта, че знаем, че е в разрез с общите правила за писане на статии. Надяваме се системните администратори да го оценят.

Искаме да отбележим, че общият протокол за много от съвременните системи за удостоверяване е LDAP, и че не е празно да го изучавате внимателно, от учебния материал, който ще намерим на официалния сайт http://www.openldap.org/.

Няма да даваме подробни определения или връзки - за аспекти, разгледани в предишни статии, или за тези, чието описание може да бъде лесно достъпно в Уикипедия или други сайтове или статии в Интернет, за да не загубим обективността на съобщението, което искаме да дадем. Също така ще използваме валидна комбинация от имена на английски и испански, тъй като считаме, че повечето системи са родени с имена на английски и е много полезно за Sysadmin да ги асимилира на оригиналния им език.

  • PAM: Сменяем модул за удостоверяване.
  • NIS: Мрежова_информационна_услуга.
  • LDAP: Лек протокол за достъп до директории.
  • Kerberos: Протокол за защита за удостоверяване на потребители, компютри и услуги централизирано в мрежата, проверяване на техните идентификационни данни спрямо съществуващите записи в базата данни Kerberos.
  • DS: Сървър на директории или Услуга на указатели
  • AD–DC: Active Directory - Контролер на домейни

PAM

Посвещаваме малка поредица на този тип локално удостоверяване, което ще видите в ежедневната практика, че се използва широко, когато например присъединим работна станция към Контролер на домейни или Active Directory; да картографира потребители, съхранени във външни LDAP бази данни, сякаш са локални потребители; за картографиране на потребители, съхранени в домейн контролера на Active Directory, сякаш са локални потребители и т.н.

NIS

De Уикипедия:

  • Мрежова информационна система (известна със съкращението си NIS, което на испански означава Мрежова информационна система) е името на протокол за услуги на клиент-сървър, разработен от Sun Microsystems за изпращане на конфигурационни данни в разпределени системи като имена на потребители и хостове между компютри в мрежа.NIS се основава на ONC RPC и се състои от сървър, клиентска библиотека и различни инструменти за администриране.

    Първоначално NIS се наричаше Yellow Pages, или YP, което все още се използва за обозначаване. За съжаление това име е запазена марка на British Telecom, което изисква Sun да отпадне това име. YP обаче остава префикс в имената на повечето свързани с NIS команди, като ypserv и ypbind.

    DNS обслужва ограничен обхват информация, като най-важната е съответствието между името на възела и IP адреса. За други видове информация няма такава специализирана услуга. От друга страна, ако управлявате само малка локална мрежа без интернет връзка, изглежда не си струва да настройвате 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, разработена от Торстен Кукук. Той поддържа всички библиотечни функции, предоставени от NYS, и също така използва усъвършенстваната схема за конфигуриране на NYS. Инструментите и сървърът все още са необходими, но използването на GNU libc спестява проблема с корекцията и прекомпилирането на библиотеката

    .

Име на компютър и домейн, мрежов интерфейс и преобразувател

  • Започваме от чиста инсталация - без графичен интерфейс - на Debian 8 "Jessie". Домейнът swl.fan означава „Фенове на свободния софтуер“. Какво по-добро име от това?.
root @ master: ~ # име на хост
майстор
root @ master: ~ # име на хост -f
master.swl.fan

root @ master: ~ # ip addr 1: lo: mtu 65536 qdisc noqueue състояние UNKNOWN група връзка по подразбиране / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 обхват хост lo valid_lft завинаги предпочитан_ft завинаги inet6 :: 1/128 обхват хост valid_lft завинаги предпочитан_lft завинаги 2: eth0: mtu 1500 qdisc pfifo_fast състояние UP група по подразбиране qlen 1000 връзка / етер 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 завинаги предпочитан_лифт завинаги inet6 fe80 :: 20c: 29ff: fe4c: 76d9 / 64 обхват връзка valid_lft завинаги предпочитан_лифт завинаги

root @ master: ~ # cat /etc/resolv.conf 
търсене на swl.fan сървър за имена 127.0.0.1

Инсталиране на bind9, isc-dhcp-server и ntp

свързване9

root @ master: ~ # aptitude install bind9 bind9-doc 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

        // Ако вашият доставчик на интернет предостави един или повече IP адреси за стабилни // сървъри на имена, вероятно ще искате да ги използвате като спедитори. // Разкоментирайте следния блок и вмъкнете адресите, заместващи // заместителя на all-0. // спедитори {// 0.0.0.0; //}; // ================================================= ===================== $ // Ако BIND регистрира съобщения за грешка относно изтичането на основния ключ, // ще трябва да актуализирате ключовете си. Вижте https://www.isc.org/bind-keys
        // =================================================== ====================== $ // Не искаме DNSSEC
        dnssec-разрешаване не;
        // dnssec-валидиране автоматично; auth-nxdomain no; # отговаря на RFC1035 Listen-on-v6 {всеки; }; // За проверки от localhost и sysadmin // чрез dig swl.fan axfr // Нямаме Slave DNS ... до сега
        allow-transfer {localhost; 192.168.10.1; };
}; root @ master: ~ # named-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" {главен тип; файл "/etc/bind/db.empty"; };

// Задания на протокол IETF (RFC 5735 и 5736)
зона "0.0.192.in-addr.arpa" {главен тип; файл "/etc/bind/db.empty"; };

// TEST-NET- [1-3] за документация (RFCs 5735, 5737 и 6303)
зона "2.0.192.in-addr.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "100.51.198.in-addr.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "113.0.203.in-addr.arpa" {главен тип; файл "/etc/bind/db.empty"; };

// Примерен диапазон на IPv6 за документация (RFCs 3849 и 6303)
зона "8.bd0.1.0.0.2.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; };

// Имена на домейни за документация и тестване (BCP 32)
зона "тест" {type master; файл "/etc/bind/db.empty"; }; зона "пример" {тип master; файл "/etc/bind/db.empty"; }; зона "невалиден" {тип master; файл "/etc/bind/db.empty"; }; зона "example.com" {тип master; файл "/etc/bind/db.empty"; }; зона "example.net" {тип master; файл "/etc/bind/db.empty"; }; зона "example.org" {главен тип; файл "/etc/bind/db.empty"; };

// Бенчмарк тестване на рутери (RFCs 2544 и 5735)
зона "18.198.in-addr.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "19.198.in-addr.arpa" {главен тип; файл "/etc/bind/db.empty"; };

// IANA Резервирано - Стар клас E Space (RFC 5735)
зона "240.in-addr.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "241.in-addr.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "242.in-addr.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "243.in-addr.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "244.in-addr.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "245.in-addr.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "246.in-addr.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "247.in-addr.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "248.in-addr.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "249.in-addr.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "250.in-addr.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "251.in-addr.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "252.in-addr.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "253.in-addr.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "254.in-addr.arpa" {главен тип; файл "/etc/bind/db.empty"; };

// IPv6 неназначени адреси (RFC 4291)
зона "1.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "3.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "4.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "5.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "6.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "7.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "8.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "9.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "a.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "b.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "c.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "d.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "e.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "0.f.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "1.f.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "2.f.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "3.f.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "4.f.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "5.f.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "6.f.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "7.f.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "8.f.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "9.f.ip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "afip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "bfip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "0.efip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "1.efip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "2.efip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "3.efip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "4.efip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "5.efip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "6.efip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "7.efip6.arpa" {главен тип; файл "/etc/bind/db.empty"; };

// IPv6 ULA (RFCs 4193 и 6303)
зона "cfip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "dfip6.arpa" {главен тип; файл "/etc/bind/db.empty"; };

// IPv6 Link Local (RFCs 4291 и 6303)
зона "8.efip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "9.efip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "aefip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "befip6.arpa" {главен тип; файл "/etc/bind/db.empty"; };

// IPv6 оттеглени локални адреси на сайтове (RFCs 3879 и 6303)
зона "cefip6.arpa" {тип master; файл "/etc/bind/db.empty"; }; зона "defip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "eefip6.arpa" {главен тип; файл "/etc/bind/db.empty"; }; зона "fefip6.arpa" {главен тип; файл "/etc/bind/db.empty"; };

// IP6.INT е оттеглено (RFC 4159)
зона "ip6.int" {тип master; файл "/etc/bind/db.empty"; };

root @ master: ~ # nano /etc/bind/named.conf.local
// // Правете някаква локална конфигурация тук // // Помислете за добавяне на 1918 зони тук, ако те не се използват във вашата // организация включват "/etc/bind/zones.rfc1918";
включва "/etc/bind/zones.rfcFreeBSD";

// Декларация за името, типа, местоположението и разрешението за актуализация // на зоните за запис на DNS // И двете зони са MASTER зона "swl.fan" {master master; файл "/var/lib/bind/db.swl.fan"; }; зона "10.168.192.in-addr.arpa" {главен тип; файл "/var/lib/bind/db.10.168.192.in-addr.arpa"; };

root @ master: ~ # named-checkconf

root @ master: ~ # nano /var/lib/bind/db.swl.fan
$ TTL 3H @ IN SOA master.swl.fan. root.master.swl.fan. (1; сериен 1D; опресняване 1H; повторен опит 1W; изтича 3H); минимум или; Отрицателно време за кеширане за живот; @ В NS master.swl.fan. @ IN MX 10 mail.swl.fan. @ В 192.168.10.5 @ IN TXT "За любителите на свободния софтуер"; sysadmin В A 192.168.10.1 файлов сървър В A 192.168.10.4 master В A 192.168.10.5 proxyweb В A 192.168.10.6 блог В A 192.168.10.7 ftpserver В A 192.168.10.8 поща В 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; опресняване 1H; повторен опит 1W; изтича 3H); минимум или; Отрицателно време за кеширане за живот; @ В NS master.swl.fan. ; 1 В PTR sysadmin.swl.fan. 4 В PTR fileserver.swl.fan. 5 В PTR master.swl.fan. 6 В PTR proxyweb.swl.fan. 7 В PTR blog.swl.fan. 8 В PTR ftpserver.swl.fan. 9 В PTR mail.swl.fan.

root @ master: ~ # named-checkzone swl.fan /var/lib/bind/db.swl.fan
зона swl.fan/IN: заредена серийна 1 OK
root @ master: ~ # named-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 OK

root @ master: ~ # named-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: ~ # копаем в SOA swl.fan
root @ master: ~ # копаем в NS swl.fan
root @ master: ~ # dig IN MX swl.fan
root @ master: ~ # proxyweb хост 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 | Ср. Rtt: N / A Изпратени сурови пакети: 84 (0B) | Rcvd: 0 (3B) | Загубени: 100.00 (1%) Nping done: 3.01 IP адрес пинг за XNUMX секунди 

ISC-DHCP сървър

root @ master: ~ # aptitude install 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-ключ
root @ master: ~ # cat Kdhcp-ключ. +157 + 51777. частен 
Формат на частен ключ: v1.3 Алгоритъм: 157 (HMAC_MD5) Ключ: Ba9GVadq4vOCixjPN94dCQ == Битове: AAA = Създаден: 20170527133656 Публикуване: 20170527133656 Активиране: 20170527133656

root @ master: ~ # nano dhcp.key
ключ dhcp-ключ {
        алгоритъм 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 корен @ master: ~ # nano /etc/bind/named.conf.local
включва "/etc/bind/dhcp.key";

зона "swl.fan" {тип master; файл "/var/lib/bind/db.swl.fan";
        allow-update {ключ dhcp-ключ; };
}; зона "10.168.192.in-addr.arpa" {главен тип; файл "/var/lib/bind/db.10.168.192.in-addr.arpa";
        allow-update {ключ dhcp-ключ; };
};

root @ master: ~ # named-checkconf

root @ master: ~ # mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.original
root @ master: ~ # nano /etc/dhcp/dhcpd.conf
ddns-междинен стил на актуализация; ddns-актуализации на; ddns-име на домейн "swl.fan."; ddns-rev-име на домейн "in-addr.arpa."; игнориране на клиентски актуализации; актуализация-оптимизация невярно; # Може да се изисква на Debian авторитетен; опция ip-препращане изключена; опция име на домейн "swl.fan"; включва "/etc/dhcp/dhcp.key"; зона swl.fan. {първичен 127.0.0.1; ключ dhcp-ключ; } зона 10.168.192.in-addr.arpa. {първичен 127.0.0.1; ключ dhcp-ключ; } споделена мрежа redlocal {подмрежа 192.168.10.0 мрежова маска 255.255.255.0 {рутери за опции 192.168.10.1; опция подмрежа-маска 255.255.255.0; опция излъчване-адрес 192.168.10.255; опция домейн-име-сървъри 192.168.10.5; опция netbios-name-сървъри 192.168.10.5; опция ntp-сървъри 192.168.10.5; опция time-сървъри 192.168.10.5; обхват 192.168.10.30 192.168.10.250; }}

root @ master: ~ # dhcpd -t
Консорциум за интернет системи DHCP сървър 4.3.1 Copyright 2004-2014 Консорциум за интернет системи. Всички права запазени. За информация, моля, посетете 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 статистика loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegen clockstats file clockstats type day enable server 192.168.10.1 ограничи -4 по подразбиране код notrap nomodify nopeer noqueery ограничи -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 инсталирайте nis
Конфигурация на пакета ┌─────────────────────────┤ Конфигурация на Ниш ├──────────────── ── ────────┐ │ Изберете „име на домейн“ на NIS за тази система. Ако искате тази │ │ машина да бъде само клиент, трябва да въведете името на domain │ NIS домейна, към който искате да се присъедините. Tively │ │ │ Алтернативно, ако тази машина трябва да бъде NIS сървър, можете │ a да въведете ново NIS „име на домейн“ или името на съществуващ NIS │ │ домейн. │ │ │ │ NIS домейн: │ │ │ │ swl.fan __________________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘  

Това ще забави вашата, защото конфигурацията на услугата не съществува като такава. Моля, изчакайте процесът да приключи.

root @ master: ~ # nano / etc / default / nis
# Ние сървър на NIS ли сме и ако да какъв (стойности: false, slave, master)?
NISSERVER = майстор

root @ master: ~ # nano /etc/ypserv.securenets # securenets Този файл определя правата за достъп до вашия NIS сървър # за NIS клиенти (и подчинени сървъри - ypxfrd използва и този # файл). Този файл съдържа двойки мрежова маска / мрежа. # Клиентският 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 с файла сянка? # MERGE_PASSWD = вярно | невярно
MERGE_PASSWD = вярно

# Трябва ли да обединим груповия файл с файла gshadow? # MERGE_GROUP = вярно | невярно
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]: Оставянето на директория '/var/yp/swl.fan' master.swl.fan е създадено като главен сървър на NIS . Сега можете да стартирате ypinit -s master.swl.fan на всички подчинени сървъри.

root @ master: ~ # systemctl рестартирайте nis
root @ master: ~ # systemctl статус нис

Добавяме местни потребители

root @ master: ~ # adduser bilbo
Добавяне на потребителя `bilbo '... Добавяне на новата група` bilbo' (1001) ... Добавяне на новия потребител` bilbo '(1001) с група `bilbo' ... Създаване на началната директория` / home / bilbo ' ... Копиране на файловете от `/ etc / skel '... Въведете новата UNIX парола: Въведете новата UNIX парола: passwd: паролата е актуализирана правилно Промяна на потребителската информация за bilbo Въведете новата стойност или натиснете ENTER, за да използвате пълното име по подразбиране []: Номер на стаята в Bilbo Bagins []: Работен телефон []: Домашен телефон []: Друго []: Дали информацията е вярна? [Д / н]

root @ master: ~ # adduser напредва 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-междинен стил на актуализация; ddns-актуализации на; ddns-име на домейн "swl.fan."; ddns-rev-име на домейн "in-addr.arpa."; игнориране на клиентски актуализации; актуализация-оптимизация невярно; авторитетен; опция ip-препращане изключена; опция име на домейн "swl.fan"; включва "/etc/dhcp/dhcp.key"; зона swl.fan. {първичен 127.0.0.1; ключ dhcp-ключ; } зона 10.168.192.in-addr.arpa. {първичен 127.0.0.1; ключ dhcp-ключ; } споделена мрежа redlocal {подмрежа 192.168.10.0 мрежова маска 255.255.255.0 {рутери за опции 192.168.10.1; опция подмрежа-маска 255.255.255.0; опция излъчване-адрес 192.168.10.255; опция домейн-име-сървъри 192.168.10.5; опция netbios-name-сървъри 192.168.10.5; опция ntp-сървъри 192.168.10.5; опция time-сървъри 192.168.10.5;
                опция нис-домейн "swl.fan";
                опция nis-сървъри 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: ет0: mtu 1500 qdisc pfifo_fast състояние UP група по подразбиране qlen 1000 връзка / етер 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: ~ # aptitude инсталирайте nis
root @ mail: ~ # nano /etc/yp.conf # # yp.conf Конфигурационен файл за процеса ypbind. Тук можете да дефинирате ръчно # NIS сървъри, ако не могат да бъдат намерени чрез # излъчване в локалната мрежа (което е по подразбиране). # # Вижте страницата с ръководството на ypbind за синтаксиса на този файл. # # ВАЖНО: За "ypserver" използвайте IP адреси или се уверете, че # хостът е в / etc / hosts. Този файл се интерпретира само # веднъж и ако DNS все още не е достъпен, ypserver не може # да бъде разрешен и ypbind никога няма да се свърже със сървъра. # ypserver ypserver.network.com ypserver master.swl.fan домейн swl.fan

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # Примерна конфигурация на функционалността на GNU Name Service Switch. # Ако имате инсталирани пакетите `glibc-doc-reference 'и` info', опитайте: # `info libc" Switch Service Name "за информация за този файл. passwd: compat nis група: compat nis сянка: compat nis gshadow: файлове хостове: файлове 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 статус нис
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 @ mail: ~ $ 

Сменяме паролата на потребителя на legolas и проверяваме

legolas @ mail: ~ $ yppasswd 
Промяна на информацията за акаунта в NIS за леголи на master.swl.fan. Моля, въведете стара парола: legolas Промяна на NIS парола за legolas на master.swl.fan. Моля, въведете нова парола: archer Паролата трябва да съдържа както главни, така и малки букви или не-букви. Моля, въведете нова парола: 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 е съкращението за Лек протокол за достъп до директории (на испански Лек / опростен протокол за достъп до директории), който се отнася до протокол на ниво приложение, който позволява достъп до подредена и разпределена услуга на директории за търсене на различна информация в среда мрежа. LDAP също се счита за база данни (въпреки че системата за съхранение може да е различна), която може да бъде заявена.Директорията е набор от обекти с атрибути, организирани по логически и йерархичен начин. Най-често срещаният пример е телефонният указател, който се състои от поредица от имена (лица или организации), подредени по азбучен ред, като всяко име има прикачен адрес и телефонен номер. За да разберете по-добре, това е книга или папка, в която са изписани имената, телефонните номера и адресите на хората и са подредени по азбучен ред.

    Дървото на директориите на LDAP понякога отразява различни политически, географски или организационни граници, в зависимост от избрания модел. Текущите LDAP разполагания са склонни да използват имена на системи за имена на домейни (DNS) за структуриране на по-високите нива на йерархията. Докато превъртате надолу директорията, може да се появят записи, които представляват хора, организационни единици, принтери, документи, групи хора или нещо, което представлява даден запис в дървото (или множество записи).

    Обикновено той съхранява информацията за удостоверяване (потребителско име и парола) и се използва за удостоверяване, въпреки че е възможно да се съхранява друга информация (данни за контакт на потребителя, местоположение на различни мрежови ресурси, разрешения, сертификати и т.н.). В обобщение, LDAP е унифициран протокол за достъп до набор от информация в мрежата.

    Текущата версия е LDAPv3 и е определена в RFCs RFC 2251 и RFC 2256 (основен LDAP документ), RFC 2829 (метод за удостоверяване за LDAP), RFC 2830 (разширение за TLS) и RFC 3377 (техническа спецификация)

    .

За дълго, LDAP протоколът - и неговите бази данни, съвместими или не с OpenLDAP - е най-използваният в повечето системи за удостоверяване днес. Като пример за предишното изявление, ние даваме по-долу някои имена на системи -Безплатна или Частна-, които използват LDAP бази данни като бекенд за съхраняване на всички свои обекти:

  • OpenLDAP
  • Apache Directory сървър
  • Red Hat Directory Server - 389 DS
  • Novell Directory Services - eDirectory
  • SUN Microsystems Open DS
  • Red Hat Identity Manager
  • FreeIPA
  • Samba NT4 Classic Domain Controller.
    Искаме да изясним, че тази система е разработка на Team Samba със Samba 3.xxx + OpenLDAP as бекенд. Microsoft никога не е прилагал подобно нещо. Премина от NT 4 домейн контролери към техните активни директории
  • Samba 4 Active Directory - Контролер на домейни
  • ClearOS
  • Зентиал
  • UCS Uninvention Корпоративен сървър
  • Microsoft Active Directory

Всяка реализация има свои собствени характеристики, а най-стандартната и съвместима е OpenLDAP.

Active Directory, независимо дали е оригиналният Microsoft или Samba 4, е обединение на няколко основни компонента, които са:

  • Персонализиран LDAP от Microsoft и Samba.
  • Домейн на Microsoft Windows o Windows домейн. По същество това е мрежата на Microsoft.
  • Microsoft Domain Controller o Контролер на домейни.
  • Kerberos, персонализиран както от Microsoft, така и от Samba.

Не трябва да бъркаме a Служба с указатели o Директория с a Active Directory o Active Directory. Първите могат или не могат да хостват удостоверяване на Kerberos, но те не предлагат услугата на Microsoft Network, предоставена от Windows Domain, нито имат Windows Domain Controller като такъв.

Услуга за директории или Услуга за директории може да се използва за удостоверяване на потребителите в смесена мрежа с клиенти на UNIX / Linux и Windows. За последното на всеки клиент трябва да се инсталира програма, която действа като посредник между услугата Directory и самия клиент на Windows, като например безплатен софтуер. страница.

Услуга за директории с OpenLDAP

  • Започваме от чиста инсталация - без графичен интерфейс - на Debian 8 "Jessie", със същото име на машината „master“, използвано за инсталиране на NIS, както и конфигурацията на мрежовия му интерфейс и файла /etc/resolv.conf. Инсталирахме ntp, bind9 и isc-dhcp-сървър за този нов сървър, без да забравяме глобалните проверки за правилната работа на трите предишни услуги.
root @ master: ~ # aptitude инсталира slapd ldap-utils

Конфигурация на пакета

────────────────────┤ Конфигурация на Slapd ├─────────────────────┐ │ Въведете паролата за въвеждане от администратора на вашата LDAP │ │ директория. │ │ │ │ Администраторска парола: │ │ │ │ ******** _________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────┘

Проверяваме първоначалната конфигурация

root @ master: ~ # slapcat
dn: dc = swl, dc = вентилатор
objectClass: top objectClass: dcObject objectClass: organization o: swl.fan dc: swl structObjectClass: organisation entryUUID: c8510708-da8e-1036-8fe1-71d022a16904 creatorsName: cn = admin, dc = swl, dc = entry entry createT20170531205219ta20170531205219.833955TM000000T000TM000000T20170531205219TMPXNUMXTMPXNUMXTMPXNUMXTMPXNUMXTMPXNUMXTMPXNUMXTMPXNUMXTMPXNUMXTMPXNUMXTMPXNUMXTMPXNUMXTMPXNUMXTMPXNUMXTMPXNUMX Z # XNUMX # XNUMX # XNUMX модификатори Име: cn = admin, dc = swl, dc = fan modifyTimestamp: XNUMXZ

dn: cn = администратор, dc = swl, dc = вентилатор
objectClass: simpleSecurityObject objectClass: organizationalRole КН: администратор описание: администратор LDAP userPassword :: e1NTSEF9emJNSFU1R3l2OWVEN0pmTmlYOVhKSUF4ekY1bU9YQXc = structuralObjectClass: organizationalRole entryUUID: c851178e- da8fe1036e entrySw8d-da2fe71 entrySw022c16904e-da20170531205219fe20170531205219.834422e-000000 entrySw000e-da000000fe20170531205219e = entrySXNUMX entrySwXNUMXe-daXNUMXfeXNUMXeXNUMXpmTmlYOVhKSUXNUMX entrySXNUMXe-XNUMXe влизане = cXNUMXe XNUMXZ # XNUMX # XNUMX # XNUMX модификатори Име: cn = admin, dc = swl, dc = fan modify Времево клеймо: XNUMXZ

Модифицираме файла /etc/ldap/ldap.conf

root @ master: ~ # nano /etc/ldap/ldap.conf
BASE dc = swl, dc = URI на вентилатора    ldap: // localhost

Организационни звена и обща група «потребители»

Добавяме минимално необходимите организационни единици, както и Posix група «потребители», към които ще направим всички потребители членове, следвайки примера на много системи, които имат групата «Потребители«. Наричаме го с името «потребители», за да не влизаме в възможни конфликти с групата «потребител"на системата.

root @ master: ~ # nano base.ldif
dn: ou = хора, dc = swl, dc = обект на вентилатор Клас: организационен Единица ou: хора dn: ou = групи, dc = обект на групата, dc = обект на вентилатор Клас: организационен елемент на ou: групи dn: cn = потребители, групи = dc = dn = swl, dc = фен обект Клас: posixGroup cn: потребители 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 = фен обект Клас: организационен Единица 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 = обект на вентилатор Клас: posixGroup cn: потребители gidNumber: 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 = fan objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: strides cn: strides givenName: Strides sn: El Rey userPassword: {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 = fan objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: legolas cn: legolas cn: legolas : Legolas sn: Потребител на Archer Парола: {SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD
uidNumber: 10001 gidNumber: 10000 поща: legolas@swl.fan
gecos: Legolas Archer loginShell: / bin / bash homeDirectory: / home / legolas dn: uid = gandalf, ou = people, dc = swl, dc = fan objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: gandalf cName: gandalf cName: gandalf cName Gandalf sn: Потребителят на съветника Парола: {SSHA} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + u
uidNumber: 10002 gidNumber: 10000 поща: gandalf@swl.fan
gecos: Gandalf The Wizard login Shell: / bin / bash homeDirectory: / home / gandalf

root @ master: ~ # ldapadd -x -D cn = admin, dc = swl, dc = fan -W -f users.ldif
Въведете LDAP парола: добавяне на нов запис "uid = крачки, ou = хора, 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 = groups' USUFFIX = 'ou = people' # MSUFFIX = 'ou = Computers' GIDSTART = 10001 UIDSTART = 10003 # MIDSTART = 10000 # OpenLDAP команди на клиента LDAPSEARCHBIN = "/ usr / bin / ldapsearch" LDAPADDBIN = "/ usr / bin / ldapadd" LDAPDELETEIN / usr / bin / ldapdelete "LDAPMODIFYBIN =" / usr / bin / ldapmodify "LDAPMODRDNBIN =" / usr / bin / ldapmodrdn "LDAPPASSWDBIN =" / usr / bin / ldappasswd "GCLASS =" posixTEMPL = /ldapadduser.template "PASSWORDGEN =" echo% u "

Забележете, че скриптовете използват командите на пакета ldap-полезни програми. Бягай dpkg -L ldap-utils | grep / bin да знаят какви са те.

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 objectClass: posixAccount objectClass: shadowAccount uid: cn: собствено име: sn: displayName: uidNumber: gidNumber: 10000 homeDirectory: черупка за влизане: поща: @ swl.fan гекони: описание: Потребителски акаунт
 
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 = fan objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: bilbo cn: bilbo givenName: Bilbo sn: Bagins displayName: Bilbo Bagins uidNumber: 10003 gidNumber: 10000 homeDirectory: / home / bilbo loginShell: / bin / bash mail: bilbo@swl.fan
gecos: bilbo описание: Потребителски акаунт

За да видите хеша на паролата на потребителя на 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 = хора, 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 инсталиране libnss-ldap libpam-ldap ldap-utils

  ┌────────────────────┤ Конфигурация на libnss-ldap ├─────────────────────┐ │ Въведете URI („Унифициран идентификатор на ресурс“ или │ │ Унифициран идентификатор на ресурс) на LDAP сървъра. Този низ е подобен на │ │ «ldap: //: / ». Можете също така да │ │ използвате «ldaps: // » или "ldapi: //". Номерът на порта не е задължителен. │ is │ │ Препоръчително е да използвате IP адрес, за да избегнете неуспех, когато услугите за имена на домейни не са налични. RI │ │ │ LDAP сървър URI: │ │ │ │ ldap: //master.swl.fan __________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ───────────────────────────┘ ┌───────────────────── ┤ Конфигурация на libnss-ldap ├──────────────────────┐ │ Въведете отличеното име (DN) на базата за търсене на LDAP. Sites │ Много сайтове използват компоненти за име на домейн за тази цел. Например домейнът "example.net" ще използва │ │ "dc = example, dc = net" като отличено име на базата за търсене. │ │ │ Отличителното име (DN) на базата за търсене: │ │ │ │ dc = swl, dc = fan ____________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Конфигурация на libnss-ldap ├──────────────────────┐ │ Въведете версията на LDAP протокола, която ldapns трябва да използва. Препоръчително е да използвате най-големия наличен номер на версия. │ │ │ │ LDAP версия, която да се използва: │ │ │ │                                     3                                     │ │ 2 │ │ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Конфигурация на libnss-ldap │──────────────────────┐ │ Изберете кой акаунт ще се използва за nss заявки с │ │ root права. │ │ │ Забележка: За да работи тази опция, акаунтът се нуждае от разрешения, за да има достъп до LDAP атрибутите, които са свързани с потребителските shadow │ записи „сянка“, както и паролите на потребителите и групите │ │ . Account │ │ │ LDAP акаунт за root: │ │ │ │ cn = admin, dc = swl, dc = fan ___________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Конфигурация на libnss-ldap ├─────────────────────┐ │ Въведете паролата, която да се използва, когато libnss-ldap се опитва да │ │ удостоверява в LDAP директорията с основния LDAP акаунт. │ │ │ Паролата ще бъде запазена в отделен файл │ │ („/etc/libnss-ldap.secret“), до който има достъп само root. You │ │ │ Ако въведете празна парола, старата парола ще бъде използвана повторно. │ │ │ │ Парола за основния LDAP акаунт: │ │ │ │ ******** ________________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ────────────────────────────┘ ┌──────────────────── ─┤ Конфигурация на libnss-ldap Ss──────────────────────┐ │ │ │ nsswitch.conf не се управлява автоматично │ │ │ │ Трябва да модифицирате файла си "/etc/nsswitch.conf "за да използвате LDAP източник на данни, ако искате пакетът libnss-ldap да работи. │ │ Можете да използвате примерния файл │ │ в „/usr/share/doc/libnss-ldap/examples/nsswitch.ldap“ като пример за конфигурацията на nsswitch или │ │ можете да го копирате в текущата си конфигурация. │ │ │ Обърнете внимание, че преди да премахнете този пакет, може да е удобно да │ │ премахнете записите „ldap“ от файла nsswitch.conf, така че основните услуги │ │ да продължат да работят. │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Конфигурация на libpam-ldap ├──────────────────────┐ │ │ │ Тази опция позволява на инструментите за пароли, използващи PAM, да променят локални пароли. │ │ │ Паролата за LDAP акаунт на администратор ще се съхранява в отделен │ │ файл, който може да бъде прочетен само от администратора. Option │ │ │ Тази опция трябва да бъде деактивирана, ако се монтира „/ etc“ чрез NFS. │ │ │ │ Искате ли да разрешите на LDAP акаунта на администратор да се държи като │ │ локален администратор? │ │ │ │                                            │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Конфигурация на libpam-ldap │──────────────────────┐ │ │ │ Изберете дали LDAP сървърът принуждава идентификацията, преди да получи записи на obtener. Setting │ │ │ Тази настройка рядко е необходима. │ │ │ │ Изисква ли се потребител за достъп до базата данни LDAP? │ │ │ │                                               │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Конфигурация на libpam-ldap ├──────────────────────┐ │ Въведете името на акаунта на LDAP администратор. Account │ │ │ Този акаунт автоматично ще се използва за управление на база данни, │ │ той трябва да има съответните административни права. Account │ │ │ LDAP акаунт на администратор: │ │ │ │ cn = admin, dc = swl, dc = fan ___________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘ ┌─────────────────── ──┤ Конфигурация на libpam-ldap ├──────────────────────┐ │ Въведете паролата за администраторския акаунт. │ │ │ │ Паролата ще бъде запазена във файла „/etc/pam_ldap.secret“. │ │ администраторът ще бъде единственият, който може да прочете този файл и ще позволи на │ │ libpam-ldap да контролира автоматично управлението на връзките в базата данни │ │. You │ │ │ Ако оставите това поле празно, предишната запазена парола │ │ ще бъде използвана отново. │ │ │ │ LDAP администраторска парола: │ │ │ │ ******** _________________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘  

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # Примерна конфигурация на функционалността на GNU Name Service Switch. # Ако имате инсталирани пакетите `glibc-doc-reference 'и` info', опитайте: # `info libc" Switch Service Name "за информация за този файл. passwd: compat LDAP
група: compat LDAP
сянка: compat LDAP
gshadow: файлове хостове: файлове dns мрежи: файлови протоколи: db файлови услуги: db файлове етери: db файлове rpc: db файлове netgroup: nis

Нека редактираме файла /etc/pam.d/обща парола, отиваме на ред 26 и премахваме стойността «use_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 user_unknown = игнориране по подразбиране = die] pam_ldap.so try_first_pass
# тук е резервният вариант, ако нито един модул не успее с необходимата парола pam_deny.so # грундирайте стека с положителна възвръщаема стойност, ако вече няма такава; # това ни избягва да връщаме грешка, само защото нищо не задава код за успех #, тъй като модулите по-горе просто ще прескачат паролата, необходима pam_permit.so # и ето още модули за всеки пакет (блока "Допълнителен") # край на pam- auth-update config

В случай, че имаме нужда Локалното влизане на потребителите, съхранявани в LDAP, и ние искаме техните папки да бъдат създадени автоматично У дома, трябва да редактираме файла /etc/pam.d/common-session и добавете следния ред в края на файла:

сесия по избор pam_mkhomedir.so skel = / etc / skel umask = 077

В примера за услуга на директорията OpenLDAP, разработен по-рано, единственият създаден локален потребител е потребителят бръмча, докато в LDAP създаваме потребителите крачки, Леголас, ГандалфИ окови. Ако направените досега конфигурации са правилни, тогава трябва да можем да изброим локалните потребители и тези, които са картографирани като локални, но съхранени в отдалечения LDAP сървър:

root @ mail: ~ # getent passwd 
buzz: x: 1001: 1001: Buzz Debian First OS ,,,: / home / buzz: / bin / bash
Крачки: x: 10000: 10000: Крачки El Rey: / начало / крачки: / bin / bash
legolas: x: 10001: 10000: Legolas Archer: / home / legolas: / bin / bash
gandalf: x: 10002: 10000: Gandalf The Wizard: / 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 group
вести: x: 1001: потребители: *: 10000:

root @ mail: / home / gandalf # изход
изход

gandalf @ mail: ~ $ ls -l / начало /
общо 8 drwxr-xr-x 2 бръмчене бръмчене     4096 17 юни 12:25 вест drwx ------ 2 потребители на gandalf 4096 17 юни 13:05 гандалф

Услугата Directory, внедрена на ниво сървър и клиент, работи правилно.

Kerberos

От Уикипедия:

  • Kerberos е протокол за удостоверяване на компютърна мрежа, създаден от MIT което позволява на два компютъра в несигурна мрежа да доказват сигурно своята идентичност един на друг. Неговите дизайнери първо се фокусираха върху модел клиент-сървър и той осигурява взаимно удостоверяване: и клиентът, и сървърът проверяват самоличността си. Съобщенията за удостоверяване са защитени за предотвратяване подслушване y повторни атаки.

    Kerberos се основава на симетрична криптография на ключове и изисква доверена трета страна. Освен това има разширения на протокола, за да може да се използва асиметрична криптография на ключове.

    Kerberos се основава на Протокол на Needham-Schroeder. Той използва доверена трета страна, наречена „Център за разпространение на ключове“ (KDC), която се състои от две отделни логически части: „Сървър за удостоверяване“ (AS или Authentication Server) и „сървър за издаване на билети“ (TGS или Ticket Granting Server). Kerberos работи на базата на „билети“, които служат за доказване на самоличността на потребителите.

    Kerberos поддържа база данни с тайни ключове; Всеки обект в мрежата - било то клиент или сървър - споделя таен ключ, известен само на себе си и на Kerberos. Познаването на този ключ служи за доказване на самоличността на обекта. За комуникация между два обекта Kerberos генерира сесиен ключ, който те могат да използват, за да защитят проблемите си.

Недостатъци на Kerberos

De Осигурен:

въпреки че Kerberos премахва обща заплаха за сигурността, може да бъде трудно за изпълнение по различни причини:

  • Мигриране на потребителски пароли от стандартна база данни с пароли UNIX, като / etc / passwd или / etc / shadow, към база данни с пароли на Kerberos, може да бъде досадно и няма бърз механизъм за изпълнение на тази задача.
  • Kerberos приема, че всеки потребител има доверие, но използва ненадеждна машина в ненадеждна мрежа. Основната му цел е да предотврати изпращането на некриптирани пароли по мрежата. Ако обаче някой друг потребител, освен съответния потребител, има достъп до машината за билети (KDC) за удостоверяване, Kerberos ще бъде изложен на риск.
  • За да може приложението да използва Kerberos, кодът трябва да бъде модифициран, за да направи подходящите повиквания към библиотеките на Kerberos. Приложенията, модифицирани по този начин, се считат за керберизирани. За някои приложения това може да е прекомерно усилие за програмиране поради размера на приложението или неговия дизайн. За други несъвместими приложения трябва да се направят промени в начина на комуникация на мрежовия сървър и неговите клиенти; отново, това може да отнеме доста програмиране. Като цяло приложенията с затворен код, които нямат поддръжка на Kerberos, обикновено са най-проблематичните.
  • И накрая, ако решите да използвате Kerberos във вашата мрежа, трябва да осъзнаете, че това е избор на всичко или нищо. Ако решите да използвате Kerberos във вашата мрежа, трябва да запомните, че ако някоя парола бъде предадена на услуга, която не използва Kerberos за удостоверяване, рискувате пакетът да бъде прихванат. По този начин вашата мрежа няма да получи никаква полза от използването на Kerberos. За да защитите мрежата си с Kerberos, трябва да използвате само керберизираните версии на всички клиентски / сървърни приложения, които изпращат нешифровани пароли или да не използват нито едно от тези приложения в мрежата.

Ръчното внедряване и конфигуриране на 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. Сисадмин, който си заслужава, трябва да посети този сайт - на английски - и да разгледа големия брой страници, изцяло посветени на Samba 4, написани от самия екип 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 Server на Apple.

Samba 4 AD-DC със своя вътрешен DNS

  • Започваме от чиста инсталация - без графичен интерфейс - на Debian 8 "Jessie".

Първоначални проверки

root @ master: ~ # име на хост
майстор
root @ master: ~ # име на хост --fqdn
master.swl.fan
root @ master: ~ # ip addr
1: какво: mtu 65536 qdisc noqueue състояние UNKNOWN група връзка по подразбиране / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 обхват хост lo valid_lft завинаги предпочитан_ft завинаги inet6 :: 1/128 обхват хост valid_lft завинаги предпочитан_lft завинаги 2: eth0: mtu 1500 qdisc pfifo_fast състояние UNKNOWN група по подразбиране qlen 1000 връзка / етер 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 сървър за имена 127.0.0.1
  • С което декларираме клона основен само, това е повече от достатъчно за нашите цели.
root @ master: ~ # cat /etc/apt/sources.list
дебютантка http://192.168.10.1/repos/jessie-8.6/debian/ Джеси основен
дебютантка http://192.168.10.1/repos/jessie-8.6/debian/security/ jessie / актуализации основен

Postfix от Exim и помощни програми

root @ master: ~ # aptitude инсталира postfix htop mc deborphan

  ┌────────────────────────┤ Конфигурация на постфикс ├───────────────────── ────┐ │ Изберете типа на конфигурацията на пощенския сървър, който най-добре отговаря на вашите │ │ нужди. Configuration │ │ │ Няма конфигурация: │ │ Поддържа текущата конфигурация непокътната. │ │ Интернет сайт: │ │ Пощата се изпраща и получава директно чрез SMTP. │ │ Интернет с „smarthost“: │ │ Пощата се получава директно чрез SMTP или чрез стартиране на инструмент │ │ като „fetchmail“. Изходящата поща се изпраща с помощта на smart │ „smarthost“. │ │ Само локална поща: │ │ Единствената поща, която се доставя, е за местни потребители. Не │ │ има мрежа. │ │ │ │ Общ тип конфигурация на пощата: │ │ │ │ Без конфигурация │ │ Интернет сайт │ │ Интернет със „smarthost“ │ │ Сателитна система │ │                         Само локална поща                                │ │ │ │ │ │                                     │ │ │ └───────────────────────────────────────────── ────────────────────────────┘ ┌──────────────────── ─────┤ Конфигурация на Postfix ├─────────────────────────┐ ┐ „Името на пощенската система“ е името на домейна, който │ │ се използва за „квалифициране“ на _ALL_ имейл адреси без име на домейн. Това включва поща до и от "root": моля, не карайте m вашата машина да изпраща имейли от root@example.org до │ │ по-малко от root@example.org попита. │ │ │ │ Други програми ще използват това име. Това трябва да е уникално │ │ квалифицирано име на домейн (FQDN). │ │ │ │ Следователно, ако имейл адресът на локалната машина е │ │ something@example.org, правилната стойност за тази опция ще бъде example.org. │ │ │ │ Име на пощенска система: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ─────────────────────────────┘  

Почистваме

root @ master: ~ # изчистване на способността ~ c
root @ master: ~ # aptitude install -f
root @ master: ~ # aptitude clean
root @ master: ~ # aptitude autoclean

Инсталираме изисквания за компилиране на Samba 4 и други необходими пакети

root @ master: ~ # aptitude инсталирате acl attr autoconf bison \
компилиране на дебълпър 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-модули 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 ├───────────────┐ users Когато потребителите се опитват да използват Kerberos и да посочат име │ │ принципал или потребител, без да се изяснява към кой административен домейн Kerberos принадлежи принципалът │ │, системата приема царството по подразбиране │ m.  Областта по подразбиране може също да се използва като сферата of of на услуга Kerberos, работеща на локалната машина.  Обикновено царството по подразбиране е главното име на локалния DNS │ │ домейн.  │ │ │ │ Kerberos версия 5 царство по подразбиране: │ │ │ │ SWL.FAN __________________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ────────────────────────────┘ ┌───────────────┤ Конфигуриране на удостоверяване Kerberos ├───────────────┐ │ Въведете имената на сървърите Kerberos в сферата SWL.FAN на │ │ Kerberos, разделени с интервали.  │ │ │ │ Kerberos сървъри за вашето царство: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ │ └───────────────────────────────────────────── ────────────────────────────┘ ┌───────────────┤ Конфигуриране на удостоверяване Kerberos ├───────────────┐ │ Въведете името на административния сървър (промяна на паролата) │ │ за сферата на Kerberos SWL.FAN.   

Горният процес отне малко време, защото все още нямаме инсталирана DNS услуга. Вие обаче избрахте домейна правилно от настройките на файла / Etc / hosts. Не забравяйте това във файла / И т.н. / resolv.conf декларирахме като сървър за име на домейн на IP 127.0.0.1.

Сега конфигурираме файла / etc / ldap / ldap / conf

root @ master: ~ # nano /etc/ldap/ldap.conf
BASE dc = swl, dc = URI на вентилатора ldap: //master.swl.fan

За заявки, използващи командата ldapsearch направени от основния потребител са от типа ldapsearch -x -W cn = xxxx, трябва да създадем файла /root/.ldapsearch със следното съдържание:

root @ master: ~ # nano .ldaprc
BINDDN CN = администратор, CN = потребители, DC = swl, DC = вентилатор

Файловата система трябва да поддържа ACL - Списък за контрол на достъпа

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, грешки = remount-ro 0 1
# суап беше включен / dev / sda5 по време на инсталацията UUID = cb73228a-615d-4804-9877-3ec225e3ae32 няма суап sw 0 0 / dev / sr0 / media / cdrom0 udf, iso9660 потребител, noauto 0 0

root @ master: ~ # монтиране -a

root @ master: ~ # докосване testing_acl.txt
root @ master: ~ # setfattr -n user.test -v тест 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 = "тест"

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 # собственик: root # група: root потребител :: rw- група :: r-- група: adm: rwx маска :: rwx друго :: 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# . / Configure развъртете

Ние конфигурираме, компилираме и инсталираме samba-4.5.1

  • Като се започне от предварително инсталираните изисквания и 8604 файла (които съставляват компактната samba-4.5.1.tar.gz), които тежат около 101.7 мегабайта - включително папките source3 и source4, които тежат около 61.1 мегабайта - ще получим заместител на Active Directory в стил Microsoft, с качество и стабилност, повече от приемливи за всяка производствена среда. Трябва да подчертаем работата на Team Samba при предоставянето на безплатния софтуер Samba 4.

Командите по-долу са класическите за компилиране и инсталиране на пакети от техните източници. Трябва да имаме търпение, докато целият процес продължава. Това е единственият начин да получите валидни и коректни резултати.

root @ master: /opt/samba-4.5.1# ./конфигуриране --с-systemd - чаши с възможност за изключване
root @ master: /opt/samba-4.5.1# правя
root @ master: /opt/samba-4.5.1# да инсталирате

По време на командния процес правя, можем да видим, че са компилирани източниците Samba 3 и Samba 4. Ето защо Team Samba потвърждава, че неговата версия 4 е естествената актуализация на версия 3, както за домейн контролери, базирани на Samba 3 + OpenLDAP, така и файлови сървъри или по-стари версии на Samba 4.

Предоставяне на Samba

Ще използваме като DNS SAMBA_INTERNAL, En 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 'да бъде оцветено: # export 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: ~ # изход за изход Връзката с master е затворена. xeon @ sysadmin: ~ $ ssh root @ master

root @ master: ~ # samba-инструмент предоставяне на домейн --use-rfc2307 --interactive
Царство [SWL.FAN]: SWL.ВЕНТИЛАТОР
 Домейн [SWL]: SWL
 Роля на сървъра (dc, член, самостоятелен) [dc]: dc
 DNS бекенд (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: SAMBA_INTERNAL
 IP адрес на DNS спедитор (напишете „none“, за да деактивирате препращането) [192.168.10.5]: 8.8.8.8
Администраторска парола: Вашата парола 2017
Повторете паролата: Вашата парола 2017
Търсене на IPv4 адреси Търсене на IPv6 адреси Няма да бъде присвоен IPv6 адрес Настройка на share.ldb Настройка на secrets.ldb Настройка на регистъра Настройка на базата данни за привилегии Настройка на idmap db Настройка на SAM db Настройка на sam.ldb дялове и настройки Настройка нагоре sam.ldb rootDSE Предварително зареждане на схемата Samba 4 и AD Добавяне на домейн DN: DC = swl, DC = вентилатор Добавяне на конфигурационен контейнер Настройка на sam.ldb схема Настройка на sam.ldb конфигурационни данни Настройка на спецификатори на дисплея Модифициране на спецификатори на дисплея Добавяне на потребителски контейнер Промяна на контейнер за потребители Добавяне на контейнер за компютри Промяна на контейнер за компютри Настройка на данни на sam.ldb Настройка на добре познати принципи за сигурност Настройка на потребители и групи на sam.ldb Настройка на самосъединяване Добавяне на DNS акаунти Създаване на CN = MicrosoftDNS, CN = Система, DC = swl, DC = вентилатор Създаване на DomainDnsZones и ForestDnsZones дялове Попълване на DomainDnsZones и ForestDnsZones дялове Настройване на sam.ldb rootDSE маркиране като синхронизирани GUID за осигуряване на фиксиранеКонфигурация Kerberos, подходяща за Samba 4, е генерирана на адрес /usr/local/samba/private/krb5.conf Настройване на фалшиви настройки на yp сървър След като горните файлове бъдат инсталирани, вашият сървър Samba4 ще бъде готов да използва ролята на сървъра: домейн на активната директория контролер Име на хост: главен NetBIOS домейн: SWL DNS домейн: swl.fan DOMAIN SID: S-1-5-21-32182636-2892912266-1582980556

Нека не забравяме да копираме конфигурационния файл на Kerberos, както е посочено в изхода на Обезпечаване:

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

За да не въведете командата инструмент за самба с вашето пълно име, ние създаваме символична връзка с краткото име инструмент:

root @ master: ~ # ln -s / usr / local / samba / bin / samba-tool / usr / local / samba / bin / tool

Инсталираме NTP

Основна част в Active Directory е услугата за мрежово време. Тъй като удостоверяването се извършва чрез Kerberos и неговите билети, синхронизирането на времето със Samba 4 AD-DC е жизненоважно.

root @ master: ~ # aptitude инсталирайте 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 статистика loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegenstats file clockstats clock type day enable server 192.168.10.1 ограничение -4 по подразбиране код notrap nomodify nopeer noquery ограничение -6 по подразбиране код notrap nomodify nopeer noquery ограничение по подразбиране mssntp ограничение 127.0.0.1 ограничение :: 1 излъчване 192.168.10.255

root @ master: ~ # рестартиране на ntp услуга
root @ master: ~ # статус ntp на услугата

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

Ако при разглеждане на Syslog използвайки горната команда или използвайки journalctl -f получаваме съобщението:

19 юни 12:13:21 master ntpd_intres [1498]: родителят почина преди да приключим, излизаме

трябва да рестартираме услугата и да опитаме отново. Сега създаваме папката ntp_signd:

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 корен ntp 4096 19 юни 12:21 / usr / local / samba / var / lib / ntp_signd

Конфигурираме Samba да започне да използва systemd

root @ master: ~ # nano /lib/systemd/system/samba-ad-dc.service
[Услуга] Тип = разклонение 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 root staff 4096 19 юни 11:55 кофа за боклук
drwxr-sr-x 2 root staff 4096 19 юни 11:50 и т.н.
drwxr-sr-x 7 root staff 4096 19 юни 11:30 include
drwxr-sr-x 15 root staff 4096 19 юни 11:33 ИЪ
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 name = 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 сървърът изисква силен auth = no printcap name = / dev / null [netlogon] path = /usr/local/samba/var/locks/sysvol/swl.fan/scripts only read = No [sysvol] path = / usr / local / samba / var / locks / sysvol read only = No

root @ master: ~ # testparm
Заредете smb конфигурационни файлове от /usr/local/samba/etc/smb.conf Секция за обработка "[netlogon]" Секция за обработка "[sysvol]" Зареденият файл за услуги е в ред. Роля на сървъра: ROLE_ACTIVE_DIRECTORY_DC Натиснете enter, за да видите дъмп на дефинициите на вашата услуга # Глобални параметри [глобално] царство = SWL.FAN работна група = SWL dns forwarder = 192.168.10.1 ldap сървър изисква силен auth = Няма passdb backend = samba_dsdb server role = активна директория домейн контролер 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 archive = No map readonly = no store dos attributes = Yes vfs objects = dfs_samba4 acl_xattr [netlogon] path = / usr / local / samba / var / locks / sysvol / swl.fan / скриптове само за четене = Не [sysvol] път = / usr / local / samba / var / locks / sysvol само за четене = не

Минимални проверки

root @ master: ~ # шоу на ниво домейн на инструмента
Ниво на функция на домейн и гора за домейн 'DC = swl, DC = fan' Ниво на функция на гората: (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
Основно по подразбиране: Администратор@SWL.FAN

Валидно стартиране Изтича услуга главна 19/06/17 12:53:24 19/06/17 22:53:24  krbtgt/SWL.FAN@SWL.FAN
    поднови до 20 06:17:12, Знамена: RIA

root @ master: ~ # kdestroy
root @ master: ~ # klist -f
klist: Файлът за кеш на идентификационни данни '/ tmp / krb5cc_0' не е намерен

root @ master: ~ # smbclient -L localhost -U%
Домейн = [SWL] OS = [Windows 6.1] Сървър = [Samba 4.5.1] Тип име на споделяне Коментар --------- ---- ------- netlogon Disk sysvol Disk IPC $ IPC IPC Услуга (Samba 4.5.1) Домен = [SWL] OS = [Windows 6.1] Сървър = [Samba 4.5.1] Коментар на сървъра --------- ------- Работна група Master ---- ----- -------

root @ master: ~ # smbclient // localhost / netlogon -UAdministrator -c 'ls'
Въведете администраторска парола: Домейн = [SWL] OS = [Windows 6.1] Сървър = [Samba 4.5.1]. D 0 Mon Jun 19 11:50:52 2017 .. D 0 Mon Jun 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 A master.swl.fan
master.swl.fan има адрес 192.168.10.5

root @ master: ~ # host -t SOA swl.fan
swl.fan има SOA запис 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: ~ # инструмент
Употреба: инструмент за самба Основен инструмент за администриране на самба. Опции: -h, --help покажете това съобщение за помощ и излезте Опции за версия: -V, --version Показване на номера на версията Налични подкоманди: dbcheck - Проверете локалната база данни на AD за грешки. делегиране - управление на делегации. dns - Управление на услугата за имена на домейни (DNS). домейн - Управление на домейн. drs - Управление на услуги за репликация на директории (DRS). dsacl - DS ACL манипулация. fsmo - Управление на ролите на гъвкави единични главни операции (FSMO). gpo - Управление на обект на групови правила (GPO). група - Управление на група. ldapcmp - Сравнете две ldap бази данни. ntacl - NT ACL манипулация. процеси - Списък на процесите (за подпомагане на отстраняването на грешки в системи без setproctitle). rodc - Управление само на четене на домейн контролер (RODC). сайтове - Управление на сайтове. spn - Управление на основно име на услуга (SPN). testparm - Синтаксис проверете конфигурационния файл. време - Извличане на времето на сървър. потребител - Управление на потребителя. За повече помощ за конкретна подкоманда, моля, въведете: samba-tool (-h | --помощ)

root @ master: ~ # инструмент потребител секспири администратор --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, --help покажете това съобщение за помощ и излезте Налични подкоманди: добавяне - Добавяне на DNS запис изтриване - Изтриване на заявка DNS запис - Заявка за име. roothints - Заявка за коренни съвети. serverinfo - Заявка за информация за сървъра. актуализация - Актуализиране на DNS запис зона създаване - Създаване на зона. zonedelete - Изтриване на зона. zoneinfo - Заявка за информация за зоната. zonelist - Заявка за зони. За повече помощ за конкретна подкоманда, моля, въведете: samba-tool dns (-h | --помощ)

Пощенски сървър

root @ master: ~ # tool dns add master swl.fan mail A 192.168.10.9 -U administrator
root @ master: ~ # tool dns add master swl.fan swl.fan MX "mail.swl.fan 10" -U администратор

Фиксиран IP на други сървъри

root @ master: ~ # tool dns add master swl.fan sysadmin A 192.168.10.1 -U administrator
root @ master: ~ # tool dns add master swl.fan fileserver A 192.168.10.10 -U administrator
root @ master: ~ # tool dns add master swl.fan proxy A 192.168.10.11 -U администратор
root @ master: ~ # tool dns add master swl.fan chat A 192.168.10.12 -U administrator

Обратна зона

root @ master: ~ # tool dns zonecreate master 10.168.192.in-addr.arpa -U администратор
Парола за [SWL \ administrator]: Зона 10.168.192.in-addr.arpa създадена успешно

root @ master: ~ # tool dns add master 10.168.192.in-addr.arpa 5 PTR master.swl.fan. -Администратор
root @ master: ~ # tool dns add master 10.168.192.in-addr.arpa 9 PTR mail.swl.fan. -Администратор
root @ master: ~ # tool dns add master 10.168.192.in-addr.arpa 1 PTR sysadmin.swl.fan. -Администратор
root @ master: ~ # tool dns add master 10.168.192.in-addr.arpa 10 PTR fileserver.swl.fan. -Администратор
root @ master: ~ # tool dns add master 10.168.192.in-addr.arpa 11 PTR proxy.swl.fan. -Администратор
root @ master: ~ # tool dns add master 10.168.192.in-addr.arpa 12 PTR chat.swl.fan. -Администратор

Проверки

root @ master: ~ # инструмент dns заявка master swl.fan поща ALL -U администратор
Парола за [SWL \ администратор]: Име =, Записи = 1, Деца = 0 A: 192.168.10.9 (флагове = f0, сериен = 2, ttl = 900)

root @ master: ~ # хост майстор
master.swl.fan има адрес 192.168.10.5
root @ master: ~ # хост 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 указател на име на домейн master.swl.fan.
root @ master: ~ # хост 192.168.10.9
9.10.168.192.in-addr.arpa указател на име на домейн 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 указател на име на домейн proxy.swl.fan.
root @ master: ~ # хост 192.168.10.12
12.10.168.192.in-addr.arpa указател на име на домейн 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 покажете това съобщение за помощ и излезте Налични подкоманди: добавяне - Създаване на нов потребител. create - Създайте нов потребител. изтриване - Изтриване на потребител. Disable - Деактивиране на потребител. enable - Активиране на потребител. getpassword - Вземете полетата за парола на акаунт на потребител / компютър. списък - Списък на всички потребители. парола - Променете паролата за потребителски акаунт (този, предоставен при удостоверяване). setexpiry - Задайте изтичане на даден потребителски акаунт. setpassword - Задайте или нулирайте паролата на потребителски акаунт. syncpasswords - Синхронизирайте паролата на потребителските акаунти. За повече помощ за конкретна подкоманда, моля, въведете: samba-tool user (-h | --помощ)

root @ master: ~ # потребител на инструмент създава крачки Trancos01
Потребителят 'trancos' е създаден успешно
root @ master: ~ # потребител на инструмент създаде gandalf Gandalf01
Потребителят 'gandalf' е създаден успешно
root @ master: ~ # потребител на инструмент създава legolas Legolas01
Потребителски „леголи“ е създаден успешно
root @ master: ~ # списък с потребители на инструмента
Администратор gandalf legolas напредва krbtgt Guest

Администриране чрез графичен интерфейс или чрез уеб клиент

Посетете 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“. Не е празно да се провери дали името «седем»Все още не е регистриран във вътрешния DNS на Samba.

След като присъединим компютъра към домейна и го рестартираме, нека се опитаме да влезем с потребителя «крачки«. Ще проверим дали всичко работи ОК. Препоръчително е също така да проверите регистрационните файлове на Windows Client и да проверите как времето е правилно синхронизирано.

Администраторите с известен опит с Windows ще открият, че всяка проверка, която правят на клиента, ще даде задоволителни резултати.

Обобщение

Надявам се статията да е полезна за читателите на Общността. DesdeLinux.

Довиждане!


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Гонсало Мартинес каза той

    Дълга, но подробна статия, много добра стъпка по стъпка как да направите всичко.

    Подчертавам NIS, истината е, че макар да знам за съществуването му, всъщност никога не съм знаел как работи, тъй като честно казано винаги ми създаваше впечатлението, че на практика е мъртъв до LDAP и Samba 4.

    PS: Поздравления за новия ви личен проект! Жалко, че няма да продължите да пишете тук, но поне има къде да ви последва.

  2.   HO2Gi каза той

    Огромен урок както винаги за любимите ми, Поздрави Фицо.
    Поздравления за проекта.

  3.   IWO каза той

    Разделът за НИС е страхотен, съчувствам на Гонсало Мартинес, знаех го накратко, но нямах представа как да го прилагам и в какви ситуации се използва.
    Благодаря ви веднъж за огромен "багажник" на теоретична и практическа статия.
    И накрая нови успехи във вашия нов проект «gigainside».

  4.   Федерико каза той

    Много благодаря на всички за коментар !!!.
    поздрави

  5.   мусол каза той

    smb.conf, който показвате, няма връзка с LDAP, нарочно ли е така или оставих нещо?

  6.   Фицо каза той

    mussol: Това е контролер на домейн на Samba 4 Active Directory, който вече има вграден LDAP сървър.

  7.   Винсент каза той

    Бихте ли коментирали как да обедините mac (ябълка) в samba 4 AD-DC?
    Благодаря.

  8.   jramirez каза той

    Как сте;

    Благодаря за ръководството, страхотно е. Имам въпрос относно съобщение, което ми се появява.

    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: ~ #