Как debian 11 подключить к домену windows

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.

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

Добавить Ubuntu или Debian в домен Active Directory

Вы можете задать атрибуты вашего хоста 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.

pam-auth-update

Проверьте конфигурацию 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

aptget update

aptget 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

Пере запускаем и тестируем:

invokerc.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

aptget install krb5user 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 = rc4hmac descbccrc descbcmd5

default_tkt_enctypes = rc4hmac descbccrc descbcmd5

permitted_enctypes = rc4hmac descbccrc descbcmd5

; for Windows 2008 with AES

; default_tgs_enctypes = aes256ctshmacsha196 rc4hmac descbccrc descbcmd5

; default_tkt_enctypes = aes256ctshmacsha196 rc4hmac descbccrc descbcmd5

; permitted_enctypes = aes256ctshmacsha196 rc4hmac descbccrc descbcmd5

[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

aptget 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 = 1000020000

idmap gid = 1000020000

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

  1. Prepare the network
  2. Prepare the Linux server
  3. Join the AD domain
  4. Verifying the domain join
  5. 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

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. Вот схема, изображающая установку и как она работает.

Ввести в домен Active Directory (AD) линукс Ubuntu 20.04 | 18.04 / Debian 10

Итак, выполните следующие действия, чтобы присоединиться к домену 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>

Ввести в домен Active Directory (AD) линукс Ubuntu 20.04 | 18.04 / Debian 10

Убедитесь, что выбрано “activate mkhomedir” с помощью звездочки – [*]

Ввести в домен Active Directory (AD) линукс Ubuntu 20.04 | 18.04 / Debian 10

Затем выберите <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, чтобы узнать больше.

Оригинал статьи на английском здесь.

Содержание

  1. Linux машина в домене Windows AD с помощью sssd и krb5
  2. Администрирование и не только
  3. Страницы
  4. вторник, 28 августа 2018 г.
  5. Ведение Debian 9.3 в домен Active Directory
  6. Инструменты пользователя
  7. Инструменты сайта
  8. Боковая панель
  9. Содержание
  10. Подключение Debian GNU/Linux 10 (Buster) к домену Active Directory с помощью SSSD/realmd и настройка PAM для аутентификации и авторизации sshd/Apache
  11. Подготовка
  12. Установка realmd/SSSD и ввод в домен
  13. Поддержка Kerberos
  14. Конфигурация SSSD
  15. PAM и домашний каталог
  16. PAM и доступ на консоль
  17. PAM и доступ к SSH
  18. PAM и доступ к Apache
  19. SSHD и PuTTy
  20. Расширение keytab
  21. Apache и PAM с Kerberos
  22. Финиш
  23. Инструменты пользователя
  24. Инструменты сайта
  25. Боковая панель
  26. Содержание
  27. Подключение Debian GNU/Linux 9 (Stretch) к домену Active Directory с помощью SSSD/realmd и настройка PAM для аутентификации и авторизации sshd/Apache
  28. Подготовка
  29. Установка realmd/SSSD и ввод в домен
  30. Поддержка Kerberos
  31. Конфигурация SSSD
  32. PAM и домашний каталог
  33. PAM и доступ на консоль
  34. PAM и доступ к SSH
  35. PAM и доступ к Apache
  36. SSHD и PuTTy
  37. Расширение keytab
  38. Apache и PAM с Kerberos
  39. Финиш
  40. Ввод debian в домен windows
  41. Шаг 1. Обновите свой APT
  42. Шаг 2. Задайте имя хоста сервера и DNS
  43. Шаг 3. Установите необходимые пакеты
  44. Шаг 4. Откройте для себя домен Active Directory в Debian 10 / Ubuntu 20.04 | 18.04
  45. Шаг 5. Присоединитесь к Ubuntu 20.04 | 18.04 / Debian 10 к домену Active Directory (AD)
  46. Шаг 6. Контроль доступа — Ограничьте до пользователя / группы
  47. Шаг 7. Настройте доступ через Sudo
  48. Шаг 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:

%25D0%2592%25D1%258B%25D0%25B4%25D0%25B5%25D0%25BB%25D0%25B5%25D0%25BD%25D0%25B8%25D0%25B5 013

%25D0%2592%25D1%258B%25D0%25B4%25D0%25B5%25D0%25BB%25D0%25B5%25D0%25BD%25D0%25B8%25D0%25B5 014

%25D0%2592%25D1%258B%25D0%25B4%25D0%25B5%25D0%25BB%25D0%25B5%25D0%25BD%25D0%25B8%25D0%25B5 015

%25D0%2592%25D1%258B%25D0%25B4%25D0%25B5%25D0%25BB%25D0%25B5%25D0%25BD%25D0%25B8%25D0%25B5 016

проверяем время:
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

20190625 091314 Подробное описание процедуры присоединения компьютера с 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 и последующей корректной работы аутентификации/авторизации на базе доменных учётных записей.

Дополнительные источники информации:

Проверено на следующих конфигурациях:

blogrootАвтор первичной редакции:
Алексей Максимов
Время публикации: 13.09.2019 16:43

Источник

Пошаговые руководства, шпаргалки, полезные ссылки.

Инструменты пользователя

Инструменты сайта

Боковая панель

Содержание

Подключение Debian GNU/Linux 9 (Stretch) к домену Active Directory с помощью SSSD/realmd и настройка PAM для аутентификации и авторизации sshd/Apache

20190625 091314 Подробное описание процедуры присоединения компьютера с 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 и последующей корректной работы аутентификации/авторизации на базе доменных учётных записей.

Дополнительные источники информации:

Проверено на следующих конфигурациях:

blogrootАвтор первичной редакции:
Алексей Максимов
Время публикации: 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

ООО «ИТГЛОБАЛКОМ ЛАБС»

Понравилась статья? Поделить с друзьями:
  • Как d3d12 dll скачать бесплатно для х64 windows 7
  • Как apache поднять веб сервер на windows 10
  • Как aimp запускать вместе с windows
  • Как 7zip встроить в контекстное меню windows 10
  • Кайлите кодек пак скачать для windows 10