Меню Рубрики

Debian подключение к домену windows

Linux машина в домене Windows AD

Была необходимость ввести в домен Windows машину с Ubuntu. Для этих целей обычно используют Samba и Winbind. Но возможен альтернативный вариант с sssd, краткое руководство по нему ниже.

Для примера будем использовать:

Контроллер домена = dc.contoso.com

Запускаем терминал Ubuntu:

1. Переключаемся под рута

2. Устанавливаем необходимые пакеты

apt install sssd heimdal-clients msktutil

3. Редактируем /etc/krb5.conf, в качестве отступов используется табуляция

[libdefaults]
default_realm = CONTOSO.COM

[realms]
CONTOSO.COM = <
kdc = DC
admin_server = dc.contoso.com
default_domain = contoso.com
>

[login]
krb4_convert = true
krb4_get_tickets = false

[domain_realm]
.contoso.com = CONTOSO.COM
contoso.com = CONTOSO.COM

4. Редактируем файл /etc/hosts, указываем FQDN для данного хоста:

127.0.0.1 localhost
127.0.1.1 .contoso.com

5. Пробуем получить Kerberos ticket от имени администратора домена:

# kinit YourDomainAdmin
YourDomainAdmin@CONTOSO.COM’s Password:

# klist
Credentials cache: FILE:/tmp/krb5cc_0
Principal: YourDomainAdmin@CONTOSO.COM

Issued Expires Principal
Dec 1 15:08:27 2018 Dec 2 01:08:22 2018 krbtgt/CONTOSO.COM@CONTOSO.COM

Если тикет получен успешно, то теперь можно сгенерировать Kerberos principals для данного хоста, регистр важен:

msktutil -c -b ‘CN=YourComputersOU’ -s HOST/HOSTNAME.contoso.com -k /etc/sssd/HOSTNAME.keytab —computer-name HOSTNAME —upn HOSTNAME$ —server dc.contoso.com —user-creds-only

msktutil -c -b ‘CN=YourComputersOU’ -s HOST/HOSTNAME -k /etc/sssd/HOSTNAME.keytab —computer-name HOSTNAME —upn HOSTNAME$ —server dc.contoso.com —user-creds-only

Сейчас наш хост должен отобразиться в списке компьютеров в каталоге. Если все так — удаляем полученный Kerberos ticket:

6. Создаем файл /etc/sssd/sssd.conf со следующим содержимым:

services = nss, pam
config_file_version = 2
domains = contoso.com

entry_negative_timeout = 0
debug_level = 3

ad_domain = contoso.com
ad_server = dc.contoso.com
enumerate = false

id_provider = ad
auth_provider = ad
chpass_provider = ad
access_provider = simple
simple_allow_groups = users # каким группам разрешено логиниться, через запятую. Есть ограничение — названия групп должны быть с маленькой буквы.
ldap_schema = ad
ldap_id_mapping = true
fallback_homedir = /home/%u
default_shell = /bin/bash
ldap_sasl_mech = gssapi
ldap_sasl_authid = $
ldap_krb5_init_creds = true
krb5_keytab = /etc/sssd/ .keytab

Описание параметров конфигфайла sssd можно посмотреть тут

Устанавливаем права доступа для файла sssd.conf:

chmod 600 /etc/sssd/sssd.conf

Перезапускаем SSSD service

service sssd restart

7. Редактируем настройки PAM

редактируем файл /etc/pam.d/common-session, после строки

session required pam_unix.so

session required pam_mkhomedir.so skel=/etc/skel umask=0022

переопределить параметры через системные настройки PAM, вызываем

и отмечаем пункты sss auth и makehomdir . Это автоматически добавит

строчку выше в common-session и она не будет перезатерта при обновлении системы.

Теперь мы можем логиниться на машине доменными пользователями, которым разрешен вход.

P.S.: Можно дать права на использование sudo доменным группам. Используя visudo, редактируем файл /etc/sudoers, или, создаем новый файл в /etc/sudoers.d/ и редактируем его

visudo -f /etc/sudoers.d/ваш_файл

добавляем требуемую группу — например, Domain Admins (если в названии группы есть пробелы — их необходимо экранировать):

Источник

Linux/BSD Проще не бывает!

Вводим Debian в домен под управлением Win2k8 Server

Задание: дать доменным пользователям из групп «domain users» и «domain admins» на работе доступ на свою машину по samba.

Дополнительные начальные данные:

  • на моей «рабочей лошадке» стоит Debian Lenny
  • пользователи которых я хочу пустить к себе по samba работают под WinXP с авторизацией через домен my.domain поднятый на Win2k8 (контроллер домена — controller.my.domain)
  • права на запись в моих шарах должны иметь только некоторые доменные админские группы, остальным — только чтение
  • учетная запись доменного админа Admin (он может ввести машину в домен)
  • рабочая группа — WORK ( наследство от давно почившего контроллера домена под Win NT 4)
  • имя моей машины — black

Итак, начнем! Сначала ставим необходимые пакетики:

# aptitude install krb5-user winbind samba

Начинаем веселиться — вот такие у меня конфиги:

# cat / etc / krb5.conf | grep -v ^ #
[ logging ]
default = FILE: / var / log / krb5libs.log
kdc = FILE: / var / log / krb5kdc.log
admin_server = FILE: / var / log / kadmind.log

[ libdefaults ]
default_realm = MY.DOMAIN
krb4_config = / etc / krb.conf
krb4_realms = / etc / krb.realms
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true

v4_instance_resolve = false
v4_name_convert = <
host = <
rcmd = host
ftp = ftp
>
plain = <
something = something-else
>
>
fcc-mit-ticketflags = true

[ realms ]
MY.DOMAIN = <
kdc = controller.my.domain
admin_server = controller.my.domain
>
[ domain_realm ]
.my.domain = MY.DOMAIN
my.domain = MY.DOMAIN
[ login ]
krb4_convert = true
krb4_get_tickets = false

Минимально необходимый конфиг samba выглядит вот так:

# cat / etc / samba / smb.conf | grep -v ^ #
[ global ]
realm = MY.DOMAIN
workgroup = WORK
netbios name = black
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 = @ «WORK\domain admins» , @ «WORK\domain users»
write list = @ «WORK\domain admins» , @ «WORK\domain users»

После того как настроили samba, надо бы ее перегрузить:

# / etc / init.d / samba restart

И winbind не помешает передернуть:

# / etc / init.d / winbind restart

Правим nsswitch.conf примерно до такого вида:

# cat / etc / nsswitch.conf | grep -v ^ #

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

Чтобы вступили в силу изменения в конфиге /etc/nsswitch.conf без перегарузки, нужно от рута дать команду:

Перед тем как вводить машину в домен нужно сначала синхронизировать время с домен-контроллером:

После удачной синхронизации времени мы готовы стать полноценным участником домена my.domain. Чтобы войти в домен выполняем от рута:

# net ads join -W my.domain -S master -U Admin

password for Admin:

Admin— доменный администратор который имеет право ввести комп в домен

В ответ на это нас должны спросить доменный пароль для доменного пользователя Admin. После ввода пароля — МЫ В ДОМЕНЕ. Если конечно не вывалилась какаято ошибка. Проверить то что мы таки вошли в домен можно например набрав команду:

В ответ на которую мы должны увидеть перечень доменных пользователей.

Для того чтобы в нашу систему можно было логиниться под доменными аккаунтами нужно привести конфиги PAM к такому виду:

# cat / etc / pam.d / common-account
account sufficient pam_winbind.so
account required pam_unix.so

# cat / etc / pam.d / common-auth
auth sufficient pam_winbind.so
auth required pam_unix.so use_first_pass

# cat / etc / pam.d / common-session

session required pam_mkhomedir.so skel = / etc / skel / umask =0022
session sufficient pam_winbind.so
session required pam_unix.so

Вот и все! Можно пробовать зайти, например, по ssh или samba на наш компьютер. Пользователей входящих в группы «domain admins» и «domain users» должно пускать без проблем (даже не спрашивая пароль).

Источник

Linux машина в домене Windows AD с помощью sssd и krb5

Была необходимость ввести в домен 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

Дополнительный плюс данного варианта — сквозная авторизация на файловых ресурсах домена.

Для того чтоб при входе не указывать дополнительно к логину домен, можно добавить суффикс по умолчанию. В файле /etc/sssd/sssd.conf, в блоке [sssd] добавляем строку:

Редакторский дайджест

Присылаем лучшие статьи раз в месяц

Скоро на этот адрес придет письмо. Подтвердите подписку, если всё в силе.

Похожие публикации

Как работать с минус-словами в Яндекс.Директе и Google Ads [и автоматизировать процесс]

Search Ads официально возвращается в Россию

Как (и зачем) бесплатно парсить ключи и объявления конкурентов из Яндекс.Директ и Google Ads

Средняя зарплата в IT

AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Комментарии 31

(у вас в начале текста contoso.com потом contoso.domain)

Лучше добавить — «используя visudo»

Файлы в /etc/sudoers.d/ правятся по тем же правилам, что и /etc/sudoers:

Просто так править файлы в /etc/sudoers.d/ не стоит

На счет PBIS ничего сказать не могу, не пробовал, но вот на счет GSSAPI — SMB:
Так тут GSSAPI как раз используется. Есть одно немаловажное различие: SMB не говорит в чем у него проблема при попытке ввода в домен — просто с ошибкой вываливается, а msktutil при —verbose говорит. Например:
modify_ext: ldap_modify_ext_s failed (Insufficient access)
ldap modification of CN=…
failed while trying to change msDs-supportedEncryptionTypes to 28.
Error was: Insufficient access

Источник

Добавить комментарий

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

  • Debian не видит сеть windows
  • Debian ввод в windows домен
  • Debian windows локальная сеть
  • Debian samba windows 7
  • Debian rdp client windows