PAM, NIS, LDAP, Kerberos, DS и Samba 4 AD-DC - сети SMB

Общий индекс серии: Компьютерные сети для МСП: Введение

Привет друзья и друзья!

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

Основная цель поста - предложить «Большая фотография»О службах аутентификации с использованием бесплатного программного обеспечения, которые есть в нашем распоряжении. По крайней мере, это наше намерение. Поэтому это будет долго, несмотря на то, что мы знаем, что это противоречит общим правилам написания статей. Мы надеемся, что системные администраторы это оценят.

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

Мы не будем давать подробных определений или ссылок на аспекты, о которых говорилось в предыдущих статьях, или на те, описание которых может быть легко доступно в Википедии или других сайтах или статьях в Интернете, чтобы не потерять объективность сообщения, которое мы хотим дать. Мы также будем использовать допустимое сочетание имен на английском и испанском языках, так как мы считаем, что большинство систем были созданы с именами на английском языке, и для системного администратора очень полезно ассимилировать их на исходном языке..

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

ВПП

Мы посвящаем небольшую серию этому типу локальной аутентификации, и вы увидите из повседневной практики, что он широко используется, когда, например, мы присоединяем рабочую станцию ​​к контроллеру домена или Active Directory; отображать пользователей, хранящихся во внешних базах данных LDAP, как если бы они были локальными пользователями; для сопоставления пользователей, хранящихся в контроллере домена Active Directory, как если бы они были локальными пользователями, и так далее.

NIS

De Википедия.:

  • Сетевая информационная система (известная под аббревиатурой NIS, что в переводе с испанского означает сетевая информационная система) - это название протокола служб каталогов клиент-сервер, разработанного Sun Microsystems для отправки данных конфигурации в распределенных системах, таких как имена пользователей и хостов между компьютерами в сети.NIS основан на ONC RPC и состоит из сервера, клиентской библиотеки и различных инструментов администрирования.

    Первоначально NIS назывался «Желтые страницы», или 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 Свеном Тюммлером. Однако сервер NIS отсутствует в эталонной реализации.

    Питер Эрикссон разработал новую реализацию под названием NYS. Он поддерживает как базовую NIS, так и расширенную версию Sun NIS +. [1] NYS не только предоставляет ряд инструментов NIS и сервер, но также добавляет целый новый набор библиотечных функций, которые вам необходимо скомпилировать в вашу libc, если вы хотите их использовать. Это включает новую схему конфигурации для разрешения имен узлов, которая заменяет текущую схему, используемую файлом "host.conf".

    GNU libc, известный в сообществе GNU / Linux как libc6, включает обновленную версию традиционной поддержки NIS, разработанную Торстеном Кукуком. Он поддерживает все библиотечные функции, предоставляемые NYS, а также использует расширенную схему конфигурации NYS. Инструменты и сервер по-прежнему необходимы, но использование GNU libc избавляет от необходимости исправлять и перекомпилировать библиотеку.

    .

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

  • Мы начинаем с чистой установки - без графического интерфейса - Debian 8 "Jessie".. Домен swl.fan означает «Поклонники свободного программного обеспечения». Что может быть лучше этого?.
root @ master: ~ # имя хоста
мастер
root @ master: ~ # имя хоста -f
master.swl.fan

root @ master: ~ # ip адрес 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default link / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 scope host lo valid_lft навсегда предпочтительный_lft навсегда inet6 :: 1/128 хост области действия valid_lft навсегда предпочтительный_lft навсегда 2: eth0: mtu 1500 qdisc pfifo_fast состояние UP группа по умолчанию qlen 1000 link / ether 00: 0c: 29: 4c: 76: d9 brd ff: ff: ff: ff: ff: ff inet 192.168.10.5/24 brd 192.168.10.255 область действия global eth0 valid_lft навсегда предпочтительный_lft навсегда inet6 fe80 :: 20c: 29ff: fe4c: 76d9 / 64 область видимости ссылка valid_lft навсегда предпочтительный_lft навсегда

корень @ мастер: ~ # cat /etc/resolv.conf 
поиск swl.fan nameserver 127.0.0.1

Установка bind9, isc-dhcp-server и ntp

привязать9

root @ master: ~ # aptitude install bind9 связывание9-док птар
root @ master: ~ # systemctl status bind9

корень @ мастер: ~ # nano /etc/bind/ named.conf
включить "/etc/bind/ named.conf.options"; включить "/etc/bind/ named.conf.local"; включить "/etc/bind/ named.conf.default-zones";

корень @ мастер: ~ # cp /etc/bind/ named.conf.options \ /etc/bind/ named.conf.options.original

корень @ мастер: ~ # nano /etc/bind/ named.conf.options
параметры {каталог "/ var / cache / bind"; // Если между вами и серверами имен, с которыми вы хотите // разговаривать, есть брандмауэр, вам может потребоваться исправить брандмауэр, чтобы разрешить соединение // нескольким портам. Видеть http://www.kb.cert.org/vuls/id/800113

        // Если ваш интернет-провайдер предоставил один или несколько IP-адресов для стабильных // серверов имен, вы, вероятно, захотите использовать их в качестве серверов пересылки. // Раскомментируйте следующий блок и вставьте адреса, заменяющие // заполнитель всех 0. // экспедиторы {// 0.0.0.0; //}; // =============================================== ===================== $ // Если BIND регистрирует сообщения об ошибках об истечении срока действия корневого ключа, // вам необходимо обновить свои ключи. Видеть https://www.isc.org/bind-keys
        // =============================================== ====================== $ // Нам не нужен DNSSEC
        dnssec-enable нет;
        // dnssec-validation auto; auth-nxdomain no; # соответствовать RFC1035 listen-on-v6 {any; }; // Для проверок от localhost и sysadmin // через dig swl.fan axfr // У нас нет Slave DNS ... до сих пор
        разрешить передачу {localhost; 192.168.10.1; };
}; корень @ master: ~ # named-checkconf

корень @ мастер: ~ # 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"; };

// Локальная ссылка / 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] для документации (RFC 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 для документации (RFC 3849 и 6303)
зона "8.bd0.1.0.0.2.ip6.arpa" {тип мастер; файл "/etc/bind/db.empty"; };

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

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

// Зарезервировано IANA - старое пространство класса E (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" {тип master; файл "/etc/bind/db.empty"; }; зона "1.f.ip6.arpa" {тип master; файл "/etc/bind/db.empty"; }; зона "2.f.ip6.arpa" {тип master; файл "/etc/bind/db.empty"; }; зона "3.f.ip6.arpa" {тип master; файл "/etc/bind/db.empty"; }; зона "4.f.ip6.arpa" {тип мастер; файл "/etc/bind/db.empty"; }; зона "5.f.ip6.arpa" {тип master; файл "/etc/bind/db.empty"; }; зона "6.f.ip6.arpa" {тип master; файл "/etc/bind/db.empty"; }; зона "7.f.ip6.arpa" {тип master; файл "/etc/bind/db.empty"; }; зона "8.f.ip6.arpa" {тип master; файл "/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 (RFC 4193 и 6303)
зона "cfip6.arpa" {тип мастер; файл "/etc/bind/db.empty"; }; зона "dfip6.arpa" {тип мастер; файл "/etc/bind/db.empty"; };

// Локальная ссылка IPv6 (RFC 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 (RFC 3879 и 6303)
зона "cefip6.arpa" {тип мастер; файл "/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" {тип мастер; файл "/etc/bind/db.empty"; };

корень @ мастер: ~ # нано /etc/bind/ named.conf.local
// // Выполните здесь любую локальную конфигурацию // // Рассмотрите возможность добавления здесь зон 1918, если они не используются // в вашей организации include "/etc/bind/zones.rfc1918";
включить "/etc/bind/zones.rfcFreeBSD";

// Объявление имени, типа, местоположения и разрешения на обновление // зон записи DNS // Обе зоны являются МАСТЕР-зоной "swl.fan" {type master; файл "/var/lib/bind/db.swl.fan"; }; зона "10.168.192.in-addr.arpa" {тип мастер; файл "/var/lib/bind/db.10.168.192.in-addr.arpa"; };

корень @ master: ~ # named-checkconf

корень @ мастер: ~ # нано /var/lib/bind/db.swl.fan
$ TTL 3H @ IN SOA master.swl.fan. root.master.swl.fan. (1; серийный 1D; обновить 1H; повторить 1W; истечь 3H); минимум или; Время жизни отрицательного кеширования; @ IN NS master.swl.fan. @ IN MX 10 mail.swl.fan. @ IN A 192.168.10.5 @ IN TXT «Для любителей свободных программ»; sysadmin IN A файловый сервер 192.168.10.1 IN A 192.168.10.4 master IN A 192.168.10.5 proxyweb IN A 192.168.10.6 blog IN A 192.168.10.7 ftpserver IN A 192.168.10.8 mail IN A 192.168.10.9

корень @ мастер: ~ # нано /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); минимум или; Время жизни отрицательного кеширования; @ IN 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 ОК
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 ОК

корень @ мастер: ~ # именованный-checkconf -zp
root @ master: ~ # systemctl перезапуск bind9.service
root @ master: ~ # systemctl status bind9.service

Bind9 проверок

root @ master: ~ # копать swl.fan axfr
корень @ мастер: ~ # копать 10.168.192.in-addr.arpa axfr
root @ master: ~ # копать в SOA swl.fan
root @ master: ~ # копать в NS swl.fan
root @ master: ~ # копать в MX swl.fan
root @ master: ~ # proxyweb host root @ master: ~ # nping --tcp -p 53 -c 3 localhost
корень @ мастер: ~ # nping --udp -p 53 -c 3 localhost
корень @ мастер: ~ # nping --tcp -p 53 -c 3 master.swl.fan
корень @ мастер: ~ # 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 Макс. Rtt: N / A | Мин. RTT: N / A | Avg rtt: N / A Отправлено сырых пакетов: 84 (0B) | Rcvd: 0 (3B) | Потеряно: 100.00 (1%) Выполнено Nping: 3.01 IP-адрес проверяется за XNUMX секунды 

ISC-DHCP-сервер

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

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

зона "swl.fan" {тип мастер; файл "/var/lib/bind/db.swl.fan";
        разрешить обновление {ключ dhcp-key; };
}; зона "10.168.192.in-addr.arpa" {тип мастер; файл "/var/lib/bind/db.10.168.192.in-addr.arpa";
        разрешить обновление {ключ dhcp-key; };
};

корень @ мастер: ~ # именованный-checkconf

корень @ мастер: ~ # mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.original
корень @ мастер: ~ # nano /etc/dhcp/dhcpd.conf
промежуточный ddns-update-style; ddns-updates on; ddns-domainname "swl.fan."; ddns-rev-domainname "in-addr.arpa."; игнорировать клиентские обновления; обновление-оптимизация false; # Может потребоваться в авторитетном Debian; опция ip-forwarding отключена; опция доменного имени "swl.fan"; включить "/etc/dhcp/dhcp.key"; зона swl.fan. {первичный 127.0.0.1; ключ dhcp-key; } зона 10.168.192.in-addr.arpa. {первичный 127.0.0.1; ключ dhcp-key; } совместно используемая сеть redlocal {подсеть 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-servers 192.168.10.5; вариант ntp-серверов 192.168.10.5; вариант тайм-серверов 192.168.10.5; диапазон 192.168.10.30 192.168.10.250; }}

корень @ мастер: ~ # dhcpd -t
Сервер DHCP 4.3.1 Консорциума Интернет-систем Авторские права 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 status bind9.service 

root @ master: ~ # systemctl start isc-dhcp-server.service
root @ master: ~ # systemctl status isc-dhcp-server.service

нтп

root @ master: ~ # aptitude install ntp ntpdate
корень @ мастер: ~ # cp /etc/ntp.conf /etc/ntp.conf.original
корень @ мастер: ~ # nano /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift statistics 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 restrict -4 default kod notrap nomodify nopeer noquery restrict -6 код по умолчанию notrap nomodify nopeer noquery restrict 127.0.0.1 restrict :: 1 трансляция 192.168.10.255

root @ master: ~ # systemctl перезапуск ntp.service 
root @ master: ~ # systemctl status ntp.service
корень @ мастер: ~ # ntpdate -u sysadmin.swl.fan
27 мая 10:04:01 ntpdate [18769]: настроить сервер времени 192.168.10.1 смещение 0.369354 сек.

Глобальные проверки для ntp, bind9 и isc-dhcp-server

Из клиента Linux, BSD, Mac OS или Windows проверьте правильность синхронизации времени. Он получает динамический IP-адрес и что имя этого хоста разрешается с помощью прямых и обратных DNS-запросов. Измените имя клиента и повторите все проверки. Не продолжайте, пока не убедитесь, что установленные службы работают правильно. Для чего-то мы все статьи про DNS и DHCP писали в Компьютерные сети для малого и среднего бизнеса.

Установка сервера NIS

root @ master: ~ # aptitude show nis
Конфликты с: netstd (<= 1.26) Описание: клиенты и демоны для сетевой информационной службы (NIS) Этот пакет предоставляет инструменты для настройки и обслуживания домена NIS. NIS, первоначально известный как Желтые страницы (YP), в основном используется, чтобы позволить нескольким машинам в сети совместно использовать одну и ту же информацию об учетной записи, например файл паролей.

root @ master: ~ # aptitude install nis
Конфигурация пакета ┌────────────────────────── Конфигурация Nis ├───────────────── ────────── │ Выберите «доменное имя» NIS для этой системы. Если вы хотите, чтобы этот компьютер был просто клиентом, вы должны ввести имя домена NIS, к которому хотите присоединиться. │ │ │ │ В качестве альтернативы, если этот компьютер должен быть сервером NIS, вы можете │ │ ввести новое «доменное имя» NIS или имя существующего домена NIS. │ │ │ │ Домен NIS: │ │ │ │ swl.fan __________________________________________________________________ │ │ │ │ │ │ │ └──────────────────────────────────────────────── ──────────────────────────────  

Это задержит ваш, потому что конфигурация службы не существует как таковая. Подождите, пока процесс завершится.

корень @ мастер: ~ # нано / 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 = true | false
MERGE_PASSWD = истина

# Должны ли мы объединить файл группы с файлом gshadow? # MERGE_GROUP = true | false
MERGE_GROUP = верно

Строим базу данных NIS

корень @ мастер: ~ # / usr / lib / yp / ypinit -m
На этом этапе мы должны составить список хостов, на которых будут работать серверы NIS. master.swl.fan находится в списке узлов сервера NIS. Продолжайте добавлять имена для других хостов, по одному в строке. Когда вы закончите со списком, введите . следующий добавляемый хост: 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 restart nis
root @ master: ~ # systemctl status nis

Добавляем локальных пользователей

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

root @ master: ~ # adduser шагает root @ master: ~ # adduser legolas

и так далее.

корень @ мастер: ~ # палец леголас
Логин: legolas Имя: Legolas Archer Каталог: / home / legolas Shell: / bin / bash Не входил в систему. Почты нет. Нет плана.

Обновляем базу данных NIS

корень @ мастер: / 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-server

корень @ мастер: ~ # nano /etc/dhcp/dhcpd.conf
промежуточный ddns-update-style; ddns-updates on; ddns-domainname "swl.fan."; ddns-rev-domainname "in-addr.arpa."; игнорировать клиентские обновления; обновление-оптимизация false; авторитетный; опция ip-forwarding отключена; опция доменного имени "swl.fan"; включить "/etc/dhcp/dhcp.key"; зона swl.fan. {первичный 127.0.0.1; ключ dhcp-key; } зона 10.168.192.in-addr.arpa. {первичный 127.0.0.1; ключ dhcp-key; } совместно используемая сеть redlocal {подсеть 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-servers 192.168.10.5; вариант ntp-серверов 192.168.10.5; вариант тайм-серверов 192.168.10.5;
                опция nis-domain "swl.fan";
                вариант нис-сервера 192.168.10.5;
                диапазон 192.168.10.30 192.168.10.250; }}

корень @ мастер: ~ # dhcpd -t
root @ master: ~ # systemctl перезапуск isc-dhcp-server.service

Установка клиента NIS

  • Мы начинаем с чистой установки - без графического интерфейса - Debian 8 "Jessie"..
root @ mail: ~ # имя хоста -f
mail.swl.fan

root @ mail: ~ # ip адрес
2: eth0: mtu 1500 qdisc pfifo_fast состояние UP группа по умолчанию qlen 1000 link / ether 00: 0c: 29: 25: 1f: 54 brd ff: ff: ff: ff: ff: ff
    inet 192.168.10.9/24 brd 192.168.10.255 область действия global eth0

корень @ почта: ~ # установка aptitude nis
корень @ почта: ~ # 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. # Если у вас установлены пакеты `glibc-doc-reference 'и` info', попробуйте: #` info libc "Name Service Switch" 'для получения информации об этом файле. passwd: compat nis group: compat nis shadow: compat nis gshadow: files hosts: files dns nis networks: files протоколы: db files services: db files ethers: db files rpc: db files 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 status nis
root @ mail: ~ # systemctl restart nis

Мы закрываем сеанс и запускаем его снова, но с пользователем, зарегистрированным в базе данных NIS по адресу master.swl.fan.

root @ mail: ~ # выход
logout Подключение к почте закрыто.

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: ~ $ exit
logout Подключение к почте закрыто.

buzz @ sysadmin: ~ $ ssh legolas @ mail
legolas @ пароль почты: Arquero2017

Программы, входящие в состав системы Debian GNU / Linux, являются бесплатными; точные условия распространения для каждой программы описаны в отдельных файлах в / usr / share / doc / * / copyright. Debian GNU / Linux поставляется с АБСОЛЮТНО НИКАКИХ ГАРАНТИЙ, насколько это разрешено действующим законодательством. Последний вход: Сб, 27 мая, 12:51:50 2017, sysadmin.swl.fan
legolas @ mail: ~ $

Служба NIS, реализованная на уровне сервера и клиента, работает правильно.

LDAP

Из Википедии:

  • LDAP - это аббревиатура от Lightweight Directory Access Protocol (на испанском языке Lightweight / Simplified Directory Access Protocol), который относится к протоколу уровня приложения, который обеспечивает доступ к упорядоченной и распределенной службе каталогов для поиска различной информации в среде. сеть. LDAP также считается базой данных (хотя ее система хранения может отличаться), к которой можно выполнять запросы.Каталог - это набор объектов с атрибутами, организованными логическим и иерархическим образом. Наиболее распространенным примером является телефонный справочник, который состоит из серии имен (лиц или организаций), расположенных в алфавитном порядке, причем каждое имя имеет адрес и привязанный к нему номер телефона. Чтобы лучше понять, это книга или папка, в которой написаны имена, номера телефонов и адреса людей, и она расположена в алфавитном порядке.

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

    Обычно он хранит информацию для аутентификации (пользователя и пароль) и используется для аутентификации, хотя можно хранить и другую информацию (контактные данные пользователя, расположение различных сетевых ресурсов, разрешения, сертификаты и т. Д.). Таким образом, LDAP - это унифицированный протокол доступа к набору информации в сети.

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

    .

Надолго, протокол LDAP - и его базы данных, совместимые или несовместимые с OpenLDAP - сегодня наиболее часто используются в большинстве систем аутентификации. В качестве примера предыдущего утверждения мы приводим ниже некоторые имена систем - Free или Private - которые используют базы данных LDAP в качестве бэкэнда для хранения всех своих объектов:

  • OpenLDAP
  • Сервер каталогов Apache
  • Сервер каталогов Red Hat - 389 DS
  • Службы каталогов Novell - eDirectory
  • Микросистема SUN Open DS
  • Диспетчер идентификации Red Hat
  • БесплатноIPA
  • Классический контроллер домена Samba NT4.
    Мы хотим уточнить, что эта система была разработкой 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, представляет собой объединение нескольких основных компонентов, а именно:

Мы не должны путать Служба каталогов o Служба каталогов с Active Directory o Active Directory. Первые могут или не могут размещать аутентификацию Kerberos, но они не предлагают сетевую службу Microsoft, которую предоставляет домен Windows, и не имеют контроллера домена Windows как такового.

Службу каталогов или службу каталогов можно использовать для аутентификации пользователей в смешанной сети с клиентами UNIX / Linux и Windows. Для последнего на каждом клиенте должна быть установлена ​​программа, которая действует как посредник между службой каталогов и самим клиентом Windows, например бесплатное программное обеспечение. pGina.

Служба каталогов с OpenLDAP

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

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

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

Проверяем начальную конфигурацию

корень @ мастер: ~ # slapcat
dn: dc = swl, dc = вентилятор
objectClass: верхний объектный класс: dcObject objectClass: организация o: swl.fan dc: swl structureObjectClass: организация entryUUID: c8510708-da8e-1036-8fe1-71d022a16904 creatorsName: cn = admin, dc = swl, dc = запись вентилятора createTimestampZ20170531205219: 20170531205219.833955TimestampZ000000: Z # 000 # 000000 # 20170531205219 модификаторы Имя: cn = admin, dc = swl, dc = fan modifyTimestamp: XNUMXZ

dn: cn = admin, dc = swl, dc = fan
Objectclass: simpleSecurityObject Objectclass: organizationalRole сп: администратор Описание: LDAP, администратор Парольпользователя :: e1NTSEF9emJNSFU1R3l2OWVEN0pmTmlYOVhKSUF4ekY1bU9YQXc = structuralObjectClass: organizationalRole entryUUID: c851178e-da8fe1036e-entrySw8d-2-dm71c-022-entrySw16904e-da20170531205219fe-20170531205219.834422-входа-000000-fancimes-c000emp000000a20170531205219-entrySwXNUMX-cXNUMXempXNUMXeXNUMXpmTmlYOVhKSUXNUMX ввода-XNUMXc-XNUMX-F-XNUMX ввода-XNUMXc-XNUMX-е-с-F-XNUMX ввода-XNUMX-cXNUMX-daXNUMXfe-XNUMX-входа-XNUMX-fancimes ввода-XNUMX ввода-у-е-р-оле-запись: XNUMXZ # XNUMX # XNUMX # XNUMX модификаторы Имя: cn = admin, dc = swl, dc = fan modifyTimestamp: XNUMXZ

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

корень @ мастер: ~ # nano /etc/ldap/ldap.conf
BASE dc = swl, dc = вентилятор URI    ldap: // локальный

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

Мы добавляем минимально необходимые организационные единицы, а также группу Posix «пользователи», в которую мы сделаем всех пользователей членами, по примеру многих систем, в которых есть группа «пользователей«. Мы называем его именем «пользователи», чтобы не вступать в возможные конфликты с группой «пользователь"системы.

корень @ мастер: ~ # nano base.ldif
dn: ou = люди, dc = swl, dc = поклонник, объектный класс: организационная единица ou: люди, dn: ou = группы, dc = swl, dc = фан, объектный класс: организационная единица, ou: группы dn: cn = пользователи, ou = группы, dc = swl, dc = вентилятор objectClass: posixGroup cn: пользователи gidNumber: 10000

корень @ мастер: ~ # 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 = people, dc = swl, dc = fan objectClass: organizationUnit ou: people

root @ master: ~ # ldapsearch -x ou = группы
# группы, swl.fan dn: ou = groups, dc = swl, dc = fan objectClass: organizationUnit ou: groups

root @ master: ~ # ldapsearch -x cn = пользователи
# пользователи, группы, swl.fan dn: cn = users, ou = groups, dc = swl, dc = fan objectClass: posixGroup cn: users gidNumber: 10000

Добавляем несколько пользователей

Пароль, который мы должны объявить в LDAP, должен быть получен с помощью команды slappasswd, который возвращает зашифрованный пароль SSHA.

Пароль для шагов пользователя:

корень @ мастер: ~ # slappasswd 
Новый пароль: повторно введите новый пароль: 
{SSHA}Fn8Juihsr137u8KnxGTNPmnV8ai//0lp

Пароль для пользователя legolas

корень @ мастер: ~ # slappasswd 
Новый пароль: повторно введите новый пароль: 
{SSHA}rC50/W3kBmmDd+8+0Lz70vkGEu34tXmD

Пароль для пользователя gandalf

корень @ мастер: ~ # slappasswd 
Новый пароль: повторно введите новый пароль: 
{США} 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 givenName : Legolas sn: Archer user Пароль: {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 given Gandalf sn: The Wizard user Пароль: {США} oIVFelqv8WIxJ40r12lnh3bp + SXGbV + u
uidNumber: 10002 gidNumber: 10000 почта: Гэндальф@swl.fan
gecos: Gandalf The Wizard вход в систему Оболочка: / bin / bash home Каталог: / home / gandalf

root @ master: ~ # ldapadd -x -D cn = admin, dc = swl, dc = fan -W -f users.ldif
Введите пароль LDAP: добавление новой записи "uid = strides, ou = people, dc = swl, dc = fan" добавление новой записи "uid = legolas, ou = people, dc = swl, dc = fan" добавление новой записи "uid = gandalf, ou = люди, dc = swl, dc = fan "

Проверяем добавленные записи

root @ master: ~ # ldapsearch -x cn = шаги
root @ master: ~ # ldapsearch -x uid = шаги

Управляем базой slpad консольными утилитами

Подбираем пакет ldapscripts для такой задачи. Порядок установки и настройки следующий:

root @ master: ~ # aptitude install ldapscripts
 
корень @ мастер: ~ # 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" LDAPDELETEBIN = " / usr / bin / ldapdelete "LDAPMODIFYBIN =" / usr / bin / ldapmodify "LDAPMODRDNBIN =" / usr / bin / ldapmodrdn "LDAPPASSWDBIN =" / usr / bin / ldappasswd "GCLASS =" posixGroup "# UTEMPLATE /ldapadduser.template "PASSWORDGEN =" echo% u "

Обратите внимание, что сценарии используют команды пакета ldap-утилиты. Бежать dpkg -L ldap-utils | grep / bin чтобы узнать, что они из себя представляют.

root @ master: ~ # sh -c "echo -n 'пароль-администратора'> \
/etc/ldapscripts/ldapscripts.passwd "
 
корень @ мастер: ~ # chmod 400 /etc/ldapscripts/ldapscripts.passwd
 
корень @ мастер: ~ # cp /usr/share/doc/ldapscripts/examples/ldapadduser.template.sample \
/etc/ldapscripts/ldapduser.template
 
корень @ мастер: ~ # nano /etc/ldapscripts/ldapadduser.template
dn: uid = , , objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: сп: собственное имя: sn: отображаемое имя: uidNumber: gidNumber: 10000 homeDirectory: loginShell: почта: @ swl.fan geckos: описание: Учетная запись пользователя
 
root @ master: ~ # nano /etc/ldapscripts/ldapscripts.conf
## удаляем комментарий UTEMPLATE = "/ etc / ldapscripts / ldapadduser.template"

Добавляем пользователя «bilbo» и делаем его членом группы «пользователи»

root @ master: ~ # пользователи ldapadduser bilbo
[dn: uid = bilbo, ou = people, dc = swl, dc = fan] Введите значение для "givenName": Bilbo [dn: uid = bilbo, ou = people, dc = swl, dc = fan] Введите значение для " sn ": Bagins [dn: uid = bilbo, ou = people, dc = swl, dc = fan] Введите значение для" displayName ": Bilbo Bagins Успешно добавил пользователя bilbo в LDAP. Успешно установлен пароль для пользователя bilbo.

корень @ мастер: ~ # 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 displayins uidNumber: 10003 gidNumber: 10000 homeDirectory: / home / bilbo loginShell: / bin / bash mail: bilbo@swl.fan
gecos: bilbo описание: Учетная запись пользователя

Чтобы увидеть хеш пароля пользователя bilbo, необходимо выполнить запрос с аутентификацией:

корень @ мастер: ~ # ldapsearch -x -D cn = admin, dc = swl, dc = fan -W uid = bilbo

Чтобы удалить пользователя bilbo, мы выполняем:

root @ master: ~ # ldapdelete -x -D cn = admin, dc = swl, dc = fan -W uid = bilbo, ou = people, dc = swl, dc = fan
Введите пароль LDAP:

корень @ мастер: ~ # ldapsearch -x uid = bilbo

Управляем базой данных slapd через веб-интерфейс

У нас есть действующая служба каталогов, и мы хотим, чтобы ею было проще управлять. Для этой задачи разработано множество программ, например, phpldapadmin, ldap-аккаунт-менеджери т. д., которые доступны прямо из репозиториев. Мы также можем управлять службой каталогов через Студия каталогов Apache, который мы должны загрузить из Интернета.

Для получения дополнительной информации, пожалуйста, посетите https://blog.desdelinux.net/ldap-introduccion/, и следующие 6 статей.

Клиент LDAP

Этап:

Скажем, у нас есть команда mail.swl.fan в качестве почтового сервера реализован как мы видели в статье Postfix + Dovecot + Squirrelmail и локальные пользователи, который, хотя и разработан на CentOS, вполне может служить руководством для Debian и многих других дистрибутивов Linux. Мы хотим, чтобы в дополнение к локальным пользователям, которых мы уже объявили, пользователи, хранящиеся в базе данных OpenLDAP, существующей в master.swl.fan. Для этого мы должны «составить карту»Пользователям LDAP как локальным пользователям на сервере mail.swl.fan. Это решение также применимо для любой службы, основанной на аутентификации PAM. Общий порядок Debian, это следующее:

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

  ┌─────────────────────┤ Конфигурация libnss-ldap ├───────────────────── │ Введите URI («Универсальный идентификатор ресурса» или │ │ Универсальный идентификатор ресурса) сервера LDAP. Эта строка похожа на │ │ «ldap: //: / ». Вы также можете │ │ использовать «ldaps: // » или "ldapi: //". Номер порта указывать необязательно. │ │ │ │ Рекомендуется использовать IP-адрес, чтобы избежать сбоя, когда услуги доменного имени недоступны. │ │ │ │ URI сервера LDAP: │ │ │ │ ldap: //master.swl.fan __________________________________________________ │ │ │ │ │ │ │ └──────────────────────────────────────────────── ────────────────────────────┘ ┌─────────────────────── ┤ Конфигурация libnss-ldap ├────────────────────── │ Введите отличительное имя (DN) базы поиска LDAP. Многие сайты используют компоненты доменного имени для этой цели. Например, домен «example.net» будет использовать │ │ «dc = example, dc = net» в качестве отличительного имени базы поиска. │ │ │ │ Отличительное имя (DN) базы поиска: │ │ │ │ dc = swl, dc = fan ____________________________________________________________ │ │ │ │ │ │ │ └──────────────────────────────────────────────── ──────────────────────────────┘ ┌──────────────────── ──┤ Конфигурация libnss-ldap ├────────────────────── │ Введите версию протокола LDAP, которую должен использовать ldapns. │ │ рекомендуется использовать самый высокий номер версии. │ │ │ │ Версия LDAP для использования: │ │ │ │                                     3                                     │ │ 2 │ │ │ │ │ │ │ │ │ └──────────────────────────────────────────────── ──────────────────────────────┘ ┌──────────────────── ──┤ Конфигурация libnss-ldap ├────────────────────── │ Выберите, какая учетная запись будет использоваться для запросов nss с │ │ привилегиями root. │ │ │ │ Примечание. Для того, чтобы эта опция работала, учетной записи необходимы разрешения для │ доступа к атрибутам LDAP, которые связаны с «теневыми» записями пользователя, а также к паролям пользователей и групп. . │ │ │ │ Учетная запись LDAP для root: │ │ │ │ cn = admin, dc = swl, dc = fan ___________________________________________________ │ │ │ │ │ │ │ └──────────────────────────────────────────────── ──────────────────────────────┘ ┌──────────────────── ──┤ Конфигурация libnss-ldap ├───────────────────── │ Введите пароль, который будет использоваться, когда libnss-ldap пытается │ │ аутентифицироваться в каталоге LDAP с учетной записью LDAP пользователя root. │ │ │ │ Пароль будет сохранен в отдельном файле │ │ ("/etc/libnss-ldap.secret"), доступ к которому будет иметь только root. │ │ │ │ Если вы введете пустой пароль, старый пароль будет использован повторно. │ │ │ │ Пароль для корневой учетной записи LDAP: │ │ │ │ ******** ________________________________________________________________ │ │ │ │ │ │ │ └──────────────────────────────────────────────── ─────────────────────────────┘ ┌───────────────────── ─┤ Конфигурация libnss-ldap ├──────────────────────┐ │ │ │ nsswitch.conf не управляется автоматически │ │ │ │ Вы должны изменить свой файл "/etc/nsswitch.conf" использовать источник данных LDAP, если вы хотите, чтобы пакет libnss-ldap работал. │ │ Вы можете использовать файл примера │ │ в "/usr/share/doc/libnss-ldap/examples/nsswitch.ldap" в качестве примера конфигурации nsswitch или │ │ вы можете скопировать его поверх вашей текущей конфигурации. │ │ │ │ Обратите внимание, что перед удалением этого пакета может быть удобно │ │ удалить записи «ldap» из файла nsswitch.conf, чтобы основные службы │ │ продолжали работать. │ │ │ │ │ │ │ └──────────────────────────────────────────────── ──────────────────────────────┘ ┌──────────────────── ──┤ Конфигурация libpam-ldap ├─────────────────────── │ │ │ Эта опция позволяет инструментам паролей, использующим PAM, изменять локальные пароли. │ │ │ Пароль учетной записи администратора LDAP будет храниться в отдельном файле, который может быть прочитан только администратором. │ │ │ │ Эта опция должна быть отключена при монтировании "/ etc" через NFS. │ │ │ │ Вы хотите разрешить учетной записи администратора LDAP действовать как │ │ локальный администратор? │ │ │ │                                            │ │ │ └──────────────────────────────────────────────── ──────────────────────────────┘ ┌──────────────────── ──┤ Конфигурация libpam-ldap ├──────────────────────┐ │ │ │ Выберите, будет ли сервер LDAP принудительно выполнять идентификацию перед получением записей Entradas │. │ │ │ │ Эта настройка требуется редко. │ │ │ │ Требуется ли пользователю доступ к базе данных LDAP? │ │ │ │                                               │ │ │ └──────────────────────────────────────────────── ──────────────────────────────┘ ┌──────────────────── ──┤ Конфигурация libpam-ldap ├───────────────────────┐ │ Введите имя учетной записи администратора LDAP. │ │ │ │ Эта учетная запись будет автоматически использоваться для управления базой данных │ │, поэтому она должна иметь соответствующие права администратора. │ │ │ │ Учетная запись администратора LDAP: │ │ │ │ cn = admin, dc = swl, dc = fan ___________________________________________________ │ │ │ │ │ │ │ └──────────────────────────────────────────────── ──────────────────────────────┘ ┌──────────────────── ──┤ Конфигурация libpam-ldap ├───────────────────────┐ │ Введите пароль для учетной записи администратора. │ │ │ │ Пароль будет сохранен в файле "/etc/pam_ldap.secret". Администратор будет единственным, кто сможет читать этот файл, и позволит │ │ libpam-ldap автоматически контролировать управление соединениями в базе данных. │ │ │ │ Если вы оставите это поле пустым, снова будет использован предыдущий сохраненный пароль │ │. │ │ │ │ Пароль администратора LDAP: │ │ │ │ ******** _________________________________________________________________ │ │ │ │ │ │ │ └──────────────────────────────────────────────── ──────────────────────────────  

root @ mail: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # Пример конфигурации функциональности переключателя службы имен GNU. # Если у вас установлены пакеты `glibc-doc-reference 'и` info', попробуйте: #` info libc "Name Service Switch" 'для получения информации об этом файле. passwd: compat LDAP
группа: compat LDAP
тень: совместимость LDAP
gshadow: файлы hosts: файлы dns сети: файлы протоколы: файлы db services: файлы db ethers: файлы 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). # вот модули для каждого пакета («Основной» блок) пароль [success = 2 default = ignore] pam_unix.so obscure sha512
пароль [success = 1 user_unknown = ignore default = die] pam_ldap.so try_first_pass
# вот запасной вариант, если ни один модуль не преуспел в пароле Requisite pam_deny.so # заполните стек положительным возвращаемым значением, если его еще нет; # это позволяет нам не возвращать ошибку только потому, что ничего не устанавливает код успеха # поскольку каждый из вышеперечисленных модулей будет просто обходить требуемый пароль pam_permit.so # а вот и другие модули для каждого пакета (блок "Additional") # конец pam- auth-update config

Если нам нужно локальный логин пользователей, хранящихся в LDAP, и мы хотим, чтобы их папки создавались автоматически главная, мы должны отредактировать файл /etc/pam.d/общая сессия и добавьте в конец файла следующую строку:

сеанс необязательный pam_mkhomedir.so skel = / etc / skel umask = 077

В примере службы каталогов OpenLDAP, разработанном ранее, единственным локальным пользователем, который был создан, был пользователь жужжание, а в LDAP мы создаем пользователей шаги, Леголас, Гэндальф, y ножные кандалы. Если сделанные до сих пор конфигурации верны, мы должны иметь возможность перечислить локальных пользователей и тех, которые отображаются как локальные, но хранятся на удаленном сервере LDAP:

root @ mail: ~ # getent passwd 
buzz: x: 1001: 1001: Buzz Первая ОС Debian ,,,: / home / buzz: / bin / bash
Шаги: x: 10000: 10000: Шаги Эль Рей: / home / strides: / bin / bash
леголас: x: 10001: 10000: Леголас Лучник: / home / legolas: / bin / bash
gandalf: x: 10002: 10000: Гэндальф Мастер: / home / gandalf: / bin / bash
бильбо: х: 10003: 10000: бильбо: / дом / бильбо: / бен / баш

После изменений в аутентификации системы можно перезапустить сервер, если мы не сталкиваемся с критической службой:

root @ mail: ~ # перезагрузка

Позже запускаем локальную сессию на сервере mail.swl.fan с учетными данными пользователя, хранящимися в базе данных LDAP master.swl.fan. Мы также можем попробовать авторизоваться через SSH.

buzz @ sysadmin: ~ $ ssh gandalf @ mail
Пароль gandalf @ mail: Создание каталога '/ home / gandalf'. Программы, входящие в состав системы Debian GNU / Linux, являются бесплатными; точные условия распространения для каждой программы описаны в отдельных файлах в / usr / share / doc / * / copyright. Debian GNU / Linux поставляется с АБСОЛЮТНО НИКАКИХ ГАРАНТИЙ, насколько это разрешено применимым законодательством.
gandalf @ mail: ~ $ su
пароль:

root @ mail: / home / gandalf # группа getent
buzz: x: 1001: пользователи: *: 10000:

root @ mail: / home / gandalf # выход
выход

gandalf @ mail: ~ $ ls -l / home /
всего 8 drwxr-xr-x 2 гудение гудение     4096 17 июня, 12:25 buzz drwx ------ 2 пользователи гэндальфа 4096 17 июня 13:05 гэндальф

Служба каталогов, реализованная на уровне сервера и клиента, работает корректно.

Kerberos

Из Википедии:

  • Kerberos - это протокол проверки подлинности компьютерной сети, созданный MIT Это позволяет двум компьютерам в незащищенной сети надежно подтверждать свою личность друг другу. Его разработчики сначала сосредоточились на модели клиент-сервер, которая обеспечивает взаимную аутентификацию: и клиент, и сервер проверяют идентичность друг друга. Сообщения аутентификации защищены от подслушивание y повторные атаки.

    Kerberos основан на криптографии с симметричным ключом и требует доверенной третьей стороны. Кроме того, существуют расширения протокола, позволяющие использовать криптографию с асимметричным ключом.

    Kerberos основан на Протокол Нидхема-Шредера. Он использует доверенную третью сторону, называемую «Центром распространения ключей» (KDC), который состоит из двух отдельных логических частей: «Сервер аутентификации» (AS или сервер аутентификации) и «сервер выдачи билетов» (TGS или сервер выдачи билетов). Kerberos работает на основе «билетов», которые служат для подтверждения личности пользователей.

    Kerberos поддерживает базу данных секретных ключей; Каждый объект в сети - будь то клиент или сервер - использует секретный ключ, известный только ему и Kerberos. Знание этого ключа служит для подтверждения личности объекта. Для связи между двумя объектами Kerberos генерирует сеансовый ключ, который они могут использовать для защиты своих проблем..

Недостатки Kerberos

De вылеченный:

Хотя Kerberos устраняет распространенную угрозу безопасности, ее сложно реализовать по ряду причин:

  • Перенос паролей пользователей из стандартной базы паролей UNIX, например / etc / passwd или / etc / shadow, в базу паролей Kerberos, может быть утомительным, и нет быстрого механизма для выполнения этой задачи.
  • Kerberos предполагает, что каждому пользователю доверяют, но он использует ненадежную машину в ненадежной сети. Его основная цель - предотвратить передачу незашифрованных паролей по сети. Однако, если какой-либо другой пользователь, кроме соответствующего пользователя, имеет доступ к билетной машине (KDC) для аутентификации, Kerberos окажется под угрозой.
  • Чтобы приложение могло использовать Kerberos, необходимо изменить код, чтобы он выполнял соответствующие вызовы библиотек Kerberos. Приложения, модифицированные таким образом, считаются керберизованными. Для некоторых приложений это может быть чрезмерно трудоемким программированием из-за размера приложения или его дизайна. Для других несовместимых приложений необходимо внести изменения в способ взаимодействия сетевого сервера и его клиентов; опять же, это может потребовать довольно много времени на программирование. В общем, приложения с закрытым исходным кодом, не поддерживающие Kerberos, обычно являются наиболее проблемными.
  • Наконец, если вы решите использовать Kerberos в своей сети, вы должны понимать, что это выбор типа «все или ничего». Если вы решите использовать Kerberos в своей сети, вы должны помнить, что если какие-либо пароли передаются службе, которая не использует Kerberos для аутентификации, вы рискуете перехватить пакет. Таким образом, ваша сеть не получит никакой выгоды от использования Kerberos. Чтобы защитить вашу сеть с помощью Kerberos, вы должны использовать только керберизованные версии всех клиент-серверных приложений, которые отправляют незашифрованные пароли или не использовать какие-либо из этих приложений в сети..

Внедрение и настройка OpenLDAP в качестве серверной части Kerberos вручную - непростая задача. Однако позже мы увидим, что Samba 4 Active Directory - контроллер домена прозрачным образом интегрируется для системного администратора, DNS-сервера, сети Microsoft и его контроллера домена, сервера LDAP в качестве Back-End почти всех своих объектов, и служба проверки подлинности на основе Kerberos как фундаментальные компоненты Active Directory в стиле Microsoft.

На сегодняшний день у нас не было необходимости внедрять «Керберизованную сеть». Вот почему мы не писали о том, как реализовать Kerberos.

Samba 4 Active Directory - контроллер домена

Внимание:

Нет лучшей документации, чем сайт wiki.samba.org. Сисадмин должен посетить этот сайт - на английском языке - и просмотреть большое количество страниц, полностью посвященных Samba 4, написанных самой Team Samba. Я не верю, что в Интернете есть документация, способная заменить его. Кстати, обратите внимание на количество посещений, отображаемое внизу каждой страницы. Примером этого является посещение вашей главной страницы или «главной страницы». 276,183 раз до сегодняшнего дня, 20 июня 2017 г., 10:10 по восточному поясному времени. Кроме того, документация постоянно обновляется, так как эта страница была изменена 6 июня..

Из Википедии:

Samba - это бесплатная реализация протокола совместного использования файлов Microsoft Windows (ранее называвшегося SMB, а недавно переименованного в CIFS) для UNIX-подобных систем. Таким образом, возможно, что компьютеры с GNU / Linux, Mac OS X или Unix в целом будут выглядеть как серверы или действовать как клиенты в сетях Windows. Samba также позволяет проверять пользователей как первичный контроллер домена (PDC), как член домена и даже как домен Active Directory для сетей на базе Windows; помимо возможности обслуживать очереди печати, общие каталоги и аутентифицироваться с помощью собственного пользовательского архива.

Среди Unix-подобных систем, на которых может работать Samba, есть дистрибутивы GNU / Linux, Solaris и различные варианты BSD среди что мы можем найти Mac OS X Server от Apple.

Samba 4 AD-DC со своим внутренним DNS

  • Мы начинаем с чистой установки - без графического интерфейса - Debian 8 "Jessie"..

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

root @ master: ~ # имя хоста
мастер
root @ master: ~ # имя хоста --fqdn
master.swl.fan
корень @ мастер: ~ # ip адрес
1: что: mtu 65536 qdisc noqueue state UNKNOWN group default link / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 inet 127.0.0.1/8 scope host lo valid_lft навсегда предпочтительный_lft навсегда inet6 :: 1/128 хост области действия valid_lft навсегда предпочтительный_lft навсегда 2: eth0: mtu 1500 qdisc pfifo_fast состояние НЕИЗВЕСТНО группа по умолчанию qlen 1000 link / ether 00: 0c: 29: 80: 3b: 3f brd ff: ff: ff: ff: ff: ff
    inet 192.168.10.5/24 brd 192.168.10.255 область действия global eth0
       valid_lft навсегда предпочтительный_lft навсегда inet6 fe80 :: 20c: 29ff: fe80: 3b3f / 64 ссылка области действия valid_lft навсегда предпочтительный_lft навсегда
корень @ мастер: ~ # cat /etc/resolv.conf
поиск swl.fan nameserver 127.0.0.1
  • С которой мы объявляем ветку main только для наших целей этого более чем достаточно.
корень @ мастер: ~ # cat /etc/apt/sources.list
дебютантка http://192.168.10.1/repos/jessie-8.6/debian/ Джесси main
дебютантка http://192.168.10.1/repos/jessie-8.6/debian/security/ Джесси / обновления main

Postfix от Exim и утилит

root @ master: ~ # aptitude install postfix htop mc deborphan

  ┌───────────────────────── Конфигурация постфикса ├────────────────────── ────┐ │ Выберите тип конфигурации почтового сервера, который наилучшим образом соответствует вашим │ потребностям. │ │ │ │ Без конфигурации: │ │ Сохраняет текущую конфигурацию без изменений. │ │ Интернет-сайт: │ │ Почта отправляется и принимается напрямую через SMTP. │ │ Интернет с «smarthost»: │ │ Почта принимается напрямую через SMTP или с помощью такого инструмента, как │ como fetchmail. Исходящая почта отправляется с использованием │ │ "smarthost". │ │ Только локальная почта: │ │ Доставляется единственная почта для локальных пользователей. Нет │ есть сеть. │ │ │ │ Общий тип конфигурации почты: │ │ │ │ Без конфигурации │ │ Интернет-сайт │ │ Интернет с "smarthost" │ │ Спутниковая система │ │                         Только местная почта                                │ │ │ │ │ │                                     │ │ │ └──────────────────────────────────────────────── ─────────────────────────────┘ ┌───────────────────── ─────┤ Конфигурация постфикса ├────────────────────────── "Имя почтовой системы" - это имя домена, который │ │ используется для «квалификации» _ВСЕХ адресов электронной почты без доменного имени. Это включает в себя почту в "root" и из него: пожалуйста, не заставляйте │ │ ваше устройство отправлять электронные письма от root@example.org до │ │ меньше чем root@example.org спросил. │ │ │ │ Другие программы будут использовать это имя. Это должно быть уникальное полное доменное имя (FQDN). │ │ │ │ Следовательно, если адрес электронной почты на локальном компьютере - │ │ something@example.org, правильным значением для этой опции будет example.org. │ │ │ │ Имя почтовой системы: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ │ └──────────────────────────────────────────────── ──────────────────────────────  

Мы убираем

root @ master: ~ # чистка способностей ~ c
корень @ мастер: ~ # aptitude install -f
корень @ мастер: ~ # чистота
корень @ мастер: ~ # aptitude autoclean

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

root @ master: ~ # aptitude install acl attr autoconf bison \
Сборка-необходимый debhelper dnsutils docbook-xml docbook-xsl flex gdb \
krb5-пользователь libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev \
libcap-dev libcups2-dev libgnutls28-dev libjson-perl \
libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl\
libpopt-dev libreadline-dev perl модули perl pkg-config \
python-all-dev python-dev python-dnspython python-crypto\
xsltproc zlib1g -dev libgpgme11 -dev python -gpgme python -m2crypto \
libgnutls28-dbg ldap-utils krb5-конфигурация

 ┌───────────────┤ Настройка проверки подлинности Kerberos ├──────────────── │ Когда пользователи пытаются использовать Kerberos и указать имя │ принципала или пользователя без уточнения, к какому административному домену Kerberos принадлежит принципал │,, система принимает область │ │ по умолчанию.  Область по умолчанию также может использоваться как область службы Kerberos, работающая на локальном компьютере.  │ │ Обычно область по умолчанию - это имя локального DNS-домена в верхнем регистре.  │ │ │ │ Область по умолчанию Kerberos версии 5: │ │ │ │ SWL.FAN __________________________________________________________________ │ │ │ │ │ │ │ └──────────────────────────────────────────────── ──────────────────────────────┘ ┌──────────────── Настройка аутентификации Kerberos ├───────────────┐ │ Введите имена серверов Kerberos в области SWL.FAN │ │ Kerberos, разделенные пробелами.  │ │ │ │ Серверы Kerberos для вашей области: │ │ │ │ master.swl.fan ___________________________________________________________ │ │ │ │ │ │ │ └──────────────────────────────────────────────── ──────────────────────────────┘ ┌──────────────── Настройка аутентификации │ Введите имя административного сервера (изменение пароля) │ │ для области Kerberos SWL.FAN.   

Вышеупомянутый процесс занял немного времени, потому что у нас еще не установлены службы DNS. Однако вы правильно выбрали домен по настройкам файла / Etc / хостов. Помните, что в файле / Etc / resolv.conf мы объявили в качестве сервера доменного имени IP 127.0.0.1.

Теперь мы настраиваем файл / etc / ldap / ldap / conf

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

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

корень @ мастер: ~ # nano .ldaprc
BINDDN CN = администратор, CN = пользователи, DC = swl, DC = вентилятор

Файловая система должна поддерживать ACL - список контроля доступа.

корень @ мастер: ~ # nano / etc / fstab
# / etc / fstab: информация о статической файловой системе. # # Используйте 'blkid' для вывода универсального # уникального идентификатора устройства; это можно использовать с UUID = как более надежный способ присвоения имен устройствам #, который работает, даже если диски добавляются и удаляются. См. Fstab (5). # # # / был на / dev / sda1 во время установки UUID = 33acb024-291b-4767-b6f4-cf207a71060c / ext4 user_xattr, acl, барьер = 1, noatime, errors = remount-ro 0 1
# swap был на / dev / sda5 во время установки UUID = cb73228a-615d-4804-9877-3ec225e3ae32 none swap sw 0 0 / dev / sr0 / media / cdrom0 udf, iso9660 user, noauto 0 0

корень @ мастер: ~ # монтировать -a

root @ master: ~ # touch testing_acl.txt
root @ master: ~ # setfattr -n user.test -v test test_acl.txt
корень @ мастер: ~ # setfattr -n security.test -v test2 testing_acl.txt
корень @ мастер: ~ # getfattr -d testing_acl.txt
# файл: testing_acl.txt user.test = "test"

корень @ мастер: ~ # getfattr -n security.test -d testing_acl.txt
# файл: testing_acl.txt security.test = "test2"

корень @ мастер: ~ # setfacl -mg: adm: rwx testing_acl.txt

root @ master: ~ # getfacl testing_acl.txt
# файл: testing_acl.txt # владелец: root # группа: root user :: rw- group :: r-- group: adm: rwx mask :: rwx other :: r--

Мы получаем исходный код Samba 4, компилируем его и устанавливаем

Настоятельно рекомендуется скачать исходный файл версии. Стабильный с сайта https://www.samba.org/. В нашем примере мы скачиваем версию самба-4.5.1.tar.gz к папке / неавтоматического.

root @ master: ~ # cd / opt
корень @ мастер: / opt # wget https://download.samba.org/pub/samba/stable/samba-4.5.1.tar.gz
корень @ мастер: / opt # tar xvfz samba-4.5.1.tar.gz
корень @ мастер: / opt # cd samba-4.5.1 /

Варианты конфигурации

Если мы хотим настроить параметры конфигурации, мы выполняем:

корень @ мастер: /opt/samba-4.5.1# ./настроить --помощь

и с особой тщательностью выбираем те, которые нам нужны. Желательно проверить, можно ли установить загруженный пакет в используемом нами дистрибутиве Linux, которым в нашем случае является Debian 8.6 Jessie:

корень @ мастер: /opt/samba-4.5.1# . / Настроить не проверять

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

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

Приведенные ниже команды являются классическими для компиляции и установки пакетов из их источников. Мы должны набраться терпения, пока длится весь процесс. Это единственный способ получить достоверные и правильные результаты.

корень @ мастер: /opt/samba-4.5.1# ./configure --with-systemd --отключаемые чашки
корень @ мастер: /opt/samba-4.5.1# сделать
корень @ мастер: /opt/samba-4.5.1# сделать установку

Во время командного процесса сделать, мы видим, что исходники Samba 3 и Samba 4 скомпилированы. Вот почему Team Samba утверждает, что ее версия 4 является естественным обновлением версии 3, как для контроллеров домена на основе Samba 3 + OpenLDAP, так и файловые серверы или более старые версии Samba 4.

Подготовка Samba

Мы будем использовать в качестве DNS САМБА_ВНУТРЕННИЙ. En https://wiki.samba.org/index.php?title=Samba_Internal_DNS_Back_End мы найдем больше информации. Когда они спрашивают у нас пароль пользователя-администратора, мы должны ввести один из минимум 8 символов, а также буквы - прописные и строчные - и цифры.

Прежде чем продолжить настройку и облегчить жизнь, мы добавляем путь исполняемых файлов Samba в нашем файле .bashrcЗатем закрываем и снова авторизуемся.

корень @ мастер: ~ # 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 / самба / бен "

root @ master: ~ # exit logout Соединение с мастером закрыто. xeon @ системный администратор: ~ $ ssh root @ master

root @ master: ~ # предоставление домена samba-tool --use-rfc2307 --interactive
Царство [SWL.FAN]: SWL.ВЕНТИЛЯТОР
 Домен [SWL]: SWL
 Роль сервера (dc, участник, автономный) [dc]: dc
 Серверная часть DNS (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [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 Добавление DomainDN: DC = swl, DC = fan Добавление контейнера конфигурации Настройка схемы sam.ldb Настройка данных конфигурации sam.ldb Настройка спецификаторов дисплея Изменение спецификаторов дисплея Добавление контейнера пользователей Изменение контейнера пользователей Добавление контейнера компьютеров Изменение контейнера компьютеров Настройка данных sam.ldb Настройка известных участников безопасности Настройка пользователей и групп sam.ldb Настройка самостоятельного присоединения Добавление учетных записей DNS Создание CN = MicrosoftDNS, CN = System, DC = swl, DC = fan Создание разделов DomainDnsZones и ForestDnsZones Заполнение разделов DomainDnsZones и ForestDnsZones Настройка sam.ldb rootDSE маркировки как синхронизированной Исправление идентификаторов GUID обеспеченияКонфигурация Kerberos, подходящая для Samba 4, была сгенерирована в /usr/local/samba/private/krb5.conf Настройка поддельных настроек сервера yp После установки указанных выше файлов ваш сервер Samba4 будет готов к использованию роли сервера: домен активного каталога контроллер Имя хоста: master NetBIOS Domain: SWL DNS Domain: swl.fan DOMAIN SID: S-1-5-21-32182636-2892912266-1582980556

Не забудьте скопировать файл конфигурации Kerberos, как указано в выводе Резервирование:

корень @ мастер: ~ # cp /usr/local/samba/private/krb5.conf /etc/krb5.conf

Чтобы не вводить команду самба-инструмент с вашим полным именем создаем символьную ссылку с коротким именем инструмент:

корень @ мастер: ~ # ln -s / usr / local / samba / bin / samba-tool / usr / local / samba / bin / tool

Устанавливаем NTP

Фундаментальной частью Active Directory является сетевая служба времени. Поскольку проверка подлинности выполняется через Kerberos и его билеты, синхронизация времени с Samba 4 AD-DC имеет жизненно важное значение.

root @ master: ~ # aptitude install ntp
корень @ мастер: ~ # mv /etc/ntp.conf /etc/ntp.conf.original

корень @ мастер: ~ # nano /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift ntpsigndsocket / usr / local / samba / var / lib / ntp_signd statistics loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegenstats file clockstats тип time enable server 192.168.10.1 restrict -4 по умолчанию kod notrap nomodify nopeer noquery restrict -6 default kod notrap nomodify nopeer noquery restrict default mssntp restrict 127.0.0.1 restrict :: 1 broadcast 192.168.10.255

root @ master: ~ # перезапуск службы ntp
root @ master: ~ # статус службы ntp

корень @ мастер: ~ # хвост -f / var / log / syslog

Если при осмотре системный журнал используя указанную выше команду или используя журналctl -f получаем сообщение:

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

мы должны перезапустить службу и повторить попытку. Теперь создаем папку ntp_signd:

корень @ мастер: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
ls: невозможно получить доступ к / usr / local / samba / var / lib / ntp_signd: файл или каталог не существует

корень @ мастер: ~ # mkdir / usr / local / samba / var / lib / ntp_signd
корень @ мастер: ~ # chown корень: 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
корень @ мастер: ~ # ls -ld / usr / local / samba / var / lib / ntp_signd
drwxr-x --- 2 root ntp 4096 19 июня, 12:21 / usr / local / samba / var / lib / ntp_signd

Настраиваем запуск Samba с помощью systemd

корень @ мастер: ~ # 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 status samba-ad-dc
root @ master: ~ # systemctl status ntp

Расположение файлов Samba 4 AD-DC

ВСЕминус недавно созданный samba-ad-dc.service- файлы находятся в:

корень @ мастер: ~ # 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 включают
drwxr-sr-x 15 root Staff 4096 19 июня, 11:33 Lib
drwxr-sr-x 7 root Staff 4096 19 июн, 12:40 частная
drwxr-sr-x 2 root Staff 4096 19 июн, 11:33 SBIN
drwxr-sr-x 5 root Staff 4096 19 июн, 11:33 Share
drwxr-sr-x 8 root Staff 4096 19 июн, 12:28 вар

в лучшем стиле UNIX. Всегда рекомендуется просматривать различные папки и изучать их содержимое.

Файл /Usr/local/samba/etc/smb.conf

корень @ мастер: ~ # нано /usr/local/samba/etc/smb.conf 
# Глобальные параметры [global] netbios name = MASTER realm = SWL.FAN workgroup = SWL dns forwarder = 8.8.8.8 server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate , роль DNS-сервера = контроллер домена Active Directory разрешить обновления DNS = только безопасный idmap_ldb: использовать rfc2307 = yes idmap config *: backend = tdb idmap config *: range = 1000000-1999999 Сервер LDAP требует строгой аутентификации = no printcap name = / dev / null [netlogon] path = /usr/local/samba/var/locks/sysvol/swl.fan/scripts только для чтения = Нет [sysvol] path = / usr / local / samba / var / locks / sysvol только для чтения = Нет

корень @ мастер: ~ # testparm
Загрузите файлы конфигурации smb из /usr/local/samba/etc/smb.conf Раздел обработки "[netlogon]" Раздел обработки "[sysvol]" Загруженный файл служб в порядке. Роль сервера: ROLE_ACTIVE_DIRECTORY_DC. Нажмите Enter, чтобы увидеть дамп определений ваших сервисов. # Глобальные параметры [global] realm = SWL.FAN workgroup = SWL dns forwarder = 192.168.10.1 Сервер ldap require strong auth = No passdb backend = роль сервера samba_dsdb = активный каталог контроллер домена rpc_server: tcpip = no rpc_daemon: spoolssd = встроенный rpc_server: spoolss = встроенный rpc_server: winreg = встроенный rpc_server: ntsvcs = встроенный rpc_server: eventlog = встроенный rpc_server: srvsvc_server = внешний_использовать rvc_server: внешний_сервер rvc = внешний_использовать rvc_serv = внешний_использовать rvc_serv = использовать внешний rvc_serv внешние каналы = 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 / scripts только для чтения = Нет [sysvol] path = / usr / local / samba / var / locks / sysvol только для чтения = Нет

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

root @ master: ~ # показать уровень домена инструмента
Уровень функций домена и леса для домена 'DC = swl, DC = fan' Уровень функции леса: (Windows) 2008 R2 Уровень функции домена: (Windows) 2008 R2 Самый низкий функциональный уровень контроллера домена: (Windows) 2008 R2

корень @ мастер: ~ # ldapsearch -x -W

root @ master: ~ # инструмент dbcheck
Проверка 262 объекта Проверено 262 объекта (0 ошибок)

root @ master: ~ # администратор kinit
Пароль для Администратор@SWL.FAN: 
корень @ мастер: ~ # klist -f
Кэш билетов: ФАЙЛ: / tmp / krb5cc_0
Первичное значение по умолчанию: Администратор@SWL.FAN

Срок действия истекает Сервис главная 19 06:17:12 53 24:19:06  krbtgt/SWL.FAN@SWL.FAN
    продлить до 20 06:17:12, флаги: RIA

корень @ мастер: ~ # kdestroy
корень @ мастер: ~ # klist -f
klist: файл кэша учетных данных '/ tmp / krb5cc_0' не найден

корень @ мастер: ~ # smbclient -L localhost -U%
Домен = [SWL] OS = [Windows 6.1] Сервер = [Samba 4.5.1] Sharename Тип Комментарий --------- ---- ------- netlogon Disk sysvol Disk IPC $ IPC IPC Служба (Samba 4.5.1) Домен = [SWL] OS = [Windows 6.1] Сервер = [Samba 4.5.1] Комментарий сервера --------- ------- Мастер рабочей группы ---- ----- -------

корень @ мастер: ~ # smbclient // localhost / netlogon -UAdministrator -c 'ls'
Введите пароль администратора: Домен = [SWL] ОС = [Windows 6.1] Сервер = [Samba 4.5.1]. D 0 Пн 19 июня 11:50:52 2017 .. D 0 Пн 19 июня 11:51:07 2017 19091584 блока размером 1024. Доступно 16198044 блока

root @ master: ~ # инструмент dns serverinfo master -U администратор

корень @ мастер: ~ # хост -t SRV _ldap._tcp.swl.fan
_ldap._tcp.swl.fan имеет запись SRV 0 100 389 master.swl.fan.

корень @ мастер: ~ # хост -t SRV _kerberos._udp.swl.fan
_kerberos._udp.swl.fan имеет запись SRV 0 100 88 master.swl.fan.

root @ master: ~ # host -t Мастер.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

корень @ мастер: ~ # хост -t NS swl.fan
swl.fan сервер имен master.swl.fan.

root @ master: ~ # host -t MX swl.fan
swl.fan не имеет записи MX

корень @ мастер: ~ # samba_dnsupdate --verbose

root @ master: ~ # список пользователей инструмента
Администратор krbtgt Гость

root @ master: ~ # список групп инструментов
# На выходе получается набор групп. ;-)

Управляем только что установленной Samba 4 AD-DC

Если мы хотим изменить срок действия пароля администратора в днях; сложность паролей; минимальная длина пароля; минимальный и максимальный срок действия пароля в днях; и измените пароль администратора, объявленный во время Резервирование, мы должны выполнить следующие команды с значения адаптированы к вашим потребностям:

root @ master: ~ # инструмент
Использование: samba-tool Главный инструмент администрирования самбы. Опции: -h, --help показать это справочное сообщение и выйти из версии Опции: -V, --version Показать номер версии Доступные подкоманды: dbcheck - Проверить локальную базу данных AD на наличие ошибок. Delegation - Управление делегированием. dns - Управление службой доменных имен (DNS). domain - Управление доменом. drs - Управление службами репликации каталогов (DRS). dsacl - управление списками ACL DS. fsmo - Гибкое управление ролями операций с одним ведущим (FSMO). gpo - Управление объектами групповой политики (GPO). group - Управление группой. ldapcmp - Сравните две базы данных ldap. ntacl - манипуляции с NT ACL. процессы - список процессов (для облегчения отладки в системах без setproctitle). rodc - управление контроллером домена только для чтения (RODC). сайты - Управление сайтами. spn - Управление основным именем службы (SPN). testparm - проверка синтаксиса файла конфигурации. time - Получить время на сервере. user - Управление пользователями. Чтобы получить дополнительную помощь по конкретной подкоманде, введите: samba-tool (-h | --help)

root @ master: ~ # инструмент пользователь setexpiry administrator --noexpiry
root @ master: ~ # набор настроек пароля домена инструмента --min-pwd-length = 7
root @ master: ~ # набор настроек пароля домена инструмента --min-pwd-age = 0
root @ master: ~ # набор настроек пароля домена инструмента --max-pwd-age = 60
root @ master: ~ # инструмент setpassword пользователя --filter = samaccountname = Администратор --newpassword = Passw0rD

Добавляем несколько записей DNS

root @ master: ~ # инструмент dns
Использование: samba-tool dns Управление службой доменных имен (DNS). Параметры: -h, --help показать это справочное сообщение и выйти. Доступные подкоманды: add - Добавить запись DNS, удалить - Удалить запрос записи DNS - Запросить имя. roothints - запрашивает корневые подсказки. serverinfo - запрос информации о сервере. update - Обновить DNS-запись zonecreate - Создать зону. zonedelete - Удалить зону. zoneinfo - Запрос информации о зоне. zonelist - Запрос зон. Чтобы получить дополнительную помощь по конкретной подкоманде, введите: samba-tool dns (-h | --help)

Почтовый сервер

root @ master: ~ # tool dns add master swl.fan mail A 192.168.10.9 -U администратор
root @ master: ~ # инструмент 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 администратор
root @ master: ~ # tool dns add master swl.fan fileserver A 192.168.10.10 -U администратор
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 администратор

Обратная зона

root @ master: ~ # инструмент 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. -Uадминистратор
root @ master: ~ # инструмент dns add master 10.168.192.in-addr.arpa 9 PTR mail.swl.fan. -Uадминистратор
root @ master: ~ # tool dns add master 10.168.192.in-addr.arpa 1 PTR sysadmin.swl.fan. -Uадминистратор
root @ master: ~ # инструмент dns add master 10.168.192.in-addr.arpa 10 PTR fileserver.swl.fan. -Uадминистратор
root @ master: ~ # tool dns add master 10.168.192.in-addr.arpa 11 PTR proxy.swl.fan. -Uадминистратор
root @ master: ~ # tool dns add master 10.168.192.in-addr.arpa 12 PTR chat.swl.fan. -Uадминистратор

Проверяет

root @ master: ~ # инструмент dns query master swl.fan mail ALL -U администратор
Пароль для [SWL \ administrator]: Name =, Records = 1, Children = 0 A: 192.168.10.9 (flags = f0, serial = 2, ttl = 900)

root @ master: ~ # хост-мастер
master.swl.fan имеет адрес 192.168.10.5
root @ master: ~ # системный администратор хоста
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.

Для любопытных

корень @ мастер: ~ # ldbsearch -H /usr/local/samba/private/sam.ldb.d/ \
DC = DOMAINDNSZONES, DC = SWL, DC = FAN.ldb | grep dn:

Добавляем пользователей

root @ master: ~ # пользователь инструмента
Использование: пользователь samba-tool Управление пользователями. Параметры: -h, --help показать это справочное сообщение и выйти. Доступные подкоманды: add - Создать нового пользователя. create - Создать нового пользователя. delete - Удалить пользователя. disable - отключить пользователя. enable - Включить пользователя. getpassword - Получить поля пароля учетной записи пользователя / компьютера. list - список всех пользователей. пароль - изменить пароль для учетной записи пользователя (тот, который указан при аутентификации). setexpiry - Установить срок действия учетной записи пользователя. setpassword - установка или сброс пароля учетной записи пользователя. syncpasswords - синхронизировать пароли учетных записей пользователей. Чтобы получить дополнительную помощь по конкретной подкоманде, введите: samba-tool user (-h | --help)

root @ master: ~ # инструмент пользователь создает транкос Trancos01
Пользователь "транкос" успешно создан
root @ master: ~ # инструмент user create gandalf Gandalf01
Пользователь gandalf успешно создан
root @ master: ~ # инструмент пользователя создать legolas Legolas01
Пользователь "леголас" успешно создан
root @ master: ~ # список пользователей инструмента
Администратор гэндальф леголас страйдс 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-адрес самба-ад-дк, и убедитесь, что опция «Зарегистрировать адрес этого соединения в DNS» активирована. Не праздно проверить, что имя «семь»Еще не зарегистрирован во внутреннем DNS Samba.

После того как мы подключим компьютер к домену и перезапустим его, попробуем авторизоваться под пользователем «шаги«. Проверим, все ли работает нормально. Также рекомендуется проверить журналы клиента Windows и проверить, насколько правильно синхронизируется время.

Администраторы, имеющие некоторый опыт работы с Windows, обнаружат, что любые проверки, которые они проводят на клиенте, дают удовлетворительные результаты.

Резюме

Надеюсь, статья будет полезна читателям Сообщества. DesdeLinux.

До свидания!


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

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

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

    Длинная, но подробная статья, очень хорошая пошаговая инструкция, как все делать.

    Я подчеркиваю NIS, правда в том, что, хотя я знаю о его существовании, я никогда не знал, как он работает, поскольку, честно говоря, у меня всегда создавалось впечатление, что он практически мертв рядом с LDAP и Samba 4.

    PS: Поздравляю с новым личным проектом! Жалко, что вы не собираетесь продолжать здесь писать, но, по крайней мере, есть куда подписаться на вас.

  2.   HO2Gi сказал

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

  3.   IWO сказал

    Раздел NIS великолепен, я сочувствую Гонсало Мартинесу, я знал его кратко, но понятия не имел, как его реализовать и в каких ситуациях он используется.
    Еще раз спасибо за огромный «ствол» теоретической и практической статьи.
    Наконец-то новые успехи в вашем новом проекте «gigainside».

  4.   Federico сказал

    Всем большое спасибо за комментарий !!!.
    привет

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

    smb.conf, который вы показываете, не имеет связи с LDAP, это сделано намеренно или я что-то оставил?

  6.   Я получаю сказал

    mussol: Это контроллер домена Active Directory Samba 4, который уже имеет встроенный LDAP-сервер.

  7.   Vincent сказал

    Не могли бы вы прокомментировать, как объединить мак (яблоко) в самбу 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.
    корень @ AD: ~ #