Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gpupdate, default realm и все что с этим связано #143

Open
x09 opened this issue Aug 18, 2021 · 5 comments
Open

gpupdate, default realm и все что с этим связано #143

x09 opened this issue Aug 18, 2021 · 5 comments
Labels
bug Something isn't working
Projects

Comments

@x09
Copy link

x09 commented Aug 18, 2021

AltLinux Workstation 9.x
Огромное количество вопосов по функционированию gpupdate. Начну с самого начала.

Последние обновления всего. Введен в домен, авторизация работает, билеты получает.

Вхожу доменным юзером, смотрю билет

$ klist
Ticket cache: KEYRING:persistent:215651267:krb_ccache_0AIVo0K
Default principal: *****@*****.LOCAL

Valid starting       Expires              Service principal
18.08.2021 11:53:39  18.08.2021 21:53:39  krbtgt/*****.LOCAL@*****.LOCAL
        renew until 25.08.2021 11:53:39

выдан, все хорошо.

Имя машины ALT-TEST-01L, это и хостнейм и в домен введена пож этим именем
Смотрю, что есть

Keytab name: FILE:/etc/krb5.keytab
KVNO Principal
---- --------------------------------------------------------------------------
   3 host/alt-test-01l.*****[email protected] (aes256-cts-hmac-sha1-96) 
   3 host/ALT-TEST-01L@*****.LOCAL (aes256-cts-hmac-sha1-96) 
   3 host/alt-test-01l.*****.local@*****.LOCAL (aes128-cts-hmac-sha1-96) 
   3 host/ALT-TEST-01L@*****.LOCAL (aes128-cts-hmac-sha1-96) 
   3 host/alt-test-01l.*****.local@*****.LOCAL (arcfour-hmac) 
   3 host/ALT-TEST-01L@*****.LOCAL (arcfour-hmac) 
   3 ALT-TEST-01L$@*****.LOCAL (aes256-cts-hmac-sha1-96) 
   3 ALT-TEST-01L$@*****.LOCAL (aes128-cts-hmac-sha1-96) 
   3 ALT-TEST-01L$@*****.LOCAL (arcfour-hmac) 

все замечательно. Идем дальше. Включаем gpupdate

/usr/sbin/gpupdate-setup write enable workstation

Смотрим, что и как работает

$ sudo gpoa --loglevel 0
2021-08-18 11:54:13.213|[D00001]| Произведён запуск GPOA для обновления политик пользователя|{"username": "root", "uid": 0}
2021-08-18 11:54:13.214|[D00002]| Имя пользователя не указано - будет использовано имя владельца процесса|{"username": "root"}
2021-08-18 11:54:13.215|[D00015]| Определено имя пользователя для фронтенда|{"username": "root"}
2021-08-18 11:54:13.216|[D00003]| Инициализация плагинов|{}
2021-08-18 11:54:13.217|[D00004]| Инициализирован плагин ADP|{}
2021-08-18 11:54:13.218|[D00005]| Запущен плагин ADP|{}
2021-08-18 11:54:14.413|[D00018]| Имя домена Active Directory успешно определено при запросе к LDAP|{"domain": "adm72.local"}
2021-08-18 11:54:14.414|[D00009]| Инициализация бэкэнда Samba|{"domain": "*****.local"}
kinit: Configuration file does not specify default realm when parsing name ALT-TEST-01L$
2021-08-18 11:54:14.427|[E00007]| Невозможно инициализировать бэкэнд Samba|{"error": "kinit is not successful"}

не запускается, что-то в сторону default realm.. смотрим /etc/krb5.conf

Он полностью дефолтный, default_realm за коментирован.

$ cat /etc/krb5.conf
includedir /etc/krb5.conf.d/

[logging]
# default = FILE:/var/log/krb5libs.log
# kdc = FILE:/var/log/krb5kdc.log
# admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 dns_lookup_kdc = true
 dns_lookup_realm = true
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 rdns = false
# default_realm = EXAMPLE.COM
 default_ccache_name = KEYRING:persistent:%{uid}

[realms]
# EXAMPLE.COM = {
#  default_domain = example.com
# }

[domain_realm]
# .example.com = EXAMPLE.COM
# example.com = EXAMPLE.COM

Пишу свой realm, т.е. правлю 1 строку, получаю

[logging]
# default = FILE:/var/log/krb5libs.log
# kdc = FILE:/var/log/krb5kdc.log
# admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 dns_lookup_kdc = true
 dns_lookup_realm = true
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 rdns = false
 default_realm = *****.LOCAL
 default_ccache_name = KEYRING:persistent:%{uid}

[realms]
# EXAMPLE.COM = {
#  default_domain = example.com
# }

[domain_realm]
# .example.com = EXAMPLE.COM
# example.com = EXAMPLE.COM

Смотрим, что и как работает снова

$ sudo gpoa --loglevel 0

процесс пошел.. вытягиваются гр. политики.. несколько экранов строк, все с виду ок..
немного напрягает в конце строка..

2021-08-18 12:09:45.640|[E00024]| Ошибка во время работы applier для машины|{"applier_name": "ntp", "msg": "'NoneType' object has no attribute 'data'"}

но пока не до нее, пропускаем.

Отключаюсь от машины. Захожу снова. Локально в графике, или через ssh не суть. Авторизация проходит, хотя было пару раз

org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

идем дальше..

$ klist
klist: Credentials cache keyring 'persistent:215651267:krb_ccache_BcE7JOk' not found

если сильно долго ждать.. минут 5-10, то klist отработает нормально
Если закомментировать обратно в /etc/krb5.conf строку default_realm, сработает сразу.

Если нужен конфиг sssd.conf то вот он

$ sudo cat  /etc/sssd/sssd.conf

[sssd]
config_file_version = 2
user = root
domains = *****.LOCAL
services = pam,nss

[nss]

[pam]

[domain/ADM72.LOCAL]
  id_provider = ad
  auth_provider = ad
  chpass_provider = ad
  default_shell = /bin/bash
  fallback_homedir = /home/%d/%u
  ad_server = dc2-*****.*****.local
  ad_backup_server = _srv_
  cache_credentials = true
  debug_level = 2
  ad_site = IPС-*****
  ad_gpo_map_service = +xrdp-sesman

т.е. либо получать нормально билеты, либо использовать gpupdate. Что я делаю не так?

@mastersin
Copy link
Member

Давайте уточним версию gpupdate. Realm, по умолчанию у нас через system-auth (утилита ввода в домен) устанавливается. Хотелось бы уточнить разницу между настройками, которые у вас получаются "вручную", с настройками, которые получаются системными инструментами.

Дефолтный realm в krb5.conf, конечно, может быть и не установлен. Но в smb.conf, он же все равно задан. Нужно, видимо, брать от туда.

Можно ли получить полный лог, при штатной отработке?

Ещё один момент отладки:
gpoa (loglevel тут не в счёт - это опция) без параметра отрабатывает только для машины. Для пользователя нужно повторно запустить:

gpoa --loglevel 0 USERNAME

Хотелось бы оба полных лога увидеть (можно в привате).

@x09
Copy link
Author

x09 commented Aug 18, 2021

  1. gpupdate-0.9.2
  2. так повелось, что использую net ads join.. есть ли принципиальная разница между
    net ads join -U administrator%Pa$$word -S dc-server и system-auth write ad REALM Hostname WORKGROUP 'administrator' 'Pa$$word' для ввода в домен?
$ sudo system-auth list
local
krb5
ad

shevtsovay@alt-test-01l ~ $ sudo system-auth status
unknown status
  1. Логи ушли в личную тебе телегу
    В логах политика называется Alt_P9_Install, там два действия - установка 2 пакетов, и ярлыки..

@ghost
Copy link

ghost commented Aug 18, 2021

I can see

ad_server = ****.local

in SSSD configuration. I suppose there may be problems with SYSVOL sync in case of working domain controller autodetection in case of buggy DNS or dead controllers. There is an option in gpupdate.ini to force synchronisation with specific domain controller.

@ghost
Copy link

ghost commented Aug 18, 2021

Edited the report to avoid specifying domain and realm names.

@ghost ghost added the bug Something isn't working label Aug 18, 2021
@ghost
Copy link

ghost commented Aug 18, 2021

Testing PR #145 .

@ghost ghost added this to In review in Planning Aug 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Planning
  
In review
Development

No branches or pull requests

2 participants