Joining a Debian Client to Active Directory
Note: This walkthrough was taken almost entirely from https://help.ubuntu.com/community/ActiveDirectoryWinbindHowto. A few configuration changes in the PAM section and verbiage used are the only differences. More work is required to make this Debian-specific.
Required Software/Packages
Name |
Version |
MS Server 2003 w/AD and DNS |
2003 Standard |
GNU/Linux |
(Debian 6.0 or later) |
Winbind |
2:3.6.6-3 |
Samba |
2:3.6.6-3 |
Krb5-user |
1.10.1+dfsg-2 |
Libpam-krb5 |
4.6-1 |
libpam-winbind |
|
libnss-winbind |
Time settings
Kerberos requires that the device time be within a few minutes of the server time. See NTP to find out how to keep clocks up-to-date.
FQDN
A valid FQDN is necessary for Kerberos and AD. Edit the local host file so that it is resolvable.
Location: /etc/hosts
127.0.0.1 linux.test.server.com localhost linux
Configure Kerberos
Use apt-get install to install the following packages:
krb5-user libpam-krb5
krb5 template Location: /etc/krb5.conf
[logging] Default = FILE:/var/log/krb5.log [libdefaults] ticket_lifetime = 24000 clock-skew = 300 default_realm = test.server.com # dns_lookup_realm = false # dns_lookup_kdc = true [realms] test.example.com = { kdc = example.test.server.com:88 admin_server = example.test.server.com:464 default_domain = test.server.com } [domain_realm] .server.com = test.server.com server.com = test.server.com
Test your configuration by requesting a ticket
root@linux:~# kinit Administrator@test.server.com Password for Administrator@test.server.com : ****
Use klist to verify request worked
root@linux:~# klist Ticket cache: File: /tmp/krb5cc_0 Default principal: Administrator@test.server.com Valid starting Expires Service principal 05/16/07 10:30:42 05/16/07 20:30:01 Krbtgt/test.server.com@test.server.com renew until 05/16/07 10:30:42
Join the Domain
Use apt-get install to install the following packages:
winbind samba
Join Location: /etc/samba/smb.conf
[global] security = ads realm = test.server.com password server = 10.0.0.1 workgroup = test # winbind separator = + idmap uid = 10000-20000 idmap gid = 10000-20000 winbind enum users = yes winbind enum groups = yes template homedir = /home/%D/%U template shell = /bin/bash client use spnego = yes client ntlmv2 auth = yes encrypt passwords = yes winbind use default domain = yes restrict anonymous = 2 domain master = no local master = no preferred master = no os level = 0
Restart services
root@linux:~# /etc/init.d/winbind stop root@linux:~# /etc/init.d/samba restart root@linux:~# /etc/init.d/winbind start
Request Kerberos TGT for an account
root@linux:~# net ads join Using short domain name – test Joined ‘Linux’ to realm ‘test.server.com’
Test
# wbinfo -u
Setup Authentication
nsswitch Location: /etc/nsswitch.conf
passwd: compat winbind group: compat winbind shadow: compat
Test
root@linux:~# getent passwd root:x:0:0:root:/root:/bin/bash . . . test+administrator:x:10000:10000:Administrator:/home/test/administrator:/bin/b… test+gast:x:10001:10001:Gast:/home/LAB/gast:/bin/bash . . .
root@linux:~#: getent group root:x:0: daemon:x:1: bin:x:2: . . . test+organizations-admins:x:10005:administrator test+domain-admins:x:10006: user, administrator . . .
PAM
Location: /etc/pam.d/common-account
account sufficient pam_winbind.so account required pam_unix.so
Location: /etc/pam.d/common-auth
auth sufficient pam_winbind.so auth sufficient pam_unix.so nullok_secure use_first_pass auth required pam_deny.so
Location: /etc/pam.d/common-session
session required pam_unix.so session required pam_mkhomedir.so umask=0022 skel=/etc/skel
Location: /etc/pam.d/sudo
Auth sufficient pam_winbind.so Auth sufficient pam_unix.so use_first_pass Auth required pam_deny.so @include common-account
Final Config
Each domain needs a directory in home
root@linux:~# mkdir /home/test Login login: test+user password: **** . . . test+user@linux:~$
unix-linux:debian:buster:join-debian-linux-10-buster-to-active-directory-domain-with-sssd-realmd-with-ad-security-group-authorization-in-pam-for-console-login-and-ssh-sso-putty-and-apache-kerberos-auth
Содержание
Подключение Debian GNU/Linux 10 (Buster) к домену Active Directory с помощью SSSD/realmd и настройка PAM для аутентификации и авторизации sshd/Apache
Подробное описание процедуры присоединения компьютера с Debian GNU/Linux к домену Active Directory с помощью SSSD и realmd можно найти здесь. Рекомендуется предварительно ознакомится с этим материалом, а также с замечаниями по настройке SSSD в Debian GNU/Linux.
Здесь приведён сокращённый план действий по присоединению Debian GNU/Linux 10 (Buster) к домену Active Directory с помощью SSSD и realmd.
Подготовка
В первую очередь необходимо обеспечить правильную работу DNS-клиента и настроить синхронизацию времени с источниками, используемыми в Active Directory. Эти моменты важны для правильной работы протокола Kerberos.
Соответствующие настройки описаны в статьях:
Выполним команду присвоения полного доменного имени в качестве имени хоста, так как по умолчанию в Debian 10 в качестве hostname используется имя узла без доменной части. Это позволит избежать некоторых проблем при вводе компьютера в домен с помощью realmd:
# hostname KOM-SRV01.sub.holding.com
Дополнительно необходимо отредактировать файл /etc/hosts
и указать там в качестве IP адреса хоста адрес одного из сетевых интерфейсов.
То есть, строку вида:
- hosts
-
... 127.0.1.1 KOM-SRV01 ...
заменяем на строку вида:
- hosts
-
... 10.1.0.3 KOM-SRV01.sub.holding.com KOM-SRV01 ...
Если требуется, предварительно создаём в домене учётную запись компьютера
Установка realmd/SSSD и ввод в домен
Устанавливаем пакеты необходимые для ввода в домен:
# apt-get install realmd sssd-tools sssd libnss-sss libpam-sss adcli packagekit -y
Выполняем обнаружение информации о домене, которое должно отработать без ошибок:
# realm discover sub.holding.com --verbose
Настраиваем информацию о компьютере, которая будет передана в каталог Active Directory при присоединении к домену.
# nano /etc/realmd.conf
- realmd.conf
-
[active-directory] os-name = Debian GNU/Linux os-version = 10.1 (Buster)
Выполняем присоединение компьютера к домену Active Directory:
# realm join --verbose --user=adm-petya --user-principal="host/kom-srv01.sub.holding.com@SUB.HOLDING.COM" --computer-ou="OU=Linux Servers,OU=KOM,DC=sub,DC=holding,DC=com" kom-dc01.sub.holding.com
Поддержка Kerberos
Устанавливаем клиентское ПО поддержки Kerberos:
# apt-get install krb5-user -y
Проверяем наличие и содержимое keytab-файла. В нём, как минимум, должны быть записи типа host/*
# klist -e -k -t /etc/krb5.keytab
Настраиваем конфигурацию клиента Kerberos:
# nano -Y sh /etc/krb5.conf
Пример настроенного файла:
- krb5.conf
-
[libdefaults] dns_lookup_kdc = no dns_lookup_realm = no ticket_lifetime = 24h renew_lifetime = 7d forwardable = true rdns = false default_realm = SUB.HOLDING.COM # for Windows 2008 with AES default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5 default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5 permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5 [realms] SUB.HOLDING.COM = { kdc = kom-dc01.sub.holding.com kdc = kom-dc02.sub.holding.com admin_server = kom-dc01.sub.holding.com default_domain = sub.holding.com } [domain_realm] .sub.holding.com = SUB.HOLDING.COM sub.holding.com = SUB.HOLDING.COM
Конфигурация SSSD
Настраиваем конфигурацию SSSD:
# nano /etc/sssd/sssd.conf
Пример настроенной конфигурации:
- sssd.conf
-
[sssd] domains = sub.holding.com config_file_version = 2 services = nss, pam default_domain_suffix = sub.holding.com [domain/sub.holding.com] ad_server = kom-dc01.sub.holding.com, kom-dc02.sub.holding.com ad_backup_server = prm-dc01.sub.holding.com, ekb-dc02.sub.holding.com ad_domain = sub.holding.com ad_gpo_access_control = disabled krb5_realm = SUB.HOLDING.COM realmd_tags = manages-system joined-with-adcli cache_credentials = True id_provider = ad krb5_store_password_if_offline = True default_shell = /bin/bash ldap_id_mapping = True ldap_idmap_default_domain_sid = S-1-5-21-2599488624-3617735854-14887588928 ldap_idmap_range_size = 2000000 ldap_use_tokengroups = False use_fully_qualified_names = True fallback_homedir = /home/%u@%d access_provider = ad subdomains_provider = none dyndns_update = False debug_level = 0
Перезапускаем службу с очисткой кеша sssd:
# ( systemctl stop sssd ) && ( rm -f /var/lib/sss/db/* ) && ( rm -f /var/lib/sss/mc/* ) && ( systemctl start sssd )
Выполняем проверку возможности извлечения информации из каталога Active Directory.
Получаем информацию о любой доменной группе безопасности:
# getent group kom-servers-admins@sub.holding.com
Получаем информацию о любом доменной пользователе:
# id adm-petya # getent passwd adm-petya
PAM и домашний каталог
PAM и доступ на консоль
Создадим свой файл для перечисления учётных записей (доменных и локальных), которым будет разрешёно подключение к консоли компьютера:
# nano -Y sh /etc/security/access-groups-to-login
- access-groups-to-logi
-
sudo root kom-servers-admins@sub.holding.com
Ограничим доступ к файлу:
# chown root:root /etc/security/access-groups-to-login # chmod 600 /etc/security/access-groups-to-login
Отредактируем модуль PAM, определяющий права доступа к консоли компьютера:
# nano -Y sh /etc/pam.d/login
Вставляем перед блоком со строкой @include common-account
ссылку на вызов авторизации через созданный нами файл (access-groups-to-login
)
- login
-
... # Restricted access to service from local and domain groups account required pam_listfile.so onerr=fail item=group sense=allow file=/etc/security/access-groups-to-login ...
Выполняем проверку входа в систему, используя разрешённую и неразрешённую доменную учётную запись. При этом отслеживаем происходящее в механизмах аутентификации/авторизации через системный лог auth.log
# tail -f /var/log/auth.log
PAM и доступ к SSH
Отредактируем PAM-модуль, отвечающий за настроку авторизации при подключении через службу сервера SSH
# nano -Y sh /etc/pam.d/sshd
Вставляем перед блоком со строкой @include common-account
ссылку на вызов авторизации через созданный нами файл (access-groups-to-login
)
- sshd
-
... # Restricted access to service from local and domain groups account required pam_listfile.so onerr=fail item=group sense=allow file=/etc/security/access-groups-to-login ...
Выполняем проверку входа в систему через SSH, используя разрешённую и неразрешённую доменную учётную запись. При этом отслеживаем происходящее в механизмах аутентификации/авторизации через системный лог auth.log
# tail -f /var/log/auth.log
PAM и доступ к Apache
Пример создания собственного PAM-модуля для других служб, например, для организации доменной аутентфикации/авторизации в веб-сервере Apache:
Создадим свой файл для перечисления учётных записей (доменных и локальных), которым будет разрешёно подключение к веб-серверу:
# nano -Y sh /etc/security/access-groups-to-web
- access-groups-to-web
-
kom-servers-admins@sub.holding.com kom-web-admins@sub.holding.com
Создадим конфигурационный файл — PAM-модуль
# nano -Y sh /etc/pam.d/apache2
- apache2
-
auth required pam_sss.so account required pam_listfile.so onerr=fail item=group sense=allow file=/etc/security/access-groups-to-web account required pam_sss.so
Ограничим доступ к файлам:
# chown root:root /etc/pam.d/apache2 # chmod 644 /etc/pam.d/apache2 # chown root:root /etc/security/access-groups-to-web # chmod 600 /etc/security/access-groups-to-web
SSHD и PuTTy
SUDO
Разрешаем sudo для доменных учётных записей.
Создадим отдельный файл для выдачи прав выполнять sudo доменным учётным записям:
# nano -Y sh /etc/sudoers.d/kom-srv-linux-admins
Пример содержимого файла с одной доменной группой доступа, которой разрешено выполнять sudo без ограничений:
- kom-srv-linux-admins
-
%kom-servers-admins@sub.holding.com ALL=(ALL) ALL
Ограничим доступ к файлу
# chmod 0440 /etc/sudoers.d/kom-srv-linux-admins
Расширение keytab
В случае необходимости настроки Kerberos аутентификациии в домене Active Directory, возможно потребуется дополнительная настройка keytab-файла на Linux системе.
Пример команд добавления SPN-записи типа HTTP/*
(для поддержки доменной аутентификации Kerberos на веб-сервере)
Подключаемся к keytab-файлу и получаем информацию о SPN-запиях в нём и текущем номере kvno (нужен для ключа -k
)
# ktutil
read_kt /etc/krb5.keytab list -k -e
Добавляем записи поддержки Kerberos для веб-сервера (при запросе хешей указываем те же, что указаны для уже существующих SPN-записей)
add_entry -key -p HTTP/kom-srv01.sub.holding.com@SUB.HOLDING.COM -k 3 -e aes256-cts-hmac-sha1-96 add_entry -key -p HTTP/kom-srv01.sub.holding.com@SUB.HOLDING.COM -k 3 -e aes128-cts-hmac-sha1-96 add_entry -key -p HTTP/kom-srv01.sub.holding.com@SUB.HOLDING.COM -k 3 -e des3-cbc-sha1 add_entry -key -p HTTP/kom-srv01.sub.holding.com@SUB.HOLDING.COM -k 3 -e arcfour-hmac add_entry -key -p HTTP/kom-srv01.sub.holding.com@SUB.HOLDING.COM -k 3 -e des-cbc-md5 add_entry -key -p HTTP/kom-srv01.sub.holding.com@SUB.HOLDING.COM -k 3 -e des-cbc-crc
Перечиваем результат и записываем изменения в keytab-файл:
list -k -e write_kt /etc/krb5.keytab exit
Проверяем результат:
# klist -e -k -t /etc/krb5.keytab
Проверяем есть ли нужная SPN-запись в домене (на Windows-машине, присоединённой к домену)
setspn -L kom-srv01
Если записи нет, можем добавить (требуются права уровня доменный администратор)
setspn -A HTTP/kom-srv01.sub.holding.com sub.holding.comkom-srv01
Apache и PAM с Kerberos
Более подробно описанный пример настройки можно найти в статье Настройка Kerberos аутентификации с SSO на веб-сервере Apache с помощью SSSD
Настраиваем конфигурацию Apache для поддержки аутентификации Kerberos
Установка пакетов поддержки PAM/Kerberos в Apache:
# apt-get install libapache2-mod-auth-kerb libapache2-mod-authnz-pam
Включение модулей Apache:
# apache2ctl -M | grep -E "kerb|pam"
Пример файла конфигурации Apache:
# nano -Y sh /etc/apache2/sites-available/000-default.conf
В данном примере в Apache для доступа к веб-серверу Apache вызывается настроенный нами ранее PAM-модуль apache2
(через файл /etc/pam.d/apache2
)
PAM-модуль в свою очередь вызывает для процедуры аутентификации SSSD и выполняет авторизацию через файл /etc/security/access-groups-to-web
- 000-default.conf
-
... ServerAdmin webmaster@localhost DocumentRoot /var/www/html <Directory "/var/www/html"> AuthType Kerberos AuthName "Kerberos Login" Krb5Keytab /etc/krb5.keytab KrbMethodK5Passwd off Require pam-account apache2 </Directory> …
Не забываем на строне Linux-сервера настроить доступ к keytab-файлу
# chown root:www-data /etc/krb5.keytab # chmod 640 /etc/krb5.keytab
Перезепускаем службу веб-сервера и проверяем результат:
# systemctl restart apache2 # systemctl status apache2
Финиш
По завершении всех процедур настройки можно вернуть имя хоста в исходное состояние, «привычное» для Debain.
# hostname KOM-SRV01
После завершения настройки перезагружаем Linux-сервере, чтобы убедиться в успешном автоматическом запуске SSSD и последующей корректной работы аутентификации/авторизации на базе доменных учётных записей.
Дополнительные источники информации:
Проверено на следующих конфигурациях:
Версия ОС |
---|
Debian GNU/Linux 10.1 (Buster) |
Автор первичной редакции:
Алексей Максимов
Время публикации: 13.09.2019 16:43
Для упрощения добавления Ubuntu или Debian в домен Active Directory вместо связки samba+winbind можно использовать пакет realmd (Realm Discovery), который позволяет автоматически настроить службу SSSD (System Security Services Daemon) в Linux. Эта статья применима для Ubuntu 20.04/22.04 и Debian 10/11.
Прежде всего обновите пакеты на вашем хосте Linux:
$ sudo apt -y update
Выведите текущее имя хоста:
$ hostnamectl
Если нужно, измените имя хоста:
$ sudo hostnamectl set-hostname ubnt22.vmblog.ru
Проверьте, что в Linux корректно настроен клиент DNS и он указывает на ваши контроллеры домена AD:
# cat /etc/resolv.conf
nameserver 192.168.42.10 nameserver 192.168.142.10 search vmblog.ru
Т.к. пакет SSSD используется Kerberos для аутентификации, убедиться, что у вас корректно настроен NTP клиент и настроена синхронизация времени с контроллерами домена AD. Можно настроить так:
$ sudo systemctl status systemd-timesyncd
$ sudo nano /etc/systemd/timesyncd.conf
NTP=192.168.42.10
$ sudo systemctl restart systemd-timesyncd
Установите необходимые пакеты:
$ apt -y install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit
Проверьте, что ваш хост может обнаружить домен AD:
$ realm discover vmblog.ru --verbose
vmblog.ru type: kerberos realm-name: VMBLOG.RU domain-name: vmblog.ru configured: no server-software: active-directory client-software: sssd required-package: sssd-tools required-package: sssd required-package: libnss-sss required-package: libpam-sss required-package: adcli required-package: samba-common-bin
Вы можете задать атрибуты вашего хоста Linux, которые нужно сохранить в учетной записи компьютера в Active Directory (атрибуты operatingSystem и operatingSystemVersion):
$ nano /etc/realmd.conf
[active-directory] os-name = Ubuntu GNU/Linux os-version = 22.04 (Jammy Jellyfish)
Для добавления Linux хоста в домен Active Directory вам понадобится учетная запись AD с правами администратора домена (или пользователь, которому делегированы права на добавление компьютеров в домен).
В самом простом случае для добавления хоста Ubuntu/Debian в домен достаточно выполнить команду:
$ sudo realm join -U apetrov vmblog.ru
Введите пароль доменного пользователя.
По умолчанию для вашего хоста Linux будет создана учетная запись компьютера AD в корневом OU (Organizational Unit) с именем Computers. Вы можете сразу поместить вам хост в нужную OU. Для этого используйте другую команду добавления в домен:
$ sudo realm join --verbose --user=apetrov --computer-ou="OU=Linux Servers,OU=HQ,DC=vmblog,DC=ru" vmblog.ru
Проверьте, что ваш хост теперь находится в домене AD:
$ sudo realm list
type: kerberos realm-name: VMBLOG.RU domain-name: vmblog.ru configured: kerberos-member server-software: active-directory client-software: sssd required-package: sssd-tools required-package: sssd required-package: libnss-sss required-package: libpam-sss required-package: adcli required-package: samba-common-bin login-formats: %U@vmblog.ru login-policy: allow-realm-logins
Чтобы автоматически создавать домашний каталог пользователям, выполните:
sudo bash -c "cat > /usr/share/pam-configs/mkhomedir" <<EOF
Name: activate mkhomedir
Default: yes
Priority: 900
Session-Type: Additional
Session:
required pam_mkhomedir.so umask=0022 skel=/etc/skel
EOF
$ sudo pam-auth-update
Выберите пункт activate mkhomedir.
Проверьте конфигурацию sssd в файле:
$ cat /etc/sssd/sssd.conf
Чтобы применить изменения из файла sssd.conf, нужно перезапустить службу:
$ systemctl status sssd
Теперь вы может выполнить аутентификацию в Linux с помощью учетной записи Active Directory (указывается в формате UPN: user@vmblog.ru).
Проверьте, что вы можете получить информацию о пользователе AD:
$ id apetrov@vmblog.ru
Можно переключиться на пользователя:
su - apetrov@vmblog.ru
Creating directory '/home/apetrov@vmblog.ru'. apetrov@vmblog.ru@ubnt22:~$
Чтобы разрешить доменным пользователям вход на хост Linux (консоль+SSH), выполните:
$ realm permit apetrov1@vmblog.ru ivanov2@vmblog.ru
Или разрешить доступ для пользователей доменных групп безопасности:
$ ream permit -g LinuxAdmins@vmblog.ru
Чтобы разрешить, запретить доступ всем пользователям домена:
$ sudo realm permit --all
$ sudo realm deny --all
Вы можете разрешить определенным пользователям и группам повышать привилегии с помощью sudo. Создайте файл:
$ sudo nano /etc/sudoers.d/linux-admins
Добавьте в него пользователей и/или группы, которым разрешено sudo:
%LinuxAdminx@vmblog.ru ALL=(ALL) ALL aivanov@vmblog.ru ALL=(ALL) ALL
Измените права на файл:
$ chmod 0440 /etc/sudoers.d/linux-admins
Теперь попробуйте аутентифицироваться на вашем Linux хосте с доменной учетной записью.
Процесс добавления rpm-based дистрибутивов (CentOS/Rocky Linux/RHEL/Fedora) в домен Active Directory немного отличается и описан в отдельной статье.
!!!
Есть утилита для ввода в домен likewise можно ввести в домен с помощью ее и дальше не читать. |
ссылки
http://insidedeb.blogspot.ru/2011/10/debian-squeeze-active-directory.html вот тут решение |
0. Редактируем файл /etc/resolv.conf
Вписываем наш контроллер домена в /etc/resolv.conf nano /etc/resolv.conf Должно получиться примерно следующее: search domain.local nameserver 192.168.0.100 Проверим резолвится ли КД по FQDN имени: ping server.domain.local Если всё нормально,переходим к следующему шагу |
1. Установим пакет NTP
apt—get update apt—get install ntp Для синхронизации времени с контроллером домена внесём изменения в файл /etc/ntp.conf nano /etc/ntp.conf Нужно найти строку в конфигурации: # You do need to talk to an NTP server or two (or three). и добавть туда ваши контроллеры домена: # You do need to talk to an NTP server or two (or three). #server ntp.your-provider.example server server server.domain.local Пере запускаем и тестируем: invoke—rc.d ntp restart ntpq —p |
2. Установим Kerberos:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
apt—get install krb5—user libkrb53 При установке ничего не меняем, оставляем всё по умолчанию. Настроим kerberos: cp /etc/krb5.conf /etc/krb5.conf.default cat /dev/null > /etc/krb5.conf nano /etc/krb5.conf Минимальная конфигурация: [libdefaults] default_realm = DOMAIN.LOCAL dns_lookup_kdc = no dns_lookup_realm = no ticket_lifetime = 24h default_keytab_name = FILE:/etc/krb5.keytab ; for Windows 2003 default_tgs_enctypes = rc4—hmac des—cbc—crc des—cbc—md5 default_tkt_enctypes = rc4—hmac des—cbc—crc des—cbc—md5 permitted_enctypes = rc4—hmac des—cbc—crc des—cbc—md5 ; for Windows 2008 with AES ; default_tgs_enctypes = aes256—cts—hmac—sha1—96 rc4—hmac des—cbc—crc des—cbc—md5 ; default_tkt_enctypes = aes256—cts—hmac—sha1—96 rc4—hmac des—cbc—crc des—cbc—md5 ; permitted_enctypes = aes256—cts—hmac—sha1—96 rc4—hmac des—cbc—crc des—cbc—md5 [realms] EXAMPLE.LOCAL = { kdc = server.domain.local kdc = server2.example.local admin_server = server.domain.local default_domain = domain.local } [domain_realm] .domain.local = DOMAIN.LOCAL domain.local = DOMAIN.LOCAL Соответственно раскомментируйте строки если у вас 2008 КД. И не забудьте поменять названия доена на актуальное. |
3. Теперь попробуем подключиться к домену:
kinit Administrator Проверим как прошло подключение и получили ли мы билет: klist Если всё прошло удачно, то переходим к следующему пункту. |
4. Установим samba:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
apt—get install winbind samba Далее приведу минимально необходимый конфиг самбы: nano /etc/samba/smb.conf ———————— [global] realm = DOMAIN.LOCAL workgroup = DOMAIN netbios name = server disable spoolss = Yes show add printer wizard = No security = ads idmap uid = 10000—20000 idmap gid = 10000—20000 template shell = /bin/bash template homedir = /home/%D/%U winbind use default domain = yes [share] comment = Write for Domain Users path = /media/samba/share browseable = yes writable = yes create mask = 0664 directory mask = 0777 valid users = @«DOMAINdomain admins», @«DOMAINdomain users» write list = @«DOMAINdomain admins», @«DOMAINdomain users» ———————— Перезапустим самбу и winbind /etc/init.d/samba restart /etc/init.d/winbind restart |
5. Изменим настройки в конфге /etc/nsswitch.conf
nano /etc/nsswitch.conf Приводим к следующему виду: passwd: files winbind group: files winbind shadow: files winbind hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 winbind networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis Применяем изменения: ldconfig |
6. Ввод в домен
Теперь для ввода в домен выполняем следующую команду net ads join —U Administrator Вводим пароль администратора. На этом настройка завершена. Пере запускаем самбу и винбинд, и убеждаемся в том что Debian видит доменные учётки: wbinfo —u Если есть необходимость логиниться в Debian с учетными данными из АД, то необходимо так же поправить конфигурацию PAM. |
Привет друзья!. самба позволяет нам объединиться Debian к Домен Microsoft двумя разными способами, которые в основном зависят от того, как мы объявляем опцион безопасность в архиве smb.conf.
Индекс
- 1 Безопасность = Домен
- 2 Пример основных параметров сети
- 3 Минимальные требования в контроллере домена
- 4 Минимальные требования к машине Debian
- 5 Устанавливаем необходимые пакеты и настраиваем
- 6 Присоединяем Debian к домену и делаем проверки
- 7 Мы разрешаем авторизацию пользователей домена в нашем Debian
- 8 /etc/pam.d/common-auth
- 9 /etc/pam.d/общая сессия
- 10 Советы при работе с настольными компьютерами
Безопасность = Домен
Машина должна присоединиться к домену с помощью команды чистое соединение rpc. Параметр зашифровать пароли в архиве smb.conf, должен быть установлен на правда o Да, что является его значением по умолчанию.
самба Он проверит учетные данные пользователя и пароля, передав их контроллеру домена точно так же, как и контроллеру типа NT 4.
Безопасность = Домен так мы будем развиваться в этой статье.
Безопасность = ADS: В этом режиме самба будет действовать как член домена в Королевстве (Область) Active Directory. Для этого необходимо, чтобы на машине Debian был установлен и настроен клиент. Kerberos, и что он присоединен к Active Directory с помощью команды чистая реклама присоединиться.
Этот режим НЕ заставляет Samba работать как контроллер домена Active Directory.
Мы увидим:
- Пример основных параметров сети
- Минимальные требования в контроллере домена
- Минимальные требования к машине Debian
- Устанавливаем необходимые пакеты и настраиваем
- Присоединяем Debian к домену и делаем необходимые проверки
- Мы разрешаем авторизацию пользователей домена в нашем Debian
- Советы при работе с настольными компьютерами
Пример основных параметров сети
- Контроллер домена: Windows 2003 Server SP2 Enterprise Edition.
- Имя контроллера:w2003
- Доменное имя: friends.cu
- Контроллер IP: 10.10.10.30
- —————
- Версия Debian: Сожмите (6.0.7) [: — $ cat / etc / debian_version]
- Название команды: ошибиться
- IP-адрес: 10.10.10.15
- Версия Samba: 2: 3.5.6 ~ dfsg-3squeeze9
- Версия Winbind: 2: 3.5.6 ~ dfsg-3squeeze9
- Среда рабочего стола GNOME с GDM3
- —————
- Версия Debian: Уизи 7.0
- Название команды: миуизи
- IP-адрес: 10.10.10.20
- Версия Samba: 2: 3.6.6-6
- Версия Winbind: 2: 3.6.6-6
- Среда рабочего стола Xfce4 с GDM3
Минимальные требования в контроллере домена
Метод, описанный в этой статье, изначально был протестирован на контроллере домена, настроенном из «ClearOS Enterprise 5.2 SP-1» на CentOS, и все работало правильно. Излишне говорить, что это бесплатное программное обеспечение.
Мы будем ссылаться на контроллер домена Корпоративная версия Microsoft Windows Server 2003 SP2, используется во многих кубинских компаниях. Извините, у меня нет установочного диска версии сервер 2008 или более продвинутый. Мне простят английский, но единственный установщик у меня на этом языке.
Пожалуйста, прочтите статью Самба: SmbClient опубликованы на этом же сайте, чтобы они имели представление о пользователях, созданных в контроллере домена.
Если мы используем фиксированный IP-адрес для нашего Debian, мы должны объявить запись типа «A» и соответствующую ей запись в обратной зоне в DNS контроллера домена.
Когда мы работаем в сети с компьютерами Linux и Windows, всегда рекомендуется включать службу WINS (Служба имен в Интернете Windows) предпочтительно в контроллере домена.
Минимальные требования к машине Debian
Файл / Etc / resolv.conf должен иметь следующий контент:
поиск по серверу имен amigos.cu 10.10.10.30
Выполняем:
$ hostname -f misqueeze.friends.cu $ dnsdomainname friends.cu $ host w2003 w2003.friends.cu имеет адрес 10.10.10.30 $ dig -x 10.10.10.30 [----] ;; РАЗДЕЛ ОТВЕТОВ: 30.10.10.10.in-addr.arpa. 1200 В PTR w2003.amigos.cu. [----]
Устанавливаем необходимые пакеты и настраиваем
# aptitude install samba winbind smbclient finger
Во время установки пакета самба, нас попросят указать название рабочей группы, которое в нашем примере ДРУЗЬЯ.
Сохраняем исходный файл smb.conf а затем опустошаем его:
# cp /etc/samba/smb.conf /etc/samba/smb.conf.original # cp / dev / null /etc/samba/smb.conf
Редактируем файл smb.conf и оставляем его со следующим содержанием:
[global] ### Сетевой браузер - Идентификация ### workgroup = FRIENDS server string =% h server wins server = 10.10.10.30 dns proxy = no ### Network Connection ### interfaces = 127.0.0.0/8 eth0 bind interfaces only = yes hosts allow = 10.10.10.0/255.255.255.0 ### Отладка ### log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = / usr / share / samba / panic-action% d ### АУТЕНТИФИКАЦИЯ ### security = домен шифрование паролей = да локальный мастер = нет мастер домена = нет предпочтительного мастера = нет ### Winbind ### winbind uid = 15000-20000 winbind gid = 15000-20000 шаблон оболочки = / bin / bash winbind использовать домен по умолчанию = Да winbind rpc only = yes winbind offline logon = yes ### Разное ### неверные пользователи = корневой шаблон homedir = / home /% D /% U ресурсы реестра = Нет # кодировка unix = ISO-8859-1 # отображение кодировки = ISO-8859 -1
Проверяем базовый синтаксис файла smb.conf:
#testparm
Редактируем файл /etc/nsswitch.conf и модифицируем следующие строки:
[----] пароль: файлы winbind группа: файлы winbind shadow: compat hosts: files dns wins [----]
Присоединяем Debian к домену и делаем проверки
# service winbind stop # service samba restart # service winbind start # net rpc join -U Administrator # service winbind stop # service samba restart # service winbind start # net rpc testjoin -U Administrator # net rpc info -U Administrator # wbinfo -u # wbinfo -g # finger trancos # getent passwd trancos # getent group "Пользователи домена"
Конечно, учетная запись компьютера будет правильно создана в контроллере домена.
На данный момент мы убедились, что можем получить правильную информацию о Домене, а также о его пользователях.
В следующих статьях мы узнаем, как совместно использовать ресурсы, чтобы их могли использовать пользователи, зарегистрированные в Домене, то есть, что мы можем обслуживать файлы для пользователей домена Microsoft, как с рабочей станции, так и с выделенного сервера.
Мы разрешаем авторизацию пользователей домена в нашем Debian
Когда мы устанавливаем пакет Winbind, Debian автоматически настраивает подключаемые модули аутентификации или Подключаемые модули аутентификации ПАМ.
Однако, если мы попытаемся запустить сеанс в качестве пользователя домена, либо через SSH, либо через графический сеанс, мы получим сообщение «Ошибка аутентификации».
Это потому, что файлы модулей PAM, в частности Common-auth был создан, включая аутентификацию через Kerberos, который НЕ используется, когда мы объявляем безопасность = домен в архиве smb.conf.
Чтобы начать сеанс через SSH или графический интерфейс, мы должны вручную изменить файлы:
- /etc/pam.d/common-auth
- /etc/pam.d/общая сессия
/etc/pam.d/common-auth
Удаляем из строки, которая относится к pam_winbind.so, параметры, относящиеся к krb5. Эта часть будет выглядеть так:
[----] # вот модули для каждого пакета («Основной» блок) auth [success = 2 default = ignore] pam_unix.so nullok_secure auth [success = 1 default = ignore] pam_winbind.so cached_login try_first_pass [----]
/etc/pam.d/общая сессия
[----] требуется сеанс pam_mkhomedir.so skel = / etc / skel / umask = 0022 ### Вышеупомянутая строка должна быть включена ДО # здесь модулей для каждого пакета («Основной» блок) [----]
Перезапускаем задействованные сервисы
# service winbind stop # ervice samba restart # service winbind start # service ssh restart
Вышеупомянутые модификации файлов конфигурации PAM позволят пользователям домена инициировать сеанс SSH или локально на нашей рабочей станции Debian.
Домашние каталоги каждого пользователя также будут созданы при первом входе в систему. Личные папки или каталоги будут созданы в / главная / ДОМЕН / пользователь-домен.
Если при графическом входе возникают какие-либо трудности, мы рекомендуем перезапустить графический менеджер входа (gdm3, KDMи т. д.), а если этого недостаточно, перезагрузите рабочую станцию.
Чтобы ограничить или ограничить доступ через SSH к нашему Debian, мы должны отредактировать файл / И т.д. / SSH / sshd_config и в конце добавить:
AllowUsers myuser-local strides root
В нашем примере шаги — это пользователь домена, которому мы хотим разрешить вход через SSH, а Xeon является локальным пользователем.
Мы также можем включить в файл / и т.д. / sudoers используя команду visudo, одному или нескольким пользователям домена.
[----] # Спецификация привилегий пользователя root ALL = (ВСЕ) ВСЕ xeon ALL = (ВСЕ) ВСЕ шаги ВСЕ = (ВСЕ) ВСЕ [----]
Советы при работе с настольными компьютерами
В том случае, если мы хотим работать на настольном компьютере или рабочей станции с графическим входом и графической средой, мы должны сделать пользователей домена, которые будут входить локально, членами как минимум следующих групп: компакт-диск, дискета, аудио, видео y plugdev. Если мы используем модем для подключения к внешней сети, мы также должны сделать их членами группы окунуть.
В случае Squeeze, если мы хотим удалить список пользователей в начале графического сеанса, в случае gdm3 мы редактируем файл /etc/gdm3/greeter.gconf-по умолчанию, и раскомментируйте вариант / apps / gdm / simple-greeter / disable_user_list, и меняем его значение на правда.
Мы надеемся, что они не увидят то, что объясняется сложным или дьявольским. Всегда помните, что при использовании Samba Suite в Linux мы практически эмулируем практически все функции Windows, касающиеся сетей SMB / CIFS … и немного больше. Microsoft предоставляет «Безопасность» в обмен на Тьму. Со своей стороны, Linux, хотя на первый взгляд кажется немного сложным, обеспечивает безопасность, прозрачность и свободу.
Что там читать? Усилия того стоят!
На сегодня мероприятие окончено, Друзья. До следующего приключения !!!.
примечание: Мы протестировали процедуру, описанную на трех уровнях функциональности домена Microsoft, а именно: смешанный, собственный 2000 и собственный 2003.
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Learn how to bind a Debian Linux-based server to an Active Directory (AD) domain without purchasing third-party software.
Contents
- Prepare the network
- Prepare the Linux server
- Join the AD domain
- Verifying the domain join
- Wrap-up
Let’s imagine that you manage a fleet of Debian Linux servers in your Active Directory Domain Services (AD DS) environment. Your goal is to join the Linux systems to the domain to make possible truly centralized user, group, device, and resource management.
In performing preliminary research, you discover Centrify Authentication Service, a retail product that does indeed enable deep Linux integration with AD, including cross-platform Group Policy management. The problem? You can’t afford the license cost, naturally.
Today I’ll teach you how to join Debian Linux machines to AD by using only native tools. The upside to this procedure is that it’s free; the downside is that you have to perform all housekeeping and management setup tasks manually.
Prepare the network
Joining an AD DS domain involves several Ethernet data streams that make use of various TCP/IP protocols and port IDs. Here’s the «rogues’ gallery» of traffic you’ll need to allow on your host firewalls and network traffic control devices to allow the domain join to take place:
- UDP/TCP 135: Domain controller intercommunication
- UDP 138; TCP 139: File Replication Service (FRS)
- UDP/TCP 389: Lightweight Directory Access Protocol (LDAP)
- UDP/TCP 445: FRS
- UDP/TCP 464: Kerberos password change
- TCP 3268,3269: Global catalog (GC)
- UDP/TCP 53: Domain Name System (DNS)
Because I was unable to get my Debian Linux hosts to register their DNS records dynamically, I created the host (A) records manually on one of my AD domain controllers.
I also added the IP addresses of my domain controllers to the /etc/hosts file on the Linux servers to ensure they could resolve their names.
Prepare the Linux server
I chose to constrain today’s discussion to Debian Linux because the AD join process varies a bit from one Linux distribution to another. On your candidate Linux host, fire up a terminal session and run the following command to install the realmd system:
sudo apt-get install realmd -y
The realmd system provides a nice front-end to discover and interact with identity domains (specifically Kerberos realms) such as AD.
We then use the realm command as a «Swiss Army knife» utility; we’ll start by using the command to discover our AD domain. In my lab environment, my AD domain name is timw.info.
tim@linux1:~$ sudo realm discover timw.info timw.info type: kerberos realm-name: TIMW.INFO domain-name: timw.info configured: no server-software: active-directory client-software: sssd required-package: sssd-tools required-package: sssd required-package: libnss-sss required-package: libpam-sss required-package: adcli required-package: samba-common-bin
Aha—we have some missing software dependencies. You will next need to install each of them in turn by using this pattern:
sudo apt-get install <package-name> -y
Of those dependent packages, the System Security Services Daemon (SSSD) takes center stage because it provides the underlying authentication and authorization framework for Linux interactions with AD.
Join the AD domain
Ok, let’s do this! Run the following command, substituting your own AD domain name and your own domain user account (note: not a Linux local account!) that has privilege enough to join workstations to a domain:
sudo realm join timw.info -U 'pat' --install=/' --verbose
The -U parameter specifies the user account under whose security context the domain join occurs. I found that unless I added the «—install=/» clause, the realm command bombed out, complaining that I had missing dependency packages I knew were successfully installed. Ah, Linux…
If you have other errors (I had one that said «Server not found in Kerberos database»), you should add the following data to /etc/krb5.conf:
[libdefaults] rdns = false
The following screenshot shows the output Debian gave me during a successful domain join:
My Linux server now belongs to my AD domain
Next, we’ll run realm again, this time to allow all AD users to log into the Linux machine:
sudo realm permit --realm timw.info --all
Finally, we’ll need to enable Kerberos authentication over Secure Shell (SSH) by setting the following options in /etc/ssh/sshd_config:
#Kerberos options KerberosAuthentication yes KerberosOrLocalPasswd yes KerberosTicketCleanup yes KerberosGetAFSToken yes KerberosUseKuserok yes # GSSAPI options GSSAPIAuthentication yes GSSAPICleanupCredentials yes
Verifying the domain join
As you can see in the following figure, my Linux server has a computer account in my AD domain.
Linux server in an AD domain
At this point you can test logging into the Linux server by using an AD user account. If the login is successful, Debian should create a home directory for the user account. Be sure to use the -l (login) parameter so you can pass the User Principal Name (UPN) format of the AD user:
Subscribe to 4sysops newsletter!
ssh -l 'pat@timw.info' linux1.timw.info
Wrap-up
As I mentioned at the start of this tutorial, in the absence of an all-in-one solution like Centrify or JumpCloud, you will doubtless need to do your homework and perform a fair amount of manual configuration and troubleshooting.
Как мне ввести в домен Ubuntu 20.04 | 18.04 к домену Windows? Могу ли я присоединить Debian 10 к домену Active Directory?
Эта статья была написана, чтобы показать вам, как использовать realmd для присоединения сервера или рабочего стола Ubuntu 20.04 | 18.04 / Debian 10 к домену Active Directory. Домен Active Directory является центральным узлом информации о пользователях в большинстве корпоративных сред.
Например, в инфраструктуре моей компании ключевым требованием является то, чтобы все пользователи прошли аутентификацию во всех системах Linux с учетными данными Active Directory. Это должно работать как для Debian, так и для дистрибутивов Linux на основе Red Hat.
В этом руководстве будет показано, как настроить SSSD для получения информации из доменов в одном лесу ресурсов Active Directory. Если вы работаете с несколькими лесами AD, это руководство может вам не подойти. Мы также пойдем дальше и настроим правила sudo для пользователей, которые входят в систему через AD. Вот схема, изображающая установку и как она работает.
Итак, выполните следующие действия, чтобы присоединиться к домену Ubuntu 20.04 | 18.04 / Debian 10 в Active Directory (AD).
Шаг 1. Обновите свой APT
Начните с обновления вашей системы Ubuntu / Debian Linux.
sudo apt -y update
Это важно, поскольку установка может завершиться ошибкой, если сервер установлен только что.
Для Ubuntu 20.04 | 18.04 добавьте следующие репозитории в файл sources.list
sudo tee -a /etc/apt/sources.list <<EOF
deb http://us.archive.ubuntu.com/ubuntu/ bionic universe
deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates universe
EOF
Шаг 2. Задайте имя хоста сервера и DNS
Установите правильное имя хоста для вашего сервера с правильным доменным компонентом.
sudo hostnamectl set-hostname myubuntu.example.com
Подтвердите свое имя хоста:
$ hostnamectl
Static hostname: myubuntu.example.com
Icon name: computer-vm
Chassis: vm
Machine ID: 5beb7ac3260c4f00bcfbe1088f48b8c7
Boot ID: b2a0d9abe43b455fb49484dbaa59dc41
Virtualization: vmware
Operating System: Ubuntu 18.04.1 LTS
Kernel: Linux 4.15.0-29-generic
Architecture: x86-64
Убедитесь, что DNS настроен правильно:
$ cat /etc/resolv.conf
Ubuntu 20.04 | 18.04 поставляется с systemd-resolve, который вам нужно отключить, чтобы сервер мог напрямую обращаться к вашему сетевому DNS.
sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved
Если вы используете DHCP, вы можете обновить DNS-сервер вручную.
$ sudo unlink /etc/resolv.conf
$ sudo vim /etc/resolv.conf
Шаг 3. Установите необходимые пакеты
Для присоединения системы Ubuntu 20.04 | 18.04 / Debian 10 к домену Active Directory (AD) требуется ряд пакетов.
sudo apt update
sudo apt -y install realmd libnss-sss libpam-sss sssd sssd-tools adcli samba-common-bin oddjob oddjob-mkhomedir packagekit
Только после успешной установки зависимостей вы можете приступить к обнаружению домена Active Directory в Debian 10 / Ubuntu 20.04 / 18.04.
Команда realm discover возвращает полную конфигурацию домена и список пакетов, которые должны быть установлены для регистрации системы в домене.
$ sudo realm discover example.com
example.com
type: kerberos
realm-name: EXAMPLE.COM
domain-name: example.com
configured: no
server-software: active-directory
client-software: sssd
required-package: sssd-tools
required-package: sssd
required-package: libnss-sss
required-package: libpam-sss
required-package: adcli
required-package: samba-common-bin
Замените example.com своим действующим доменом AD.
Шаг 5. Присоединитесь к Ubuntu 20.04 | 18.04 / Debian 10 к домену Active Directory (AD)
Учетная запись администратора AD требуется для интеграции вашего компьютера Linux с доменом Windows Active Directory. Проверьте и подтвердите учетную запись администратора AD и пароль.
Команда realm join настроит локальный компьютер для использования с указанным доменом, настроив как локальные системные службы, так и записи в домене идентификации. У команды есть несколько параметров, которые можно проверить с помощью:
$ realm join --help
Базовое выполнение команды:
$ sudo realm join -U Administrator example.com
Password for Administrator:
Где:
Администратор – это имя учетной записи администратора, используемой для интеграции машины в AD.
example.com – это имя домена AD
Команда сначала пытается подключиться без учетных данных, но при необходимости запрашивает пароль.
Просмотр сведений о текущей области.
$ realm list
example.com
type: kerberos
realm-name: EXAMPLE.COM
domain-name: example.com
configured: kerberos-member
server-software: active-directory
client-software: sssd
required-package: sssd-tools
required-package: sssd
required-package: libnss-sss
required-package: libpam-sss
required-package: adcli
required-package: samba-common-bin
login-formats: %U@example.com
login-policy: allow-realm-logins
В системах на основе RHEL домашний каталог пользователя будет создан автоматически. В Ubuntu / Debian вам необходимо включить эту функцию.
sudo bash -c "cat > /usr/share/pam-configs/mkhomedir" <<EOF
Name: activate mkhomedir
Default: yes
Priority: 900
Session-Type: Additional
Session:
required pam_mkhomedir.so umask=0022 skel=/etc/skel
EOF
Затем активируйте с помощью:
sudo pam-auth-update
Выберите <OK>
Убедитесь, что выбрано “activate mkhomedir” с помощью звездочки – [*]
Затем выберите <Ok>, чтобы сохранить изменения.
Ваш файл конфигурации sssd.conf находится в /etc/sssd/sssd.conf . При каждом изменении файла требуется перезагрузка.
Статус должен быть запущен.
$ systemctl status sssd
Если интеграция работает, должна быть возможность получить информацию о пользователе AD.
$ id jmutai@example.com
uid=1783929917(jmutai@example.com) gid=1784800513(domain users@example.com) groups=1783870513(domain users@example.com)
Шаг 6. Контроль доступа – Ограничьте до пользователя / группы
Доступ к зарегистрированному серверу можно ограничить, разрешив только определенных пользователей и группы.
Ограничение для пользователей
Чтобы разрешить пользователю доступ через SSH и консоль, используйте команду:
$ sudo realm permit user1@example.com
$ sudo realm permit user2@example.com user3@example.com
Разрешить доступ к группе – Примеры
$ sudo ream permit -g sysadmins
$ sudo realm permit -g 'Security Users'
$ sudo realm permit 'Domain Users' 'admin users'
Это изменит файл sssd.conf .
Если вместо этого вы хотите разрешить доступ всем пользователям, запустите:
$ sudo realm permit --all
Чтобы запретить доступ всем пользователям домена, используйте:
$ sudo realm deny --all
Шаг 7. Настройте доступ через Sudo
По умолчанию у пользователей домена не будет разрешения на повышение привилегий до root. Пользователям должен быть предоставлен доступ на основе имен пользователей или групп.
Давайте сначала создадим файл разрешений sudo.
$ sudo vi /etc/sudoers.d/domain_admins
Добавить одного пользователя:
user1@example.com ALL=(ALL) ALL
Добавить еще одного пользователя:
user1@example.com ALL=(ALL) ALL
user2@example.com ALL=(ALL) ALL
Добавить группу
%group1@example.com ALL=(ALL) ALL
Добавьте группу с пробелами.
%security users@example.com ALL=(ALL) ALL
%system super admins@example.com ALL=(ALL) ALL
Шаг 8. Проверьте доступ по SSH
Получите доступ к серверу удаленно, поскольку пользователю AD разрешено входить в систему.
$ ssh user1@localhost
The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is SHA256:wmWcLi/lijm4zWbQ/Uf6uLMYzM7g1AnBwxzooqpB5CU.
ECDSA key fingerprint is MD5:10:0c:cb:22:fd:28:34:c6:3e:d7:68:15:02:f9:b4:e9.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
Это подтверждение того, что наша конфигурация прошла успешно.
Посетите вики-страницы realmd и sssd, чтобы узнать больше.
Оригинал статьи на английском здесь.
Содержание
- Linux машина в домене Windows AD с помощью sssd и krb5
- Администрирование и не только
- Страницы
- вторник, 28 августа 2018 г.
- Ведение Debian 9.3 в домен Active Directory
- Инструменты пользователя
- Инструменты сайта
- Боковая панель
- Содержание
- Подключение Debian GNU/Linux 10 (Buster) к домену Active Directory с помощью SSSD/realmd и настройка PAM для аутентификации и авторизации sshd/Apache
- Подготовка
- Установка realmd/SSSD и ввод в домен
- Поддержка Kerberos
- Конфигурация SSSD
- PAM и домашний каталог
- PAM и доступ на консоль
- PAM и доступ к SSH
- PAM и доступ к Apache
- SSHD и PuTTy
- Расширение keytab
- Apache и PAM с Kerberos
- Финиш
- Инструменты пользователя
- Инструменты сайта
- Боковая панель
- Содержание
- Подключение Debian GNU/Linux 9 (Stretch) к домену Active Directory с помощью SSSD/realmd и настройка PAM для аутентификации и авторизации sshd/Apache
- Подготовка
- Установка realmd/SSSD и ввод в домен
- Поддержка Kerberos
- Конфигурация SSSD
- PAM и домашний каталог
- PAM и доступ на консоль
- PAM и доступ к SSH
- PAM и доступ к Apache
- SSHD и PuTTy
- Расширение keytab
- Apache и PAM с Kerberos
- Финиш
- Ввод debian в домен windows
- Шаг 1. Обновите свой APT
- Шаг 2. Задайте имя хоста сервера и DNS
- Шаг 3. Установите необходимые пакеты
- Шаг 4. Откройте для себя домен Active Directory в Debian 10 / Ubuntu 20.04 | 18.04
- Шаг 5. Присоединитесь к Ubuntu 20.04 | 18.04 / Debian 10 к домену Active Directory (AD)
- Шаг 6. Контроль доступа — Ограничьте до пользователя / группы
- Шаг 7. Настройте доступ через Sudo
- Шаг 8. Проверьте доступ по SSH
Была необходимость ввести в домен Windows машину с Ubuntu. Для этих целей обычно используют Samba и Winbind. Но возможен альтернативный вариант с sssd, краткое руководство по нему ниже.
Для примера будем использовать:
Домен = contoso.com
Контроллер домена = dc.contoso.com
Запускаем терминал Ubuntu:
1. Переключаемся под рута
2. Устанавливаем необходимые пакеты
3. Редактируем /etc/krb5.conf, в качестве отступов используется табуляция
4. Редактируем файл /etc/hosts, указываем FQDN для данного хоста:
5. Пробуем получить Kerberos ticket от имени администратора домена:
Если тикет получен успешно, то теперь можно сгенерировать Kerberos principals для данного хоста, регистр важен:
Сейчас наш хост должен отобразиться в списке компьютеров в каталоге. Если все так — удаляем полученный Kerberos ticket:
6. Создаем файл /etc/sssd/sssd.conf со следующим содержимым:
Описание параметров конфигфайла sssd можно посмотреть тут
Устанавливаем права доступа для файла sssd.conf:
Перезапускаем SSSD service
7. Редактируем настройки PAM
редактируем файл /etc/pam.d/common-session, после строки
переопределить параметры через системные настройки PAM, вызываем
и отмечаем пункты sss auth и makehomdir. Это автоматически добавит
строчку выше в common-session и она не будет перезатерта при обновлении системы.
Теперь мы можем логиниться на машине доменными пользователями, которым разрешен вход.
P.S.: Можно дать права на использование sudo доменным группам. Используя visudo, редактируем файл /etc/sudoers, или лучше, как рекомендует maxzhurkin и iluvar, создаем новый файл в /etc/sudoers.d/ и редактируем его
добавляем требуемую группу — например, Domain Admins (если в названии группы есть пробелы — их необходимо экранировать):
P.S.S.: Спасибо gotch за информацию о realmd. Очень удобно — если не нужны специфические настройки, то ввод машины в домен занимает, по сути, три (как заметил osipov_dv четыре) команды:
1. Устанавливаем нужные пакеты:
2. Редактируем файл /etc/hosts, указываем FQDN для данного хоста:
3. Проверяем, что наш домен виден в сети:
4. Вводим машину в домен:
5. Редактируем настройки PAM
Дополнительный плюс данного варианта — сквозная авторизация на файловых ресурсах домена.
Источник
Администрирование и не только
Не вполне стандартные задачи, с которыми мне приходится сталкиваться по работе и способы их решения.
Страницы
вторник, 28 августа 2018 г.
Ведение Debian 9.3 в домен Active Directory
Заметка не претендует на оригинальность, является фактически калькой этой статьи, написана в качестве «записок на память». Так же обращаю внимание, что существует альтернативный способ без использования samba, но в моем случае она мне все равно нужна.
Продолжаю настройку терминального сервера Debian 9.3:
проверяем время:
date
вывод должен совпадать с системным временем в домене.
Добавляем в /etc/hosts строку:
Ставим пакеты:
правим /etc/krb5.conf
Обращаю внимание на параметр «admin_server = dc»
Я считаю необходимым создать в DNS А записи с именем DC и указывающие на все ваши контороллеры, таким образом вы обезопасите себя от выхода одного из них их строя, кстати для kdc можно тоже указать одну строку «kdc = dc» пусть DNS server сам разруливает сбои.
Источник
Пошаговые руководства, шпаргалки, полезные ссылки.
Инструменты пользователя
Инструменты сайта
Боковая панель
Содержание
Подключение Debian GNU/Linux 10 (Buster) к домену Active Directory с помощью SSSD/realmd и настройка PAM для аутентификации и авторизации sshd/Apache
Подробное описание процедуры присоединения компьютера с Debian GNU/Linux к домену Active Directory с помощью SSSD и realmd можно найти здесь. Рекомендуется предварительно ознакомится с этим материалом, а также с замечаниями по настройке SSSD в Debian GNU/Linux.
Здесь приведён сокращённый план действий по присоединению Debian GNU/Linux 10 (Buster) к домену Active Directory с помощью SSSD и realmd.
Подготовка
Выполним команду присвоения полного доменного имени в качестве имени хоста, так как по умолчанию в Debian 10 в качестве hostname используется имя узла без доменной части. Это позволит избежать некоторых проблем при вводе компьютера в домен с помощью realmd:
Дополнительно необходимо отредактировать файл /etc/hosts и указать там в качестве IP адреса хоста адрес одного из сетевых интерфейсов. То есть, строку вида:
заменяем на строку вида:
Если требуется, предварительно создаём в домене учётную запись компьютера
Установка realmd/SSSD и ввод в домен
Устанавливаем пакеты необходимые для ввода в домен:
Выполняем обнаружение информации о домене, которое должно отработать без ошибок:
Настраиваем информацию о компьютере, которая будет передана в каталог Active Directory при присоединении к домену.
Выполняем присоединение компьютера к домену Active Directory:
Поддержка Kerberos
Устанавливаем клиентское ПО поддержки Kerberos:
Проверяем наличие и содержимое keytab-файла. В нём, как минимум, должны быть записи типа host/*
Настраиваем конфигурацию клиента Kerberos:
Пример настроенного файла:
Конфигурация SSSD
Настраиваем конфигурацию SSSD:
Пример настроенной конфигурации:
Перезапускаем службу с очисткой кеша sssd:
Выполняем проверку возможности извлечения информации из каталога Active Directory.
Получаем информацию о любой доменной группе безопасности:
Получаем информацию о любом доменной пользователе:
PAM и домашний каталог
Предварительно рекомендуется ознакомится со статьёй Разграничение прав доступа к Linux-системе и её сервисам через доменные группы безопасности с помощью SSSD и PAM, где более подробно описан смысл всех производимых далее настроек системы.
Настраиваем базовую конфигурацию PAM
Правим файл common-session :
В конец файла добавим строку, позволяющую создать домашний каталог в случае его отсутствия:
PAM и доступ на консоль
Создадим свой файл для перечисления учётных записей (доменных и локальных), которым будет разрешёно подключение к консоли компьютера:
Ограничим доступ к файлу:
Отредактируем модуль PAM, определяющий права доступа к консоли компьютера:
Вставляем перед блоком со строкой @include common-account ссылку на вызов авторизации через созданный нами файл ( access-groups-to-login )
Выполняем проверку входа в систему, используя разрешённую и неразрешённую доменную учётную запись. При этом отслеживаем происходящее в механизмах аутентификации/авторизации через системный лог auth.log
PAM и доступ к SSH
Отредактируем PAM-модуль, отвечающий за настроку авторизации при подключении через службу сервера SSH
Вставляем перед блоком со строкой @include common-account ссылку на вызов авторизации через созданный нами файл ( access-groups-to-login )
Выполняем проверку входа в систему через SSH, используя разрешённую и неразрешённую доменную учётную запись. При этом отслеживаем происходящее в механизмах аутентификации/авторизации через системный лог auth.log
PAM и доступ к Apache
Пример создания собственного PAM-модуля для других служб, например, для организации доменной аутентфикации/авторизации в веб-сервере Apache:
Создадим свой файл для перечисления учётных записей (доменных и локальных), которым будет разрешёно подключение к веб-серверу:
Ограничим доступ к файлам:
SSHD и PuTTy
Подробно про пример настройки сквозной проверки подлинности при использовании PuTTY читаем в статье SSO-подключение к серверу Ubuntu Server 14.04 LTS по протоколу SSH с помощью PuTTY с компьютера на базе Windows в домене Active Directory
Включаем сквозную проверку подлинности для прозрачного подключения с PuTTY
Перезапустим службу сервера
Разрешаем sudo для доменных учётных записей.
Создадим отдельный файл для выдачи прав выполнять sudo доменным учётным записям:
Пример содержимого файла с одной доменной группой доступа, которой разрешено выполнять sudo без ограничений:
Ограничим доступ к файлу
Расширение keytab
В случае необходимости настроки Kerberos аутентификациии в домене Active Directory, возможно потребуется дополнительная настройка keytab-файла на Linux системе.
Добавляем записи поддержки Kerberos для веб-сервера (при запросе хешей указываем те же, что указаны для уже существующих SPN-записей)
Перечиваем результат и записываем изменения в keytab-файл:
Проверяем есть ли нужная SPN-запись в домене (на Windows-машине, присоединённой к домену)
Если записи нет, можем добавить (требуются права уровня доменный администратор)
Apache и PAM с Kerberos
Настраиваем конфигурацию Apache для поддержки аутентификации Kerberos
Установка пакетов поддержки PAM/Kerberos в Apache:
Включение модулей Apache:
Пример файла конфигурации Apache:
В данном примере в Apache для доступа к веб-серверу Apache вызывается настроенный нами ранее PAM-модуль apache2 (через файл /etc/pam.d/apache2 ) PAM-модуль в свою очередь вызывает для процедуры аутентификации SSSD и выполняет авторизацию через файл /etc/security/access-groups-to-web
Не забываем на строне Linux-сервера настроить доступ к keytab-файлу
Перезепускаем службу веб-сервера и проверяем результат:
Финиш
По завершении всех процедур настройки можно вернуть имя хоста в исходное состояние, «привычное» для Debain.
После завершения настройки перезагружаем Linux-сервере, чтобы убедиться в успешном автоматическом запуске SSSD и последующей корректной работы аутентификации/авторизации на базе доменных учётных записей.
Дополнительные источники информации:
Проверено на следующих конфигурациях:
Автор первичной редакции:
Алексей Максимов
Время публикации: 13.09.2019 16:43
Источник
Пошаговые руководства, шпаргалки, полезные ссылки.
Инструменты пользователя
Инструменты сайта
Боковая панель
Содержание
Подключение Debian GNU/Linux 9 (Stretch) к домену Active Directory с помощью SSSD/realmd и настройка PAM для аутентификации и авторизации sshd/Apache
Подробное описание процедуры присоединения компьютера с Debian GNU/Linux к домену Active Directory с помощью SSSD и realmd можно найти здесь. Рекомендуется предварительно ознакомится с этим материалом, а также с замечаниями по настройке SSSD в Debian GNU/Linux.
Здесь приведён сокращённый план действий по присоединению Debian GNU/Linux 9 (Stretch) к домену Active Directory с помощью SSSD и realmd.
Подготовка
Выполняем команду присвоения полного доменного имени в качестве имени хоста, так как по умолчанию в Debian 9 в качестве hostname используется имя узла без доменной части. Это позволит избежать некоторых проблем при вводе компьютера в домен с помощью realmd:
Дополнительно необходимо отредактировать файл /etc/hosts и указать там в качестве IP адреса хоста адрес одного из сетевых интерфейсов. То есть, строку вида:
заменяем на строку вида:
Если требуется, предварительно создаём в домене учётную запись компьютера
Установка realmd/SSSD и ввод в домен
Устанавливаем пакеты необходимые для ввода в домен:
Выполняем обнаружение информации о домене, которое должно отработать без ошибок:
Настраиваем информацию о компьютере, которая будет передана в каталог Active Directory при присоединении к домену.
Устанавливаем пакеты, необходимые для работы SSSD
Выполняем присоединение компьютера к домену Active Directory:
Поддержка Kerberos
Устанавливаем клиентское ПО поддержки Kerberos:
Проверяем наличие и содержимое keytab-файла. В нём, как минимум, должны быть записи типа host/*
Настраиваем конфигурацию клиента Kerberos:
Пример настроенного файла:
Конфигурация SSSD
Настраиваем конфигурацию SSSD:
Пример настроенной конфигурации:
Перезапускаем службу с очисткой кеша sssd:
Выполняем проверку возможности извлечения информации из каталога Active Directory.
Получаем информацию о любой доменной группе безопасности:
Получаем информацию о любом доменной пользователе:
PAM и домашний каталог
Предварительно рекомендуется ознакомится со статьёй Разграничение прав доступа к Linux-системе и её сервисам через доменные группы безопасности с помощью SSSD и PAM, где более подробно описан смысл всех производимых далее настроек системы.
Настраиваем базовую конфигурацию PAM
Правим файл common-session :
В конец файла добавим строку, позволяющую создать домашний каталог в случае его отсутствия:
PAM и доступ на консоль
Создадим свой файл для перечисления учётных записей (доменных и локальных), которым будет разрешёно подключение к консоли компьютера:
Ограничим доступ к файлу:
Отредактируем модуль PAM, определяющий права доступа к консоли компьютера:
Вставляем перед директивой common-account … ссылку на вызов авторизации через созданный нами файл ( access-groups-to-login )
Выполняем проверку входа в систему, используя разрешённую и неразрешённую доменную учётную запись. При этом отслеживаем происходящее в механизмах аутентификации/авторизации через системный лог auth.log
PAM и доступ к SSH
Отредактируем PAM-модуль, отвечающий за настроку авторизации при подключении через службу сервера SSH
Вставляем перед директивой common-account … ссылку на вызов авторизации через созданный нами файл ( access-groups-to-login )
Выполняем проверку входа в систему через SSH, используя разрешённую и неразрешённую доменную учётную запись. При этом отслеживаем происходящее в механизмах аутентификации/авторизации через системный лог auth.log
PAM и доступ к Apache
Пример создания собственного PAM-модуля для других служб, например, для организации доменной аутентфикации/авторизации в веб-сервере Apache:
Создадим свой файл для перечисления учётных записей (доменных и локальных), которым будет разрешёно подключение к веб-серверу:
Ограничим доступ к файлам:
SSHD и PuTTy
Подробно про пример настройки сквозной проверки подлинности при использовании PuTTY читаем в статье SSO-подключение к серверу Ubuntu Server 14.04 LTS по протоколу SSH с помощью PuTTY с компьютера на базе Windows в домене Active Directory
Включаем сквозную проверку подлинности для прозрачного подключения с PuTTY
Перезапустим службу сервера
Разрешаем sudo для доменных учётных записей.
Создадим отдельный файл для выдачи прав выполнять sudo доменным учётным записям:
Пример содержимого файла с одной доменной группой доступа, которой разрешено выполнять sudo без ограничений:
Ограничим доступ к файлу
Расширение keytab
В случае необходимости настроки Kerberos аутентификациии в домене Active Directory, возможно потребуется дополнительная настройка keytab-файла на Linux системе.
Добавляем записи поддержки Kerberos для веб-сервера (при запросе хешей указываем те же, что указаны для уже существующих SPN-записей)
Перечиваем результат и записываем изменения в keytab-файл:
Проверяем есть ли нужная SPN-запись в домене (на Windows-машине, присоединённой к домену)
Если записи нет, можем добавить (требуются права уровня доменный администратор)
Apache и PAM с Kerberos
Настраиваем конфигурацию Apache для поддержки аутентификации Kerberos
Установка пакетов поддержки PAM/Kerberos в Apache:
Включение модулей Apache:
Пример файла конфигурации Apache:
В данном примере в Apache для доступа к веб-серверу Apache вызывается настроенный нами ранее PAM-модуль apache2 (через файл /etc/pam.d/apache2 ) PAM-модуль в свою очередь вызывает для процедуры аутентификации SSSD и выполняет авторизацию через файл /etc/security/access-groups-to-web
Не забываем на строне Linux-сервера настроить доступ к keytab-файлу
Перезепускаем службу веб-сервера и проверяем результат:
Финиш
По завершении всех процедур настройки можно вернуть имя хоста в исходное состояние, «привычное» для Debain.
После завершения настройки перезагружаем Linux-сервере, чтобы убедиться в успешном автоматическом запуске SSSD и последующей корректной работы аутентификации/авторизации на базе доменных учётных записей.
Дополнительные источники информации:
Проверено на следующих конфигурациях:
Автор первичной редакции:
Алексей Максимов
Время публикации: 25.06.2019 09:11
Источник
Ввод debian в домен windows
Как мне ввести в домен Ubuntu 20.04 | 18.04 к домену Windows? Могу ли я присоединить Debian 10 к домену Active Directory?
Эта статья была написана, чтобы показать вам, как использовать realmd для присоединения сервера или рабочего стола Ubuntu 20.04 | 18.04 / Debian 10 к домену Active Directory. Домен Active Directory является центральным узлом информации о пользователях в большинстве корпоративных сред.
Например, в инфраструктуре моей компании ключевым требованием является то, чтобы все пользователи прошли аутентификацию во всех системах Linux с учетными данными Active Directory. Это должно работать как для Debian, так и для дистрибутивов Linux на основе Red Hat.
В этом руководстве будет показано, как настроить SSSD для получения информации из доменов в одном лесу ресурсов Active Directory. Если вы работаете с несколькими лесами AD, это руководство может вам не подойти. Мы также пойдем дальше и настроим правила sudo для пользователей, которые входят в систему через AD. Вот схема, изображающая установку и как она работает.
Итак, выполните следующие действия, чтобы присоединиться к домену Ubuntu 20.04 | 18.04 / Debian 10 в Active Directory (AD).
Шаг 1. Обновите свой APT
Начните с обновления вашей системы Ubuntu / Debian Linux.
Это важно, поскольку установка может завершиться ошибкой, если сервер установлен только что.
Для Ubuntu 20.04 | 18.04 добавьте следующие репозитории в файл sources.list
Шаг 2. Задайте имя хоста сервера и DNS
Установите правильное имя хоста для вашего сервера с правильным доменным компонентом.
sudo hostnamectl set-hostname myubuntu.example.com
Подтвердите свое имя хоста:
$ hostnamectl
Static hostname: myubuntu.example.com
Icon name: computer-vm
Chassis: vm
Machine ID: 5beb7ac3260c4f00bcfbe1088f48b8c7
Boot ID: b2a0d9abe43b455fb49484dbaa59dc41
Virtualization: vmware
Operating System: Ubuntu 18.04.1 LTS
Kernel: Linux 4.15.0-29-generic
Architecture: x86-64
Убедитесь, что DNS настроен правильно:
$ cat /etc/resolv.conf
Ubuntu 20.04 | 18.04 поставляется с systemd-resolve, который вам нужно отключить, чтобы сервер мог напрямую обращаться к вашему сетевому DNS.
sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved
Если вы используете DHCP, вы можете обновить DNS-сервер вручную.
$ sudo unlink /etc/resolv.conf
$ sudo vim /etc/resolv.conf
Шаг 3. Установите необходимые пакеты
Для присоединения системы Ubuntu 20.04 | 18.04 / Debian 10 к домену Active Directory (AD) требуется ряд пакетов.
Только после успешной установки зависимостей вы можете приступить к обнаружению домена Active Directory в Debian 10 / Ubuntu 20.04 / 18.04.
Шаг 4. Откройте для себя домен Active Directory в Debian 10 / Ubuntu 20.04 | 18.04
Команда realm discover возвращает полную конфигурацию домена и список пакетов, которые должны быть установлены для регистрации системы в домене.
$ sudo realm discover example.com
example.com
type: kerberos
realm-name: EXAMPLE.COM
domain-name: example.com
configured: no
server-software: active-directory
client-software: sssd
required-package: sssd-tools
required-package: sssd
required-package: libnss-sss
required-package: libpam-sss
required-package: adcli
required-package: samba-common-bin
Замените example.com своим действующим доменом AD.
Шаг 5. Присоединитесь к Ubuntu 20.04 | 18.04 / Debian 10 к домену Active Directory (AD)
Учетная запись администратора AD требуется для интеграции вашего компьютера Linux с доменом Windows Active Directory. Проверьте и подтвердите учетную запись администратора AD и пароль.
Команда realm join настроит локальный компьютер для использования с указанным доменом, настроив как локальные системные службы, так и записи в домене идентификации. У команды есть несколько параметров, которые можно проверить с помощью:
Администратор — это имя учетной записи администратора, используемой для интеграции машины в AD.
example.com — это имя домена AD
Команда сначала пытается подключиться без учетных данных, но при необходимости запрашивает пароль.
Просмотр сведений о текущей области.
$ realm list
example.com
type: kerberos
realm-name: EXAMPLE.COM
domain-name: example.com
configured: kerberos-member
server-software: active-directory
client-software: sssd
required-package: sssd-tools
required-package: sssd
required-package: libnss-sss
required-package: libpam-sss
required-package: adcli
required-package: samba-common-bin
login-formats: %U@example.com
login-policy: allow-realm-logins
В системах на основе RHEL домашний каталог пользователя будет создан автоматически. В Ubuntu / Debian вам необходимо включить эту функцию.
Убедитесь, что выбрано “activate mkhomedir” с помощью звездочки — [*]
Затем выберите , чтобы сохранить изменения.
Статус должен быть запущен.
$ systemctl status sssd
Если интеграция работает, должна быть возможность получить информацию о пользователе AD.
$ id jmutai@example.com
uid=1783929917(jmutai@example.com) gid=1784800513(domain users@example.com) groups=1783870513(domain users@example.com)
Шаг 6. Контроль доступа — Ограничьте до пользователя / группы
Доступ к зарегистрированному серверу можно ограничить, разрешив только определенных пользователей и группы.
Ограничение для пользователей
Чтобы разрешить пользователю доступ через SSH и консоль, используйте команду:
Если вместо этого вы хотите разрешить доступ всем пользователям, запустите:
Шаг 7. Настройте доступ через Sudo
По умолчанию у пользователей домена не будет разрешения на повышение привилегий до root. Пользователям должен быть предоставлен доступ на основе имен пользователей или групп.
Давайте сначала создадим файл разрешений sudo.
$ sudo vi /etc/sudoers.d/domain_admins
Добавить одного пользователя:
user1@example.com ALL=(ALL) ALL
Добавить еще одного пользователя:
user1@example.com ALL=(ALL) ALL
user2@example.com ALL=(ALL) ALL
Добавить группу
%group1@example.com ALL=(ALL) ALL
Добавьте группу с пробелами.
%security users@example.com ALL=(ALL) ALL
%system super admins@example.com ALL=(ALL) ALL
Шаг 8. Проверьте доступ по SSH
Получите доступ к серверу удаленно, поскольку пользователю AD разрешено входить в систему.
$ ssh user1@localhost
The authenticity of host ‘localhost (::1)’ can’t be established.
ECDSA key fingerprint is SHA256:wmWcLi/lijm4zWbQ/Uf6uLMYzM7g1AnBwxzooqpB5CU.
ECDSA key fingerprint is MD5:10:0c:cb:22:fd:28:34:c6:3e:d7:68:15:02:f9:b4:e9.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘localhost’ (ECDSA) to the list of known hosts.
Это подтверждение того, что наша конфигурация прошла успешно.
Посетите вики-страницы realmd и sssd, чтобы узнать больше.
Источник
В этой статье будет описан процесс добавления Linux-машины (Ubuntu 20.04) в домен Windows AD.
Шаг 1. Установка пакетов и подготовка
sudo apt updatesudo apt upgrade
После этого установите требуемые пакеты.
sudo apt -y install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit
Далее мы настроим все инструменты. Вам требуется знать:
- Домен: office.local
- IP DNS-сервера: 192.168.0.1
- IP второго DNS-сервера: 192.168.0.2
Шаг 2. Настройка DNS
Откройте конфигурационный файл netplan:
sudo nano /etc/netplan/*.yaml
Если вы видите там «dhcp4: true», то есть ваш DHCP-сервер настроен корректно, переходите к следующему шагу. Если вы настраиваете параметры сетевого подключения вручную, ознакомьтесь с примером настройки:
network:ethernets:enp0s3:addresses:- 192.168.0.15/24gateway4: 192.168.0.10nameservers:addresses: [192.168.0.1, 192.168.0.2]search:- office.localoptional: trueversion: 2
- addresses — это IP, назначаемый сетевой карте;
- gateway4 — IP роутера;
- nameservers — DNS-сервера;
- search — целевой домен.
sudo netplan apply
Шаг 3. Обнаружение домена, присоединение к нему и проверка результата.
В первую очередь требуется обнаружить домен:
realm discover office.local
Вы увидите что-то подобное. Это означает, что настройки сети верны и машина получила ответ от домена. Если нет, вам необходимо проверить настройки сети, домен и работоспособность DNS.
office.localtype: kerberosrealm-name: OFFICE.LOCALdomain-name: office.localconfigured: no...
Затем присоединитесь к домену AD. Замените admin1 на имя администратора и укажите пароль.
realm join -U admin1 office.localPassword for admin1:
Проверьте, возможен ли прием информации о пользователе AD. Замените user1 на имя пользователя вашего домена.
id user1@office.localuid=687821651(user1@office.local) gid=687800512(user1@office.local) groups=687800512(domain users@office.local)
Шаг 4. Последние настройки и авторизация.
Необходимо произвести настройку, чтобы в будущем каждый раз не добавлять имя домена к имени пользователя.
sudo nano /etc/sssd/sssd.conf
Измените значение use_fully_qualified_names на False. Перезагрузите и проверьте:
sudo systemctl restart sssdid useruid=687821651(user1@office.local) gid=687800512(user1@office.local) groups=687800512(domain users@office.local)
Теперь нужно настроить создание домашних каталогов для пользователей AD при входе в систему.
sudo nano /etc/pam.d/common-session#add this line in the end of filesession optional pam_mkhomedir.so skel=/etc/skel umask=077
Войдите в систему как пользователь AD.
su – userPassword:Creating directory '/home/user1@office.local'.user1@ubuntu-server:~$
Это означает, что вы успешно вошли в систему как пользователь AD.
Также вы можете разрешить авторизацию для некоторых пользователей и групп AD или же ограничить других. В приведенном ниже примере настроен запрет для всех пользователей, кроме user0, user1 и группы Main Admins.
sudo realm deny –allsudo realm permit user0@office.local user1@office.localsudo realm permit -g 'Main Admins'
Настройка пользователей AD для получения root-прав такая же, как и для локальных, но выполняется в другом файле.
sudo nano /etc/sudoers.d/admins
Добавьте к нему нужные строки. Например:
user ALL=(ALL) ALL%Domain\ Admins ALL=(ALL) ALL
191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700
300
ООО «ИТГЛОБАЛКОМ ЛАБС»
191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700
300
ООО «ИТГЛОБАЛКОМ ЛАБС»