Ввод в домен консольными командами Список команд для быстрого ввода в домен через консоль Ограничение доступа входа на ПК для доменных пользователей
Имя ПК должно содержать только буквы (a–z), цифры (0–9), знак ''минус'' (-) и точку (.).
Данная инструкция не подходит для ПК, на которых установлено ПО SecretNet версии 1.9.
Вы можете подробнее ознакомиться с информацией по вводу компьютера в домен, просмотрев наши обучающие видео:
на RuTube — Ввод ПК с РЕД ОС в домен Windows;
в Яндекс.Дзен — Ввод ПК с РЕД ОС в домен Windows;
в VK Видео — Ввод ПК с РЕД ОС в домен Windows.
На наших каналах вы также сможете найти много другой полезной информации.
Подключаемся к домену Active Directory с помощью realmd.
realmd
Realmd (Realm Discovery) – это сервис, позволяющий производить настройку сетевой аутентификации и членства в домене MS AD без сложных настроек. Информация о домене обнаруживается автоматически. Для аутентификации и проверки учетных записей realmd использует SSSD (через Kerberos и LDAP) (также может использоваться и Winbind).
Время на контроллере домена и на клиенте должно быть одинаково. Для синхронизации времени клиентского ПК с контроллером домена используйте клиент chrony. Откройте файл конфигурации NTP клиента CHRONY с помощью команды:
sudo nano /etc/chrony.conf
Удалите или закомментируйте в нем строки с серверами по умолчанию, а в качестве сервера времени укажите сервер контроллера домена:
server <FQDN_имя_контроллера_домена> iburst
После изменений конфигурационного файла вам надо перезапустить chronyd:
sudo systemctl restart chronyd
Проверьте работу chrony с помощью двух команд::
systemctl status chronyd
chronyc tracking
Пример вывода команды:
$ systemctl status chronyd chronyd.service - NTP client/server Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled) Active: active (running) since Вт 2019-07-09 11:13:49 MSK; 5min ago Process: 683 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS) Process: 639 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS) Main PID: 650 (chronyd) CGroup: /system.slice/chronyd.service └─650 /usr/sbin/chronyd
$ chronyc tracking Reference ID : 10.81.1.196 (dc.win.redos) Stratum : 4 Ref time (UTC) : Wed Mar 4 09:44:17 2020 System time : 0.000169261 seconds slow of NTP time Last offset : -0.000182217 seconds RMS offset : 0.000182217 seconds Frequency : 1.939 ppm slow Residual freq : -0.602 ppm Skew : 1.234 ppm Root delay : 0.047364 seconds Root dispersion : 0.087531 seconds Update interval : 64.7 seconds Leap status : Normal
sudo dnf install realmd sssd oddjob oddjob-mkhomedir adcli samba-common samba-common-tools krb5-workstation
realm discover < realm name >
!!! Не рекомендовано использовать домен .local !!! Он зарезервирован для автоматически конфигурируемых сетей.
Для отключения mdns4 выполните команду:
sudo authselect disable-feature with-mdns4
sudo realm join -U -v <имя_администратора_домена> <realm_name>
Пример:
sudo realm join -U -v администратор win.redos
При успешном вводе ПК в домен, в конце вы увидите сообщение "* Successfully enrolled machine in realm"
"* Successfully enrolled machine in realm"
realm list
$ realm list win.redos type: kerberos realm-name: WIN.REDOS domain-name: win.redos configured: kerberos-member server-software: active-directory client-software: sssd required-package: oddjob required-package: oddjob-mkhomedir required-package: sssd required-package: adcli required-package: samba-common-tools login-formats: %U@win.redos login-policy: allow-realm-logins
adcli
$ adcli info win.redos [domain] domain-name = win.redos domain-short = WIN domain-forest = win.redos domain-controller = dc.win.redos domain-controller-site = Default-First-Site-Name domain-controller-flags = pdc gc ldap ds kdc timeserv closest writable full-secret ads-web domain-controller-usable = yes domain-controllers = dc.win.redos [computer] computer-site = Default-First-Site-Name
/etc/sssd/sssd.conf
sudo nano /etc/sssd/sssd.conf
Приведите строки к указанному ниже виду:
use_fully_qualified_names = False ad_gpo_access_control = permissive
sudo authselect select sssd with-fingerprint with-gssapi with-mkhomedir with-smartcard --force
Для доступа к сетевым ресурсам без запроса пароля (с помощью Kerberos) в файле /etc/krb5.conf нужно закомментировать строку
default_ccache_name = KEYRING:persistent:%{uid}
После нее вставить строку:
default_ccache_name = FILE:/tmp/krb5cc_%{uid}
Изменить значение параметра можно следующей командой:
sudo sed -i 's;default_ccache_name = KEYRING:persistent:%{uid};default_ccache_name = FILE:/tmp/krb5cc_%{uid};g' /etc/krb5.conf
В секцию [libdefaults] нужно добавить параметр default_realm = REALM NAME
[libdefaults]
default_realm = REALM NAME
Пример записи для домена win.redos:
default_realm = WIN.REDOS
Добавить параметр можно следующей командой (вместо REALM NAME укажите название своего домена ПРОПИСНЫМИ буквами):
REALM NAME
sudo sed -i '/krb5cc_%{uid}/a default_realm = REALM NAME' /etc/krb5.conf
Этот параметр позволит пользователям при выполнении команды kinit не указывать полное имя пользователя (то есть можно использовать короткое имя пользователя user вместо user@WIN.REDOS).
kinit
$ kinit user Password for user@WIN.REDOS:
В связи с тем, что клиент Kerberos в Linux использует самый безопасный алгоритм шифрования при подключении к серверу Kerberos на MS AD, а 2008 версия windows не поддерживает его, вам придется явно указать, какими алгоритмами пользоваться клиенту. Отредактируйте файл /etc/krb5.conf. В секцию [libdefaults] впишите
[libdefaults] ... default_tgs_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 RC4-HMAC DES-CBC-CRC DES3-CBC-SHA1 DES-CBC-MD5 default_tkt_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 RC4-HMAC DES-CBC-CRC DES3-CBC-SHA1 DES-CBC-MD5 preferred_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 RC4-HMAC DES-CBC-CRC DES3-CBC-SHA1 DES-CBC-MD5
Перезагрузите компьютер и попробуйте зайти под учетной записью доменного пользователя.
$ systemctl status sssd sssd.service - System Security Services Daemon Loaded: loaded (/usr/lib/systemd/system/sssd.service; enabled; vendor preset: disabled) Active: active (running) since Вт 2019-08-27 11:26:16 MSK; 2h 5min ago Main PID: 31918 (sssd) CGroup: /system.slice/sssd.service ├─31918 /usr/sbin/sssd -i --logger=files ├─31919 /usr/libexec/sssd/sssd_be --domain implicit_files --uid 0 --gid 0 --logger=files ├─31920 /usr/libexec/sssd/sssd_be --domain win.redos --uid 0 --gid 0 --logger=files ├─31921 /usr/libexec/sssd/sssd_nss --uid 0 --gid 0 --logger=files └─31922 /usr/libexec/sssd/sssd_pam --uid 0 --gid 0 --logger=files
Далее будут приведены примерные настройки конфигурационного файла smb.conf:
В блоке [global] указываются общие настройки.
Укажите свои данные домена для параметров workgroup и realm:
# Короткое имя домена в верхнем регистре workgroup = WIN # Домен в верхнем регистре realm = WIN.REDOS
# тип аутентификации, используемый для подключения к домену. security = ADS # определяет базу данных, которая будет использоваться для хранения учетных записей. passdb backend = tdbsam # определяет, будет ли winbind перечислять группы из домена. winbind enum groups = Yes # определяет, будет ли winbind перечислять пользователей из домена. winbind enum users = Yes # определяет, будет ли winbind перечислять пользователей из домена. winbind offline logon = Yes # определяет, будет ли использоваться домен по умолчанию при входе в систему пользователей без указания имени домена. winbind use default domain = No # определяет, будет ли winbind обновлять билеты Kerberos. winbind refresh tickets = Yes # определяет время кэширования ID-отображений. idmap cache time = 900 # настройки отображения ID между Windows и Unix. idmap config * : backend = tdb idmap config * : range = 10000-99999 idmap config SMBIND : backend = rid idmap config SMBIND : range = 100000-999999 # минимальная версия SMB протокола клиента. client min protocol = NT1 # максимально возможная версия SMB протокола клиента. client max protocol = SMB3 # путь к файлу ключей Kerberos. dedicated keytab file = /etc/krb5.keytab # метод аутентификации Kerberos. kerberos method = secrets and keytab # время обновления пароля машины. machine password timeout = 60 # определяет объекты VFS, используемые при монтировании файловой системы. vfs objects = acl_xattr # определяет, будет ли ACL-наследование применяться при создании файлов и каталогов. map acl inherit = yes # определяет, будут ли атрибуты DOS храниться в расширенных атрибутах файла. store dos attributes = yes printing = cups printcap name = cups load printers = yes cups options = raw
Настройки блока [global] завершены.
Далее следует изменить блок [homes], в котором необходимо указать настройки для доступа к папкам пользователей:
[homes] comment = Home Directories # "valid users" определеяет список пользователей или групп пользователей, которые имеют доступ к ресурсу. # %S - подстановочный символ, который заменяется на имя текущей службы, # %D - подстановочный символ, который заменяется на имя домена, # %w - подстановочный символ, который заменяется на имя текущей машины. valid users = %S, %D%w%S # отключает/включает отображение данного ресурса в списке доступных ресурсов в проводнике или браузере файлов. browseable = No # разрешает запись на ресурс read only = No # позволяет унаследовать доступы на файлы и папки, если они не были явно настроены для данного ресурса. inherit acls = Yes
В блоке [printers] укажите настройки для доступа к принтерам:
[printers] comment = All Printers path = /var/tmp # устанавливает, что данная секция является принтером printable = Yes # права доступа для создания файлов create mask = 0600 browseable = No
В блоке [print$] укажите параметры печати:
[print$] comment = Printer Drivers # путь к директории, которая будет использоваться для хранения драйверов принтеров path = /var/lib/samba/drivers # список пользователей/групп, имеющих права на запись write list = @printadmin root # устанавливает группу, которая будет установлена при создании файла/директории force group = @printadmin # устанавливает права доступа для создания файлов create mask = 0664 # устанавливает права доступа для создания директорий directory mask = 0775
Настройка файла smb.conf завершена. Обратите внимание, что приведены примерные настройки, которые могут быть изменены при необходимости.
/etc/sudoers
$ sudo nano /etc/sudoers
Добавьте в файл следующую строку, сохраните изменения и закройте редактор.
%администраторы\ домена ALL=(ALL) ALL
Данный параметр можно добавить командой:
sudo sh -c "echo '%администраторы\ домена ALL=(ALL) ALL' >> /etc/sudoers"
Имя доменного пользователя должно состоять из латинских символов (кириллицу в имени пользователя использовать не рекомендуется).
В данном разделе собраны команды из раздела Ввод в домен консольными командами. Описание всех команд можно посмотреть в вышеуказанном подразделе. Не забудьте выполнить предварительную настройку ПК (задать имя и настроить сетевое соединение).
1. Настройте NTP-клиент
Здесь введите своё FQDN имя контроллера домена.
sudo sed -i 's/server/#server/g' /etc/chrony.conf sudo sh -c "echo 'server <FQDN_имя_контроллера_домена> iburst' >> /etc/chrony.conf" sudo systemctl restart chronyd chronyc tracking
2. Установите необходимые пакеты, выполните поиск и настройку домена и введите компьютер в домен.
sudo dnf install realmd sssd oddjob oddjob-mkhomedir adcli samba-common samba-common-tools krb5-workstation realm discover <имя_домена> sudo realm join -U -v <имя_администратора_домена> <имя_домена>
При успешном вводе машины в домен вы увидите сообщение «* Successfully enrolled machine in realm»
3. Отредактируйте файл sssd.conf и разрешите доменным пользователям создавать домашние директории.
sudo sed -i 's/use_fully_qualified_names = True/use_fully_qualified_names = False/g' /etc/sssd/sssd.conf sudo sh -c "echo 'ad_gpo_access_control = permissive' >> /etc/sssd/sssd.conf" sudo authselect select sssd with-fingerprint with-gssapi with-mkhomedir with-smartcard --force
4. Чтобы убрать предупреждение "rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)" при выводе команды testparm -s:
"rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)"
testparm -s
sudo sh -c "echo '* - nofile 16384' >> /etc/security/limits.conf" sudo sh -c "echo 'root - nofile 16384' >> /etc/security/limits.conf"
sudo sed -i '/\[libdefaults\]/a \ default_tkt_enctypes = RC4-HMAC, DES-CBC-CRC, DES3-CBC-SHA1,DES-CBC-MD5\n default_tgs_enctypes = RC4-HMAC, DES-CBC-CRC, DES3-CBC-SHA1, DES-CBC-MD5' /etc/krb5.conf
default_ccache_name
Добавление параметра default_realm = REALM NAME в секцию [libdefaults] позволит пользователям при выполнении команды kinit не указывать полное имя пользователя (то есть можно использовать короткое имя пользователя user вместо user@WIN.REDOS). Добавить параметр можно следующей командой (вместо REALM NAME укажите название своего домена ПРОПИСНЫМИ буквами):
access_provider = simple simple_allow_users = user1@example.com, user2@example.com simple_allow_groups = group@example.com
Дата последнего изменения: 07.03.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
Нажимая «Отправить запрос», вы соглашаетесь с условиями обработки персональных данных.
Вы будете получать только актуальную информацию по обновлению безопасности
Подписываясь на уведомления, вы соглашаетесь с условиями обработки персональных данных.
На ваш почтовый адрес отправлено письмо с подтверждением подписки.