Редакция январь, 2026
Аннотация
Содержание

Таблица 2.1. Состав технических и программных средств стенда
|
№ ПЭВМ
|
Программная среда
|
Описание
|
|---|---|---|
|
1
|
ОС «Альт Сервер»
|
Контроллер домена test.alt
|
|
2
|
ОС «Альт Сервер»
|
Дополнительный контроллер домена test.alt
|
|
3
|
ОС Альт («Альт Рабочая станция», «Альт Рабочая станция K», «Альт Образование»)
|
Рабочая станция
|
|
4
|
ОС Альт («Альт Рабочая станция», «Альт Рабочая станция K», «Альт Образование»)
|
Рабочая станция
|
|
5
|
ОС Microsoft Windows Server 2012
|
Контроллер домена win.alt
|
|
6
|
ОС «Альт Сервер»
|
Контроллер домена example.alt
|
|
7
|
ОС «Альт Сервер»
|
Веб-сервер, прокси-сервер
|
|
8
|
ОС «Альт Сервер»
|
Контроллер домена test.alt только для чтения (RODC)
|
|
9
|
ОС Альт («Альт Рабочая станция», «Альт Рабочая станция K», «Альт Образование»)
|
Рабочая станция
|
Важно
Объем (в KB) = Uc × 50KB + Cc × 10KB + Mc × 1KBгде:
Таблица 3.1. Рекомендации по объёму оперативной памяти
|
Количество пользователей
|
Минимальный объём ОЗУ
|
Рекомендуемый объём ОЗУ
|
|---|---|---|
|
до 10 000
|
2 ГБ
|
8 ГБ
|
|
до 20 000
|
4 ГБ
|
16 ГБ
|
|
до 50 000
|
8 ГБ
|
16 ГБ
|
|
до 100 000
|
16 ГБ
|
32 ГБ
|
|
до 200 000
|
32 ГБ
|
32 ГБ
|
|
до 500 000
|
64 ГБ
|
64 ГБ
|
|
до 1 000 000
|
128 ГБ
|
128 ГБ
|
Важно
Примечание
22000 / 300 = 74 аутентификации в секунду 74/2 = 37 ядерили:
22000 / (2*300) = 37Итоговая формула:
CPU_cores = Uc / (r × t)
Содержание

Предупреждение

Предупреждение
Предупреждение
dd:
#где <файл-образа.iso> — образ диска ISO, аddoflag=direct if=<файл-образа.iso> of=/dev/sdX bs=1M status=progress;sync
/dev/sdX — устройство, соответствующее flash-диску.
#где <файл-образа.iso> — образ диска ISO, аpv<файл-образа.iso> | dd oflag=direct of=/dev/sdX bs=1M;sync
/dev/sdX — устройство, соответствующее flash-диску.
lsblk или (если такой команды нет) blkid.
$ lsblk | grep disk
sda 8:0 0 931,5G 0 disk
sdb 8:16 0 931,5G 0 disk
sdc 8:32 1 7,4G 0 disk
flash-диск имеет имя устройства sdc.
# dd oflag=direct if=/home/iso/alt-server-11.1-x86_64.iso of=/dev/sdc bs=1M status=progress; sync
# pv /home/iso/alt-server-11.1-x86_64.iso | dd oflag=direct of=/dev/sdc bs=1M;sync
dd: warning: partial read (524288 bytes); suggest iflag=fullblock
3GiB 0:10:28 [4,61MiB/s] [===================================> ] 72% ETA 0:04:07
Предупреждение
sudo dd if=alt-server-11.1-x86_64.isoof=/dev/rdiskX bs=10Msync
alt-server-11.1-x86_64.iso — образ диска ISO, а /dev/rdiskX — flash-диск.
diskutil list
Предупреждение
$ du -b alt-server-11.1-x86_64.iso | cut -f1
4996036608
$ md5sum alt-server-11.1-x86_64.iso
0a83ba8334ce61bca8fc2399e04ffa6d alt-server-11.1-x86_64.iso
# head -c 4996036608 /dev/sdd | md5sum
0a83ba8334ce61bca8fc2399e04ffa6d
где размер после -c — вывод в п.1, а /dev/sdd — устройство DVD или USB Flash, на которое производилась запись.
Примечание
Примечание

Примечание



Примечание



/var.
Примечание
Предупреждение

Примечание



Примечание


Примечание



Примечание


#apt-get update#apt-get dist-upgrade#update-kernel#apt-get clean#reboot
Примечание
$ su -
или зарегистрировавшись в системе (например, на второй консоли Ctrl+Alt+F2) под именем root.
Примечание
alteratorctl components.
$ alteratorctl editions
Альт Домен (edition_domain)
* Альт Сервер (edition_server)
Звёздочкой (*) отмечена текущая редакция.
$ alteratorctl editions license edition_domain
$ alteratorctl editions set edition_domain
Примечание
$ alteratorctl editions
* Альт Домен (edition_domain)
Альт Сервер (edition_server)



Предупреждение
Содержание
Примечание
Примечание
Примечание
https://tools.ietf.org/html/rfc2606), например, domain.example.
Важно
avahi-daemon.
Примечание
sAMAccountName в Active Directory).

Таблица 8.1. Порты, используемые контроллером домена
|
Служба
|
Порт
|
Протокол
|
Примечание
|
|---|---|---|---|
|
DNS
|
53
|
TCP и UDP
|
Используется для разрешения имён между DC и клиентами. Может быть реализован внутренним DNS Samba или через Bind9
|
|
Kerberos
|
88
|
TCP и UDP
|
Для аутентификации Kerberos
|
|
NTP
|
123
|
UDP (Опционально)
|
Если на DC настроен и работает NTP
|
|
End Point Mapper (DCE/RPC Locator Service)
|
135
|
TCP
|
Для клиентских операций с DC
|
|
NetBIOS Name Service
|
137
|
UDP
|
|
|
NetBIOS Datagram
|
138
|
UDP
|
Для репликации файлов между DC
|
|
NetBIOS Session
|
139
|
TCP
|
Для репликации файлов между DC
|
|
LDAP
|
389
|
TCP и UDP
|
Для клиентских запросов к контроллерам
|
|
SMB over TCP
|
445
|
TCP
|
Для репликации файлов
|
|
Kerberos
|
464
|
TCP и UDP
|
Используется
kadmin для установки и смены пароля Kerberos
|
|
LDAPS
|
636
|
TCP
|
Если в
smb.conf установлен параметр tls enabled = yes (по умолчанию)
|
|
Global Catalog
|
3268
|
TCP
|
Для клиентского доступа к глобальному каталогу
|
|
Global Catalog SSL
|
3269
|
TCP
|
Если в
smb.conf установлен параметр tls enabled = yes (по умолчанию)
|
|
Dynamic RPC Ports
|
49152-65535
|
TCP
|
Диапазон, используемый Windows Server 2008+. Задаётся параметром
rpc server port в smb.conf. Подробнее см. в описании данного параметра на справочной странице man smb.conf.
|
Примечание
SAMBA_INTERNAL — встроенный DNS-сервер:
SAMBA_INTERNAL не поддерживает следующий функционал:
BIND9_DLZ — DNS-сервер на основе BIND с хранением зон в Samba AD:
Примечание
Важно
BIND9_FLATFILE не поддерживается.
Примечание
samba-tool domain provision, при котором администратор вручную выполняет все этапы создания домена и последующей настройки сервисов. Второй способ — использование модуля управления сервисами, который автоматически выполняет полный цикл развёртывания: создание домена, а также настройку необходимых конфигурационных файлов, включая smb.conf и krb5.conf.
# apt-get install chrony
# control chrony server
Примечание
# sed -i -r 's/^(pool.*)/#\1\npool ru.pool.ntp.org iburst/' /etc/chrony.conf
или указать серверы NTP в директиве server или pool в файле конфигурации NTP /etc/chrony.conf:
pool ru.pool.ntp.org iburst
Примечание
iburst ускоряет начальную синхронизацию, отправляя несколько запросов подряд при старте.
chronyd:
# systemctl enable --now chronyd
# systemctl status chronyd.service
Примечание

# hostnamectl set-hostname <имя узла>
Например:
# hostnamectl set-hostname dc1.test.alt
Примечание

# hostnamectl set-hostname dc1.test.alt
/etc/net/ifaces/enp0s3/resolv.conf со следующим содержимым:
nameserver 127.0.0.1 nameserver 8.8.8.8 search test.altгде enp0s3 — имя интерфейса;
# resolvconf -u
/etc/resolv.conf:
nameserver 127.0.0.1 search test.alt
Примечание
/etc/resolvconf.conf должна присутствовать строка:
name_servers=127.0.0.1Если этой нет — добавьте её в конец файла и обновите конфигурацию:
# resolvconf -u
DNSStubListener:
/etc/systemd/resolved.conf) установите значение:
DNSStubListener=no
systemd-resolved:
# systemctl restart systemd-resolved
alteratorctl, а также из графического интерфейса с помощью приложения alt-services.
# apt-get install alterator-service-samba-ad
# apt-get install alt-services
alteratorctl services deploy service_samba_ad позволяет развернуть новый домен или присоединить дополнительный DC к существующему домену.
$ alteratorctl services deploy service_samba_ad [ОПЦИИ] [ПАРАМЕТРЫ]
Возможные опции:
-f, --force-deploy — принудительное развёртывание сервиса;
-y, --yes — автоматически отвечать ДА на все вопросы;
--no-default — не использовать значения по умолчанию, если параметр не установлен.
alteratorctl services deploy service_samba_ad поддерживает множество параметров (см. табл. Параметры команды deploy service_samba_ad), позволяющих гибко настроить контроллер домена. Эти параметры удобно использовать как при ручной настройке, так и в автоматизированных скриптах.
$ alteratorctl services deploy service_samba_ad --help
Таблица 10.1. Параметры команды deploy service_samba_ad
|
Параметр
|
Описание
|
|---|---|
--adminPassword=PASSWORD
|
Задаёт пароль администратора домена (если не указан, пароль запрашивается в интерактивном режиме)
|
--backendStore=<tdb|mdb>
|
Тип базы — формат внутреннего хранилища каталога Samba:
|
--backendStore.mdb.backendStoreSize=<1-...>
|
Размер базы mdb для Samba AD в гигабайтах (по умолчанию — 4)
|
--dnsSettings.dnsBackend=<SAMBA_INTERNAL|BIND9_DLZ>
|
Бэкенд DNS — DNS-сервер для обслуживания доменной зоны:
|
--dnsSettings.dnsBackend.BIND9_DLZ.bindSettings.allowQuery.<0-…>=<IP>
|
Список разрешённых подсетей для DNS-запросов. Минимальное допустимое количество подсетей: 1
|
--dnsSettings.dnsBackend.BIND9_DLZ.bindSettings.allowRecursion.<0-…>=<IP>
|
Список разрешённых подсетей для рекурсивных DNS-запросов. Минимальное допустимое количество подсетей: 1
|
--dnsSettings.dnsBackend.BIND9_DLZ.bindSettings.dnssecValidation=<true|false>
|
Включить проверку DNSSEC (по умолчанию — false)
|
--dnsSettings.dnsBackend.BIND9_DLZ.bindSettings.listenOn.<0-…>=<IP>
|
Список IPv4-адресов для прослушивания (по умолчанию — any). Минимальное допустимое количество адресов: 1
|
--dnsSettings.dnsBackend.BIND9_DLZ.bindSettings.listenOnV6.<0-…>=<IP>
|
Список IPv6-адресов для прослушивания (по умолчанию — none). Минимальное допустимое количество адресов: 1
|
--dnsSettings.forwarders.<0-…>=<IP>
|
Список DNS-серверов для пересылки запросов. Минимальное допустимое количество адресов: 1
|
--functionalLevel=<2008_R2|2016>
|
Функциональный уровень — определяет функциональность домена (DFL) и леса (FFL) и влияет на совместимость с версиями Windows Server (по умолчанию — 2008)
|
--hostNetBiosName=HOSTNAME
|
Имя контроллера домена (по умолчанию — имя хоста)
|
--mode=<join|create>
|
Присоединиться к существующему домену (по умолчанию) или создать новый домен
|
--mode.join.adminLogin=ADMINLOGIN
|
Логин администратора домена, необходимый для присоединения контроллера домена и его понижения
|
--mode.join.ipAddressDc=IPADDRESS
|
IPv4-адрес контроллера домена в существующем домене
|
--mode.join.serverRole=<dc|rodc>
|
Роль сервера Samba AD (по умолчанию — dc)
|
--netBiosName=DOMAIN
|
Имя домена NetBIOS (по умолчанию — если для хоста задано полное доменное имя, используется доменная часть FQDN, приведённая к формату NetBIOS)
|
--realm=REALM
|
Kerberos-область и DNS-имя домена (по умолчанию — если для хоста задано полное доменное имя, используется доменная часть FQDN)
|
--siteName=SITENAME
|
Имя сайта Samba AD (по умолчанию — Default-First-Site-Name)
|
--use-rfc2307=<true|false>
|
Поддержка расширенных атрибутов UID и GID в схеме LDAP и ACL на файловой системе Linux
|
alteratorctl services undeploy service_samba_ad останавливает работу сервиса, освобождает ресурсы и возвращает к оригинальным (исходным) настройкам.
# alteratorctl services undeploy service_samba_ad [ОПЦИИ] [ПАРАМЕТРЫ]
Возможные опции:
-y, --yes — автоматически отвечать ДА на все вопросы;
--no-default — не использовать значения по умолчанию, если параметр не установлен.
$ alteratorctl services deploy service_samba_ad --help
Таблица 10.2. Параметры команды undeploy service_samba_ad
|
Параметр
|
Описание
|
|---|---|
--adminLogin=ADMINLOGIN
|
Логин администратора домена, необходимый для понижения контроллера домена
|
--adminPassword=PASSWORD
|
Пароль администратора домена
|
--forceUndeploy=<true|false>
|
Принудительно удалить домен, даже если при понижении контроллера домена возникнут ошибки (по умолчанию — false)
|
--resetToDefaults=<true|false>
|
Вернуть все конфигурационные файлы к значениям по умолчанию (по умолчанию — false). Вся информация о домене будет удалена с данного сервера!
|
--saveCurrentConfig=<true|false>
|
Сохранить конфигурационные файлы перед удалением домена (по умолчанию — false)
|
# alteratorctl services deploy service_samba_ad \
--mode=create \
--realm=test.alt \
--netBiosName=test \
--adminpass='Pa$$word' \
--dnsSettings.dnsBackend=SAMBA_INTERNAL \
--dnsSettings.forwarders.0=8.8.8.8"
где
--mode=crete — создать новый домен;
--realm — область Kerberos (LDAP), и DNS имя домена;
--netBiosName — имя домена (имя рабочей группы);
--adminPassword — пароль основного администратора домена (если параметр не указан, пароль запрашивается в интерактивном режиме);
--dnsSettings.forwarders.0 — внешний DNS-сервер (при необходимости можно добавить несколько, указав --dnsSettings.forwarders.1 и т. д.).
Примечание
Примечание
--use-rfc2307=true позволяет поддерживать расширенные атрибуты типа UID и GID в схеме LDAP и ACL на файловой системе Linux.
Проверка конфликтов ресурсов... Продолжить выполнение "deploy service_samba_ad --mode=create …" со следующими параметрами? ╔═══════════════════════════╤══════════════════╗ ║adminPassword │******* ║ ╟───────────────────────────┴──────────────────╢ ║Пароль администратора. ║ ╠═══════════════════════════╤══════════════════╣ ║backendStore │"tdb" ║ ╟───────────────────────────┴──────────────────╢ ║Тип базы. ║ ║tdb подходит для небольших доменов, mdb для ║ ║крупных доменов. ║ ╠═══════════════════════════╤══════════════════╣ ║dnsSettings.dnsBackend │"SAMBA_INTERNAL" ║ ╟───────────────────────────┴──────────────────╢ ║Бэкенд DNS. ║ ║Бэкенд DNS для Samba AD. ║ ╠═══════════════════════════╤══════════════════╣ ║dnsSettings.forwarders.0 │"8.8.8.8" ║ ╟───────────────────────────┴──────────────────╢ ║Настройки DNS. ║ ║Настройки DNS для Samba AD. ║ ╠═══════════════════════════╤══════════════════╣ ║functionalLevel │"2008_R2" ║ ╟───────────────────────────┴──────────────────╢ ║Функциональный уровень. ║ ║Функциональный уровень домена. ║ ╠═══════════════════════════╤══════════════════╣ ║hostNetBiosName │"dc1" ║ ╟───────────────────────────┴──────────────────╢ ║Имя контроллера домена. ║ ╠═══════════════════════════╤══════════════════╣ ║mode │"create" ║ ╟───────────────────────────┴──────────────────╢ ║Режим. ║ ║Присоединиться к существующему домену или ║ ║создать новый домен. ║ ╠═══════════════════════════╤══════════════════╣ ║netBiosName │"test" ║ ╟───────────────────────────┴──────────────────╢ ║NetBios имя. ║ ║NetBios имя домена, например example. ║ ╠═══════════════════════════╤══════════════════╣ ║realm │"test.alt" ║ ╟───────────────────────────┴──────────────────╢ ║Realm. ║ ║DNS имя домена, например example.com. ║ ╠═══════════════════════════╤══════════════════╣ ║useRfc2307 │false ║ ╟───────────────────────────┴──────────────────╢ ║Использовать RFC 2307. ║ ║RFC 2307 атрибуты позволяют хранить информацию║ ║о пользователях и группах Unix в каталоге ║ ║LDAP. ║ ╚══════════════════════════════════════════════╝ Продолжить? [y/N] y ... Samba AD successfully provisioned and system has been configured.
# alteratorctl services start service_samba_ad
# alteratorctl services deploy service_samba_ad \
--mode=create \
--realm=test.alt \
--netBiosName=test \
--adminpass='Pa$$word' \
--dnsSettings.dnsBackend=SAMBA_INTERNAL \
--dnsSettings.forwarders.0=8.8.8.8" \
--functionalLevel=2016
Примечание
Примечание
$ alt-services


Примечание
Примечание








Примечание
Примечание







# alteratorctl components install samba-dc
или пакет task-samba-dc:
# apt-get install task-samba-dc
# apt-get install task-samba-dc-mitkrb5
Примечание
krb5.conf (в секции — libdefaults) необходимо отключить использование ядерного кеша ключей — KEYRING:persistent:%{uid}:
# control krb5-conf-ccache default
krb5kdc и slapd, а также bind:
# for service in smb nmb krb5kdc slapd bind; do \
systemctl disable $service; \
systemctl stop $service; \
done
Примечание
samba-tool domain provision поддерживает множество опций, позволяющих гибко настроить контроллер домена. Эти параметры удобно использовать как вручную, так и в автоматизированных скриптах.
man samba-tool).
Таблица 10.3. Основные опции для samba-tool domain provision
|
Опция
|
Описание
|
|---|---|
--interactive
|
Запускает интерактивный режим: запрос параметров у пользователя
|
--domain=DOMAIN
|
Устанавливает имя домена NetBIOS (рабочей группы)
|
--domain-guid=GUID
|
Устанавливает GUID домена (иначе используется случайное значение)
|
--domain-sid=SID
|
Устанавливает SID домена (иначе используется случайное значение)
|
--ntds-guid=GUID
|
Устанавливает GUID объекта NTDS (иначе используется случайное значение)
|
--host-name=HOSTNAME
|
Устанавливает имя хоста контроллера домена
|
--host-ip=IPADDRESS
|
Устанавливает IPv4-адрес хоста
|
--host-ip6=IP6ADDRESS
|
Устанавливает IPv6-адрес хоста
|
--adminpass=PASSWORD
|
Задает пароль администратора домена (иначе используется случайное значение)
|
--krbtgtpass=PASSWORD
|
Задает пароль учетной записи krbtgt (иначе используется случайное значение)
|
--dns-backend=NAMESERVER-BACKEND
|
Устанавливает тип DNS-сервера, который будет использоваться контроллером домена:
|
--dnspass=PASSWORD
|
Задает пароль учетной записи DNS (иначе используется случайное значение)
|
--server-role=ROLE
|
Роль сервера:
|
--function-level=FOR-FUN-LEVEL
|
Уровень функциональности домена и леса: 2000, 2003, 2008, 2008_R2 (по умолчанию) или 2016
|
--base-schema=BASE-SCHEMA
|
Версия базовой схемы домена (по умолчанию — 2019)
|
--use-rfc2307
|
Поддержка расширенных атрибутов UID и GID в схеме LDAP и ACL на файловой системе Linux (по умолчанию — no)
|
--machinepass=PASSWORD
|
Пароль компьютера (иначе используется случайное значение)
|
--plaintext-secrets
|
Сохраняет конфиденциальные данные в открытом виде (не рекомендуется, по умолчанию конфиденциальные данные шифруются)
|
--realm=REALM
|
Указывает Kerberos-область и DNS-имя домена
|
--option=OPTION
|
Устанавливает параметры в
smb.conf (например, --option="dns forwarder=8.8.8.8")
|
-s FILE, --configfile=FILE
|
Указывает путь к файлу конфигурации
|
-d DEBUGLEVEL, --debuglevel=DEBUGLEVEL
|
Включает режим отладки (уровень 1–10)
|
dns forwarder (файл smb.conf) указать один или несколько IP-адресов DNS-серверов, поддерживающих рекурсивное разрешение. Например:
dns forwarder = 192.168.0.190 8.8.8.8
Примечание
dns forwarder поддерживают несколько IP-адресов, разделенных пробелами. Старые версии поддерживают один IP-адрес.
Примечание
--dns-backend=SAMBA_INTERNAL или не указывать этот параметр вообще.
#rm -f /etc/samba/smb.conf#rm -rf /var/lib/samba#rm -rf /var/cache/samba#mkdir -p /var/lib/samba/sysvol
Предупреждение
/etc/samba/smb.conf. Samba создаст его автоматически при создании домена.
# samba-tool domain provision
Realm [TEST.ALT]: Domain [TEST]:
Примечание
Server Role (dc, member, standalone) [dc]: DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:
DNS forwarder IP address (write 'none' to disable forwarding) [127.0.0.1]: 8.8.8.8
Administrator password: Retype password:
Примечание
Looking up IPv4 addresses Looking up IPv6 addresses No IPv6 address will be assigned Setting up share.ldb Setting up secrets.ldb Setting up the registry Setting up the privileges database Setting up idmap db Setting up SAM db Setting up sam.ldb partitions and settings Setting up sam.ldb rootDSE Pre-loading the Samba 4 and AD schema Adding DomainDN: DC=test,DC=alt Adding configuration container Setting up sam.ldb schema Setting up sam.ldb configuration data Setting up display specifiers Modifying display specifiers and extended rights Adding users container Modifying users container Adding computers container Modifying computers container Setting up sam.ldb data Setting up well known security principals Setting up sam.ldb users and groups Setting up self join Adding DNS accounts Creating CN=MicrosoftDNS,CN=System,DC=test,DC=alt Creating DomainDnsZones and ForestDnsZones partitions Populating DomainDnsZones and ForestDnsZones partitions Setting up sam.ldb rootDSE marking as synchronized Fixing provision GUIDs The Kerberos KDC configuration for Samba AD is located at /var/lib/samba/private/kdc.conf A Kerberos configuration suitable for Samba AD has been generated at /var/lib/samba/private/krb5.conf Merge the contents of this file with your system krb5.conf or replace it with this one. Do not create a symlink! Once the above files are installed, your Samba AD server will be ready to use Server Role: active directory domain controller Hostname: dc1 NetBIOS Domain: TEST DNS Domain: test.alt DOMAIN SID: S-1-5-21-3202529454-2619939870-177941183
--realm REALM_NAME — имя Kerberos-области (LDAP) и DNS-имя домена;
--domain=DOMAIN — имя NetBIOS (рабочей группы);
--adminpass=PASSWORD — пароль основного администратора домена;
dns forwarder=forwarder_ip_address — внешний DNS-сервер, чтобы DC мог разрешать внешние доменные имена;
--server-role=ROLE — тип серверной роли;
--dns-backend=NAMESERVER-BACKEND — бэкенд DNS-сервера;
--use-rfc2307 — позволяет поддерживать расширенные атрибуты типа UID и GID в схеме LDAP и ACL на файловой системе Linux.
Примечание
# samba-tool domain provision \
--realm=test.alt \
--domain=test \
--adminpass='Pa$$word' \
--dns-backend=SAMBA_INTERNAL \
--option="dns forwarder=8.8.8.8" \
--server-role=dc --use-rfc2307
# samba-tool domain provision \
--realm=test.alt \
--domain=test \
--adminpass='Pa$$word'\
--dns-backend=SAMBA_INTERNAL \
--option="dns forwarder=8.8.8.8" \
--option="ad dc functional level = 2016" \
--server-role=dc \
--function-level=2016
Примечание
Примечание
samba-tool domain provision приведены в в табл. Основные опции для samba-tool domain provision. Полный список параметров можно увидеть, запустив команду:
# samba-tool domain provision --help
Примечание


samba:
# systemctl enable --now samba
Важно
samba необходимо предварительно настроить Kerberos (см. раздел Настройка Kerberos).
/etc/krb5.conf.
/etc/krb5.conf, чтобы знать:
Примечание
samba после установки никаким способом не запускается, попробуйте перезагрузить сервер. Это может быть связано с незавершённой инициализацией или блокировкой ресурсов.
/etc/samba/smb.conf после создания домена с SAMBA_INTERNAL:
Global parameters
[global]
dns forwarder = 8.8.8.8
netbios name = DC1
realm = TEST.ALT
server role = active directory domain controller
workgroup = TEST
idmap_ldb:use rfc2307 = yes
[sysvol]
path = /var/lib/samba/sysvol
read only = No
[netlogon]
path = /var/lib/samba/sysvol/test.alt/scripts
read only = No
# apt-get install bind bind-utils
Примечание
named-checkconf — проверка синтаксиса файлов конфигурации;
named-checkzone — проверка файлов зон DNS;
rndc — инструмент управления службой DNS.
dig — многофункциональный инструмент запросов к DNS;
host — получение информации о доменных именах;
nslookup — позволяет получить информацию DNS об удаленном сервере;
nsupdate — инструмент для динамического обновления записей DNS.
Примечание
named.conf(5).
Примечание
bind:
мая 03 14:25:13 dc1 named[3825]: samba_dlz: Failed to configure zone 'test.alt' мая 03 14:25:13 dc1 named[3825]: loading configuration: already exists мая 03 14:25:13 dc1 named[3825]: exiting (due to fatal error) мая 03 14:39:44 dc1 named[4309]: Loading 'AD DNS Zone' using driver dlopenДля решения проблемы необходимо закомментировать все строки в файле
/etc/bind/local.conf. Это предотвратит автозагрузку конфликтующих зон.
# control bind-chroot disabled
# grep -q KRB5RCACHETYPE /etc/sysconfig/bind || \
echo 'KRB5RCACHETYPE="none"' >> /etc/sysconfig/bind
# grep -q 'bind-dns' /etc/bind/named.conf || \
echo 'include "/var/lib/samba/bind-dns/named.conf";' >> /etc/bind/named.conf
/etc/bind/options.conf:
tkey-gssapi-keytab "/var/lib/samba/bind-dns/dns.keytab"; minimal-responses yes;
forwarders укажите сервера, куда будут перенаправляться запросы, на которые нет информации в локальной зоне (если этой информации нет в файле /etc/bind/resolvconf-options.conf):
forward first;
forwarders { 8.8.8.8; }; # или другие DNS-серверы
listen-on добавьте IP-адрес DNS-сервера, на котором он будет принимать запросы;
allow-query и укажите в нём подсети, из которых разрешено подавать запросы;
allow-recursion и укажите в нём подсети, которым разрешены рекурсивные запросы;
category lame-servers {null;};
/etc/bind/options.conf:
options {
version "unknown";
directory "/etc/bind/zone";
dump-file "/var/run/named/named_dump.db";
statistics-file "/var/run/named/named.stats";
recursing-file "/var/run/named/recursing";
secroots-file "/var/run/named/named.secroots";
// disables the use of a PID file
pid-file none;
tkey-gssapi-keytab "/var/lib/samba/bind-dns/dns.keytab";
minimal-responses yes;
listen-on { 127.0.0.1; 192.168.0.132; };
listen-on-v6 { ::1; };
allow-query { localnets; 192.168.0.0/24; };
allow-recursion { localnets; 192.168.0.0/24; };
forward first;
forwarders { 8.8.8.8; };
//max-cache-ttl 86400;
};
logging {
category lame-servers {null;};
};
Пояснения параметров:
tkey-gssapi-keytab — путь к ключевой таблице для GSS-API (интеграция с Kerberos);
minimal-responses — уменьшает объём ответов;
listen-on — IP-адреса, на которых принимаются запросы;
allow-query — разрешённые подсети для DNS-запросов;
allow-recursion — подсети, которым разрешены рекурсивные запросы;
forwarders — внешние DNS-серверы для пересылки;;
forward first — сначала пересылать, затем кешировать;
logging — подавление предупреждений о «lame servers».
bind:
# systemctl stop bind
Примечание
bind будет перезапущена после создания домена Samba, так как Samba управляет bind через BIND9_DLZ.
#rm -f /etc/samba/smb.conf#rm -rf /var/lib/samba#rm -rf /var/cache/samba#mkdir -p /var/lib/samba/sysvol
Предупреждение
/etc/samba/smb.conf. Samba создаст его автоматически при создании домена.
# samba-tool domain provision
Realm [TEST.ALT]: Domain [TEST]:
Примечание
Server Role (dc, member, standalone) [dc]: DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: BIND9_DLZ
Administrator password: Retype password:
Примечание
Looking up IPv4 addresses Looking up IPv6 addresses No IPv6 address will be assigned Setting up share.ldb Setting up secrets.ldb Setting up the registry Setting up the privileges database Setting up idmap db Setting up SAM db Setting up sam.ldb partitions and settings Setting up sam.ldb rootDSE Pre-loading the Samba 4 and AD schema Adding DomainDN: DC=test,DC=alt Adding configuration container Setting up sam.ldb schema Setting up sam.ldb configuration data Setting up display specifiers Modifying display specifiers and extended rights Adding users container Modifying users container Adding computers container Modifying computers container Setting up sam.ldb data Setting up well known security principals Setting up sam.ldb users and groups Setting up self join Adding DNS accounts Creating CN=MicrosoftDNS,CN=System,DC=test,DC=alt Creating DomainDnsZones and ForestDnsZones partitions Populating DomainDnsZones and ForestDnsZones partitions See /var/lib/samba/bind-dns/named.conf for an example configuration include file for BIND and /var/lib/samba/bind-dns/named.txt for further documentation required for secure DNS updates Setting up sam.ldb rootDSE marking as synchronized Fixing provision GUIDs The Kerberos KDC configuration for Samba AD is located at /var/lib/samba/private/kdc.conf A Kerberos configuration suitable for Samba AD has been generated at /var/lib/samba/private/krb5.conf Merge the contents of this file with your system krb5.conf or replace it with this one. Do not create a symlink! Once the above files are installed, your Samba AD server will be ready to use Server Role: active directory domain controller Hostname: dc1 NetBIOS Domain: TEST DNS Domain: test.alt DOMAIN SID: S-1-5-21-3027347264-3817126084-1256859094
--realm REALM_NAME — имя Kerberos-области (LDAP) и DNS-имя домена;
--domain=DOMAIN — имя NetBIOS (рабочей группы);
--adminpass=PASSWORD — пароль основного администратора домена;
--server-role=ROLE — тип серверной роли;
--dns-backend=NAMESERVER-BACKEND — бэкенд DNS-сервера;
--use-rfc2307 — позволяет поддерживать расширенные атрибуты типа UID и GID в схеме LDAP и ACL на файловой системе Linux.
Примечание
--dns-backend=BIND9_DLZ.
# samba-tool domain provision \
--realm=test.alt \
--domain=test \
--adminpass='Pa$$word' \
--dns-backend=BIND9_DLZ \
--server-role=dc --use-rfc2307
# samba-tool domain provision \
--realm=test.alt \
--domain=test \
--adminpass='Pa$$word'\
--dns-backend=BIND9_DLZ \
--option="ad dc functional level = 2016" \
--server-role=dc \
--function-level=2016
Примечание
Примечание
samba-tool domain provision приведены в в табл. Основные опции для samba-tool domain provision. Полный список параметров можно увидеть, запустив команду:
# samba-tool domain provision --help
samba и bind и запустить их:
#systemctl enable --now samba#systemctl enable --now bind
Важно
samba необходимо предварительно настроить Kerberos (см. раздел Настройка Kerberos).
/etc/krb5.conf.
/etc/krb5.conf, чтобы знать:
Примечание
samba после установки никаким способом не запускается, попробуйте перезагрузить сервер. Это может быть связано с незавершённой инициализацией или блокировкой ресурсов.
Примечание
bind:
мая 03 14:25:13 dc1 named[3825]: samba_dlz: Failed to configure zone 'test.alt' мая 03 14:25:13 dc1 named[3825]: loading configuration: already exists мая 03 14:25:13 dc1 named[3825]: exiting (due to fatal error) мая 03 14:39:44 dc1 named[4309]: Loading 'AD DNS Zone' using driver dlopenДля решения проблемы необходимо закомментировать все строки в файле
/etc/bind/local.conf или удалить его.
Примечание
bind может возникнуть ошибка:
июн 25 09:57:03 dc1 systemd[1]: bind.service: Control process exited, code=exited, status=1/FAILURE июн 25 09:57:03 dc1 systemd[1]: bind.service: Failed with result 'exit-code'. июн 25 09:57:03 dc1 systemd[1]: Failed to start bind.service - Berkeley Internet Name Domain (DNS).Для решения проблемы необходимо создать файл
/etc/systemd/system/bind.service.d/override.conf со следующим содержимым:
[Service] Environment="LDB_MODULES_DISABLE_DEEPBIND=1"Например:
#mkdir -p /etc/systemd/system/bind.service.d#cat << EOF > /etc/systemd/system/bind.service.d/override.conf[Service] Environment="LDB_MODULES_DISABLE_DEEPBIND=1" EOF #systemctl daemon-reload#systemctl enable --now bind
/etc/samba/smb.conf после создания домена с BIND9_DLZ:
# Global parameters
[global]
netbios name = DC1
realm = TEST.ALT
server role = active directory domain controller
server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate
workgroup = TEST
[sysvol]
path = /var/lib/samba/sysvol
read only = No
[netlogon]
path = /var/lib/samba/sysvol/test.alt/scripts
read only = No
# host -t A localhost 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:
localhost has address 127.0.0.1
Проверка реверсивной зоны 0.0.127.in-addr.arpa.:
# host -t PTR 127.0.0.1 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:
1.0.0.127.in-addr.arpa domain name pointer localhost.
/etc/krb5.conf. Он используется для аутентификации Kerberos в домене.
/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 = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
default_realm = TEST.ALT
# default_ccache_name = KEYRING:persistent:%{uid}
[realms]
TEST.ALT = {
default_domain = test.alt
}
[domain_realm]
dc = TEST.ALT
В файле должны быть раскомментированы строка default_realm и содержимое разделов realms и domain_realm, в них должно быть указано название домена (следует обратить внимание на регистр символов). В строке dns_lookup_realm должно быть установлено значение false (отключает автоматическое определение домена по DNS).
Примечание
krb5.conf для домена в каталоге /var/lib/samba/private/. Можно просто заменить этим файлом файл, находящийся в каталоге /etc/:
# cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
# samba-tool domain info 127.0.0.1
Forest : test.alt
Domain : test.alt
Netbios domain : TEST
DC name : dc1.test.alt
DC netbios name : DC1
Server site : Default-First-Site-Name
Client site : Default-First-Site-Name
# smbclient -L localhost -Uadministrator
Password for [TEST\administrator]:
Sharename Type Comment
--------- ---- -------
sysvol Disk
netlogon Disk
IPC$ IPC IPC Service (Samba 4.21.7-alt4)
SMB1 disabled -- no workgroup available
Общие ресурсы netlogon и sysvol создаются автоматически и необходимы для работы контроллера домена.
/etc/resolv.conf:
#cat /etc/resolv.conf# Generated by resolvconf # Do not edit manually, use # /etc/net/ifaces/<interface>/resolv.conf instead. search test.alt nameserver 127.0.0.1 #host test.alttest.alt has address 192.168.0.132
# host -t SRV _kerberos._udp.test.alt.
_kerberos._udp.test.alt has SRV record 0 100 88 dc1.test.alt.
# host -t SRV _ldap._tcp.test.alt.
_ldap._tcp.test.alt has SRV record 0 100 389 dc1.test.alt.
# host -t A dc1.test.alt.
dc1.test.alt has address 192.168.0.132
samba запущена;
bind должна быть остановлена (конфликтует с портом 53);
/etc/resolv.conf указывает на 127.0.0.1.
# kinit administrator@TEST.ALT
Password for administrator@TEST.ALT:
Warning: Your password will expire in 41 days on Вт 30 сен 2025 16:51:49
Просмотр полученного билета:
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@TEST.ALT
Valid starting Expires Service principal
19.08.2025 17:13:17 20.08.2025 03:13:17 krbtgt/TEST.ALT@TEST.ALT
renew until 20.08.2025 17:13:14
Примечание
Примечание
# hostnamectl set-hostname dc2.test.alt
Примечание
Таблица 11.1. Параметры контроллеров домена
| |
IP-адрес
|
Полное доменное имя (FQDN)
|
|---|---|---|
|
Существующий DC
|
192.168.0.132
|
dc1.test.alt
|
|
Добавляемый DC
|
192.168.0.133
|
dc2.test.alt
|
# alteratorctl services deploy service_samba_ad \
--mode=join \
--mode.join.adminLogin=Administrator \
--mode.join.serverRole=dc \
--mode.join.ipAddressDc=192.168.0.132 \
--realm=test.alt \
--netBiosName=test \
--adminpass='Pa$$word' \
--dnsSettings.forwarders.0=8.8.8.8"
где:
--mode=join — присоединение к домену;
--mode.join.adminLogin — логин администратора домена;
--mode.join.serverRole — роль сервера Samba AD;
--mode.join.ipAddressDc — IPv4-адрес контроллера домена в существующем домене;
--adminPassword — пароль основного администратора домена (если параметр не указан, пароль запрашивается в интерактивном режиме);
--dnsSettings.forwarders.0 — внешний DNS-сервер (при необходимости можно добавить несколько, указав --dnsSettings.forwarders.1 и т. д.).
Проверка конфликтов ресурсов... Продолжить выполнение "deploy service_samba_ad --mode=join ..." со следующими параметрами? ╔═══════════════════════════╤══════════════════╗ ║adminPassword │******* ║ ╟───────────────────────────┴──────────────────╢ ║Пароль администратора. ║ ╠═══════════════════════════╤══════════════════╣ ║backendStore │"tdb" ║ ╟───────────────────────────┴──────────────────╢ ║Тип базы. ║ ║tdb подходит для небольших доменов, mdb для ║ ║крупных доменов. ║ ╠═══════════════════════════╤══════════════════╣ ║dnsSettings.dnsBackend │"SAMBA_INTERNAL" ║ ╟───────────────────────────┴──────────────────╢ ║Бэкенд DNS. ║ ║Бэкенд DNS для Samba AD. ║ ╠═══════════════════════════╤══════════════════╣ ║dnsSettings.forwarders.0 │"8.8.8.8" ║ ╟───────────────────────────┴──────────────────╢ ║Настройки DNS. ║ ║Настройки DNS для Samba AD. ║ ╠═══════════════════════════╤══════════════════╣ ║functionalLevel │"2008_R2" ║ ╟───────────────────────────┴──────────────────╢ ║Функциональный уровень. ║ ║Функциональный уровень домена. ║ ╠═══════════════════════════╤══════════════════╣ ║hostNetBiosName │"dc2" ║ ╟───────────────────────────┴──────────────────╢ ║Имя контроллера домена. ║ ╠═══════════════════════════╤══════════════════╣ ║mode │"join" ║ ╟───────────────────────────┴──────────────────╢ ║Режим. ║ ║Присоединиться к существующему домену или ║ ║создать новый домен. ║ ╠═══════════════════════════╤══════════════════╣ ║mode.join.adminLogin │"Administrator" ║ ╟───────────────────────────┴──────────────────╢ ║Логин администратора. ║ ║Логин администратора домена. Необходим для ║ ║присоединения DC к существующему домену и ║ ║понижению контроллера домена. ║ ╠═══════════════════════════╤══════════════════╣ ║mode.join.ipAddressDc │"192.168.0.132" ║ ╟───────────────────────────┴──────────────────╢ ║IPv4 адрес контроллера домена. ║ ║IPv4 адрес контроллера домена в существующем ║ ║домене. ║ ╠═══════════════════════════╤══════════════════╣ ║mode.join.serverRole │"dc" ║ ╟───────────────────────────┴──────────────────╢ ║Роль сервера. ║ ║Роль сервера Samba AD. ║ ╠═══════════════════════════╤══════════════════╣ ║netBiosName │"test" ║ ╟───────────────────────────┴──────────────────╢ ║NetBios имя. ║ ║NetBios имя домена, например example. ║ ╠═══════════════════════════╤══════════════════╣ ║realm │"test.alt" ║ ╟───────────────────────────┴──────────────────╢ ║Realm. ║ ║DNS имя домена, например example.com. ║ ╠═══════════════════════════╤══════════════════╣ ║useRfc2307 │false ║ ╟───────────────────────────┴──────────────────╢ ║Использовать RFC 2307. ║ ║RFC 2307 атрибуты позволяют хранить информацию║ ║о пользователях и группах Unix в каталоге ║ ║LDAP. ║ ╚══════════════════════════════════════════════╝ Продолжить? [y/N] y … active inactive Samba AD successfully joined domain 'test.alt' and system has been configured. Saving deployment configuration to /var/lib/alterator/service/samba-ad/status.json
# alteratorctl services start service_samba_ad






# samba-tool domain join <dnsdomain> [DC|RODC|MEMBER] [options]
samba-tool domain join:
--realm REALM_NAME — имя Kerberos-области (LDAP) и DNS-имя домена;
--dns-backend=NAMESERVER-BACKEND — бэкенд DNS-сервера:
SAMBA_INTERNAL — встроенный сервер имен (по умолчанию);
BIND9_DLZ — BIND с интеграцией в AD;
NONE — без DNS (этот DC не будет DNS-сервером);
Примечание
--option="dns forwarder=IP" — указывает внешний DNS-сервер для пересылки (обязателен приSAMBA_INTERNAL). Форвардером может быть как вышестоящий DNS-сервер организации, так и публичные от Google или Yandex, например:
--option="dns forwarder=8.8.8.8"
--option='idmap_ldb:use rfc2307 = yes' — если первый DC создан с ключом --rfc2307, этот параметр обязателен для согласованности UID/GID;
--site=SITE — привязка контроллера домена к определенному сайту AD;
--option="interfaces= lo eth0" --option="bind interfaces only=yes" — привязка Samba к указанным сетевым интерфейсам (если их несколько). Указание данной опции позволяет samba-tool зарегистрировать корректный IP-адрес при присоединении;
--option="ad dc functional level = LEVEL" — функциональный уровень AD. Возможные значения: 2008_R2 (по умолчанию), 2012, 2012_R2.
Примечание
Примечание
samba-tool domain join можно воспользоваться командой:
# samba-tool domain join --help
Примечание
# apt-get install task-samba-dc
или компонент samba-dc
# alteratorctl components install samba-dc
/etc/resolv.conf должен быть добавлен первый DC как nameserver (enp0s3 — имя интерфейса):
#echo "nameserver 192.168.0.132" >> /etc/net/ifaces/enp0s3/resolv.conf#echo "search test.alt" >> /etc/net/ifaces/enp0s3/resolv.conf#resolvconf -u#cat /etc/resolv.confsearch test.alt nameserver 192.168.0.132 nameserver 8.8.8.8
# for service in smb nmb krb5kdc slapd bind; do \
systemctl disable $service; \
systemctl stop $service; \
done
#rm -f /etc/samba/smb.conf#rm -rf /var/lib/samba#rm -rf /var/cache/samba#mkdir -p /var/lib/samba/sysvol
# samba-tool dns add 192.168.0.132 test.alt DC2 A 192.168.0.133 -Uadministrator
Password for [TEST\administrator]:
Record added successfully
Предупреждение
Примечание
samba-tool dns add см. в разделе Администрирование DNS
/etc/krb5.conf):
[libdefaults] default_realm = TEST.ALT dns_lookup_realm = false dns_lookup_kdc = true
# kinit administrator@TEST.ALT
Password for administrator@TEST.ALT:
Предупреждение
# klist
Ticket cache: KEYRING:persistent:0:0
Default principal: administrator@TEST.ALT
Valid starting Expires Service principal
19.08.2025 17:55:32 20.08.2025 03:55:32 krbtgt/TEST.ALT@TEST.ALT
renew until 26.08.2025 17:55:29
# samba-tool domain join test.alt DC -Uadministrator \
--realm=test.alt --option="dns forwarder=8.8.8.8"
Если всё нормально, в конце будет выведена информация о присоединении к домену:
Joined domain TEST (SID S-1-5-21-3202529454-2619939870-177941183) as a DC
/etc/net/ifaces/enp0s3/resolv.conf и выполнить:
# resolvconf -u
# systemctl enable --now samba
Примечание
# apt-get install task-samba-dc
или компонент samba-dc
# alteratorctl components install samba-dc
/etc/resolv.conf должен быть добавлен первый DC как nameserver (enp0s3 — имя интерфейса):
#echo "nameserver 192.168.0.132" >> /etc/net/ifaces/enp0s3/resolv.conf#echo "search test.alt" >> /etc/net/ifaces/enp0s3/resolv.conf#resolvconf -u#cat /etc/resolv.confsearch test.alt nameserver 192.168.0.132 nameserver 8.8.8.8
# for service in smb nmb krb5kdc slapd bind; do \
systemctl disable $service; \
systemctl stop $service; \
done
#rm -f /etc/samba/smb.conf#rm -rf /var/lib/samba#rm -rf /var/cache/samba#mkdir -p /var/lib/samba/sysvol
# samba-tool dns add 192.168.0.132 test.alt DC2 A 192.168.0.133 -Uadministrator
Password for [TEST\administrator]:
Record added successfully
Предупреждение
Примечание
samba-tool dns add см. в разделе Администрирование DNS
/etc/krb5.conf):
[libdefaults] default_realm = TEST.ALT dns_lookup_realm = false dns_lookup_kdc = true
# kinit administrator@TEST.ALT
Password for administrator@TEST.ALT:
Предупреждение
# klist
Ticket cache: KEYRING:persistent:0:0
Default principal: administrator@TEST.ALT
Valid starting Expires Service principal
19.08.2025 17:55:32 20.08.2025 03:55:32 krbtgt/TEST.ALT@TEST.ALT
renew until 26.08.2025 17:55:29
# samba-tool domain join test.alt DC -Uadministrator \
--realm=test.alt \
--dns-backend=BIND9_DLZ
Если всё нормально, в конце будет выведена информация о присоединении к домену:
Joined domain TEST (SID S-1-5-21-3023984122-667793423-660878337) as a DC
/etc/net/ifaces/enp0s3/resolv.conf и выполнить:
# resolvconf -u
#systemctl enable --now samba#systemctl enable --now bind
Примечание
samba после установки никаким способом не запускается, попробуйте перезагрузить сервер. Это может быть связано с незавершённой инициализацией или блокировкой ресурсов.
Примечание
bind:
мая 03 14:25:13 dc1 named[3825]: samba_dlz: Failed to configure zone 'test.alt' мая 03 14:25:13 dc1 named[3825]: loading configuration: already exists мая 03 14:25:13 dc1 named[3825]: exiting (due to fatal error) мая 03 14:39:44 dc1 named[4309]: Loading 'AD DNS Zone' using driver dlopenДля решения проблемы необходимо закомментировать все строки в файле
/etc/bind/local.conf или удалить его.
Примечание
bind может возникнуть ошибка:
июн 25 09:57:03 dc1 systemd[1]: bind.service: Control process exited, code=exited, status=1/FAILURE июн 25 09:57:03 dc1 systemd[1]: bind.service: Failed with result 'exit-code'. июн 25 09:57:03 dc1 systemd[1]: Failed to start bind.service - Berkeley Internet Name Domain (DNS).Для решения проблемы необходимо создать файл
/etc/systemd/system/bind.service.d/override.conf со следующим содержимым:
[Service] Environment="LDB_MODULES_DISABLE_DEEPBIND=1"Например:
#mkdir -p /etc/systemd/system/bind.service.d#cat << EOF > /etc/systemd/system/bind.service.d/override.conf[Service] Environment="LDB_MODULES_DISABLE_DEEPBIND=1" EOF #systemctl daemon-reload#systemctl enable --now bind
Примечание
# host -t A test.alt
test.alt has address 192.168.0.132
test.alt has address 192.168.0.133
В списке адресов должен отображаться IP-адрес добавленного контроллера домена.
# samba-tool drs showrepl -Uadministrator
Default-First-Site-Name\DC1 via RPC
DSA object GUID: a553c798-af04-4bbf-9c51-e109a877ed8d
Last attempt @ Mon Jun 23 15:09:22 2025 MSK was successful
0 consecutive failure(s).
Last success @ Mon Jun 23 15:09:22 2025 MSK
В пункте Last attempt должны стоять актуальные дата и время, идентичные указанным в строке Last success (отображает время последней репликации). Также должно быть «0 consecutive failure(s)».
# samba-tool user add kim --given-name='Виталий' --surname='Ким' --mail-address='kim@test.alt'
New Password:
Retype Password:
User 'kim' added successfully
# samba-tool user list | grep kim
kim
Примечание
# samba-tool drs showrepl --summary -Uadministrator
Password for [TEST\administrator]:
[ALL GOOD]
# samba-tool domain level show
Domain and forest function level for domain 'DC=test,DC=alt'
Forest function level: (Windows) 2008 R2
Domain function level: (Windows) 2008 R2
Lowest function level of a DC: (Windows) 2008 R2
Таблица 12.1. Параметры контроллеров домена
| |
IP-адрес
|
Полное доменное имя (FQDN)
|
|---|---|---|
|
Существующий RWDC
|
192.168.0.132
|
dc1.test.alt
|
|
Добавляемый RODC
|
192.168.0.134
|
rodc.test.alt
|
# hostnamectl set-hostname rodc.test.alt
Примечание
# alteratorctl services deploy service_samba_ad \
--mode=join \
--mode.join.adminLogin=Administrator \
--mode.join.serverRole=rodc \
--mode.join.ipAddressDc=192.168.0.132 \
--realm=test.alt \
--netBiosName=test \
--adminpass='Pa$$word' \
--dnsSettings.forwarders.0=8.8.8.8"
где:
--mode=join — присоединение к домену;
--mode.join.adminLogin — логин администратора домена;
--mode.join.serverRole — роль сервера Samba AD;
--mode.join.ipAddressDc — IPv4-адрес контроллера домена в существующем домене;
--adminPassword — пароль основного администратора домена (если параметр не указан, пароль запрашивается в интерактивном режиме);
--dnsSettings.forwarders.0 — внешний DNS-сервер (при необходимости можно добавить несколько, указав --dnsSettings.forwarders.1 и т. д.).
Проверка конфликтов ресурсов... Продолжить выполнение "deploy service_samba_ad --mode=join ..." со следующими параметрами? ╔═══════════════════════════╤══════════════════╗ ║adminPassword │******* ║ ╟───────────────────────────┴──────────────────╢ ║Пароль администратора. ║ ╠═══════════════════════════╤══════════════════╣ ║backendStore │"tdb" ║ ╟───────────────────────────┴──────────────────╢ ║Тип базы. ║ ║tdb подходит для небольших доменов, mdb для ║ ║крупных доменов. ║ ╠═══════════════════════════╤══════════════════╣ ║dnsSettings.dnsBackend │"SAMBA_INTERNAL" ║ ╟───────────────────────────┴──────────────────╢ ║Бэкенд DNS. ║ ║Бэкенд DNS для Samba AD. ║ ╠═══════════════════════════╤══════════════════╣ ║dnsSettings.forwarders.0 │"8.8.8.8" ║ ╟───────────────────────────┴──────────────────╢ ║Настройки DNS. ║ ║Настройки DNS для Samba AD. ║ ╠═══════════════════════════╤══════════════════╣ ║functionalLevel │"2008_R2" ║ ╟───────────────────────────┴──────────────────╢ ║Функциональный уровень. ║ ║Функциональный уровень домена. ║ ╠═══════════════════════════╤══════════════════╣ ║hostNetBiosName │"rodc" ║ ╟───────────────────────────┴──────────────────╢ ║Имя контроллера домена. ║ ╠═══════════════════════════╤══════════════════╣ ║mode │"join" ║ ╟───────────────────────────┴──────────────────╢ ║Режим. ║ ║Присоединиться к существующему домену или ║ ║создать новый домен. ║ ╠═══════════════════════════╤══════════════════╣ ║mode.join.adminLogin │"Administrator" ║ ╟───────────────────────────┴──────────────────╢ ║Логин администратора. ║ ║Логин администратора домена. Необходим для ║ ║присоединения DC к существующему домену и ║ ║понижению контроллера домена. ║ ╠═══════════════════════════╤══════════════════╣ ║mode.join.ipAddressDc │"192.168.0.132" ║ ╟───────────────────────────┴──────────────────╢ ║IPv4 адрес контроллера домена. ║ ║IPv4 адрес контроллера домена в существующем ║ ║домене. ║ ╠═══════════════════════════╤══════════════════╣ ║mode.join.serverRole │"rodc" ║ ╟───────────────────────────┴──────────────────╢ ║Роль сервера. ║ ║Роль сервера Samba AD. ║ ╠═══════════════════════════╤══════════════════╣ ║netBiosName │"test" ║ ╟───────────────────────────┴──────────────────╢ ║NetBios имя. ║ ║NetBios имя домена, например example. ║ ╠═══════════════════════════╤══════════════════╣ ║realm │"test.alt" ║ ╟───────────────────────────┴──────────────────╢ ║Realm. ║ ║DNS имя домена, например example.com. ║ ╠═══════════════════════════╤══════════════════╣ ║useRfc2307 │false ║ ╟───────────────────────────┴──────────────────╢ ║Использовать RFC 2307. ║ ║RFC 2307 атрибуты позволяют хранить информацию║ ║о пользователях и группах Unix в каталоге ║ ║LDAP. ║ ╚══════════════════════════════════════════════╝ Продолжить? [y/N] y … active inactive Samba AD successfully joined domain 'test.alt' and system has been configured. Saving deployment configuration to /var/lib/alterator/service/samba-ad/status.json
# alteratorctl services start service_samba_ad






# apt-get install task-samba-dc
или компонент samba-dc
# alteratorctl components install samba-dc
/etc/resolv.conf должен быть добавлен первый DC как nameserver (enp0s3 — имя интерфейса):
#echo "nameserver 192.168.0.132" >> /etc/net/ifaces/enp0s3/resolv.conf#echo "search test.alt" >> /etc/net/ifaces/enp0s3/resolv.conf#resolvconf -u#cat /etc/resolv.confsearch test.alt nameserver 192.168.0.132 nameserver 8.8.8.8
# for service in smb nmb krb5kdc slapd bind; do \
systemctl disable $service; \
systemctl stop $service; \
done
#rm -f /etc/samba/smb.conf#rm -rf /var/lib/samba#rm -rf /var/cache/samba#mkdir -p /var/lib/samba/sysvol
# samba-tool dns add 192.168.0.132 test.alt RODC A 192.168.0.134 -Uadministrator
Password for [TEST\administrator]:
Record added successfully
Предупреждение
Примечание
samba-tool dns add см. в разделе Администрирование DNS
/etc/krb5.conf):
[libdefaults]
default_realm = TEST.ALT
dns_lookup_realm = false
dns_lookup_kdc = true
[realms]
TEST.ALT = {
kdc = rodc.test.alt
kdc = dc1.test.alt
default_domain = TEST.ALT
}
# kinit administrator@TEST.ALT
Password for administrator@TEST.ALT:
Предупреждение
# klist
Ticket cache: KEYRING:persistent:0:0
Default principal: administrator@TEST.ALT
Valid starting Expires Service principal
19.08.2025 17:55:32 20.08.2025 03:55:32 krbtgt/TEST.ALT@TEST.ALT
renew until 26.08.2025 17:55:29
# samba-tool domain join test.alt RODC -Uadministrator@TEST.ALT \
--realm=test.alt \
--option="dns forwarder=8.8.8.8"
Если всё нормально, в конце будет выведена информация о присоединении к домену:
Joined domain TEST (SID S-1-5-21-3023984122-667793423-660878337) as an RODC
Примечание
dns forwarder, чтобы на новом сервере была настроена пересылка запросов. Форвардером может быть как вышестоящий DNS-сервер организации, так и публичные от Google или Yandex, например:
--option="dns forwarder=8.8.8.8"
--rfc2307, то и для текущего необходимо это учесть, указав параметр:
--option='idmap_ldb:use rfc2307 = yes'
# systemctl enable --now samba
Примечание
samba-tool domain join можно воспользоваться командой:
# samba-tool domain join --help
Примечание

Примечание
#samba-tool group listmembers "Denied RODC Password Replication Group"Read-only Domain Controllers Domain Admins Enterprise Admins Domain Controllers Schema Admins krbtgt Group Policy Creator Owners Cert Publishers #samba-tool group listmembers "Allowed RODC Password Replication Group"
# samba-tool rodc preload (<SID>|<DN>|<accountname>)+ ... [опции]
Возможные опции:
--server — обычный контроллер домена, который будет выступать источником данных при репликации;
--file — файл со списком реплицируемых объектов либо «-» для ввода списка через стандартный поток ввода (stdin);
--ignore-errors — игнорировать ошибки репликации при загрузке нескольких объектов.
--server контроллера домена. Для идентификации объектов могут использоваться идентификаторы безопасности (SID), DN или имена учетных записей SAM (samAccountName).
Примечание
samba-tool rodc preload можно воспользоваться командой:
# samba-tool rodc preload --help
#samba-tool user addivanov \ --given-name='Иван' \ --surname='Иванов' \ --mail-address='ivanov@test.alt' New Password: Retype Password: User 'ivanov' added successfully #samba-tool group addmembers "Allowed RODC Password Replication Group" ivanovAdded members to group Allowed RODC Password Replication Group
# samba-tool rodc preload ivanov --server=dc1.test.alt
Replicating DN CN=Иван Иванов,CN=Users,DC=test,DC=alt
Exop on[CN=Иван Иванов,CN=Users,DC=test,DC=alt] objects[1] linked_values[0]
$kinit ivanovPassword for ivanov@TEST.ALT: Warning: Your password will expire in 26 days on Ср 16 июл 2025 18:05:10 $kinit kimkinit: A service is not available that is required to process the request while getting initial credentials
# samba-tool domain level show
Domain and forest function level for domain 'DC=test,DC=alt'
Forest function level: (Windows) 2008 R2
Domain function level: (Windows) 2008 R2
Lowest function level of a DC: (Windows) 2008 R2
ad dc functional level файла /etc/samba/smb.conf. Возможные значения:
# samba-tool domain schemaupgrade --schema=<SCHEMA>
где SCHEMA — целевой уровень схемы (по умолчанию 2019).
# samba-tool domain functionalprep --function-level=<FUNCTION_LEVEL>
где FUNCTION_LEVEL — функциональный уровень, к которому нужно подготовиться (по умолчанию 2016).
# samba-tool domain level raise --domain-level=<DOMAIN_LEVEL> --forest-level=<FOREST_LEVEL>
где:
Примечание
ad dc functional level в файле /etc/samba/smb.conf снижает защиту от несовместимости между контроллерами домена. Поэтому на всех контроллерах домена должна использоваться одна версия Samba, чтобы гарантировать, что поведение, наблюдаемое клиентом, будет одинаковым независимо от того, к какому контроллеру домена осуществляется соединение.
/etc/samba/smb.conf добавить строку:
ad dc functional level = 2016
Примечание
ad dc functional level применён:
# testparm -s --section-name=global --parameter-name="ad dc functional level"
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)
2016
# systemctl restart samba.service
# samba-tool domain level show
Domain and forest function level for domain 'DC=test,DC=alt'
Forest function level: (Windows) 2008 R2
Domain function level: (Windows) 2008 R2
Lowest function level of a DC: (Windows) 2016
Контроллер домена готов к повышению уровня, но сам домен пока остаётся на старом уровне.
# samba-tool domain schemaupgrade --schema=2019
# samba-tool domain functionalprep --function-level=2016
# samba-tool domain level raise --domain-level=2016 --forest-level=2016
Domain function level changed!
Forest function level changed!
All changes applied successfully!
# samba-tool domain level show
Domain and forest function level for domain 'DC=test,DC=alt'
Forest function level: (Windows) 2016
Domain function level: (Windows) 2016
Lowest function level of a DC: (Windows) 2016
Примечание
# ldbsearch -H /var/lib/samba/private/sam.ldb -s base -b CN=ypservers,CN=ypServ30,CN=RpcServices,CN=System,DC=test,DC=alt cn
# record 1
dn: CN=ypservers,CN=ypServ30,CN=RpcServices,CN=System,DC=test,DC=alt
cn: ypservers
# returned 1 records
# 1 entries
# 0 referrals
Если вывод содержит одну запись (returned 1 records), расширения NIS установлены. Дальнейшие действия не требуются.
Предупреждение
# samba-tool fsmo show | grep SchemaMasterRole
SchemaMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
В выводе команды показано имя DC, которому принадлежит эта роль. Все дальнейшие дествия выполняются только на этом контроллере.
samba:
# systemctl stop samba
ypServ30.ldif, например:
# cp /usr/share/samba/setup/ypServ30.ldif /tmp/
# sed -i -e 's/\${DOMAINDN}/DC=test,DC=alt/g' -e 's/\${NETBIOSNAME}/DC/g' -e 's/\${NISDOMAIN}/test/g' /tmp/ypServ30.ldif
/var/lib/samba/private/sam.ldb:
# ldbmodify -H /var/lib/samba/private/sam.ldb /tmp/ypServ30.ldif --option="dsdb:schema update allowed"=true
[global] файла /etc/samba/smb.conf параметр:
idmap_ldb:use rfc2307 = yes
# systemctl start samba
# systemctl stop samba
# samba_upgradedns --dns-backend=BIND9_DLZ
/etc/samba/smb.conf:
server services, добавить в секцию global строку:
server services = -dns
global есть параметр server services, удалить опцию dns, например:
server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate
bind:
# systemctl enable --now bind
Примечание
bind:
мая 03 14:25:13 dc1 named[3825]: samba_dlz: Failed to configure zone 'test.alt' мая 03 14:25:13 dc1 named[3825]: loading configuration: already exists мая 03 14:25:13 dc1 named[3825]: exiting (due to fatal error) мая 03 14:39:44 dc1 named[4309]: Loading 'AD DNS Zone' using driver dlopenДля решения проблемы необходимо закомментировать все строки в файле
/etc/bind/local.conf или удалить его.
Примечание
bind может возникнуть ошибка:
июн 25 09:57:03 dc1 systemd[1]: bind.service: Control process exited, code=exited, status=1/FAILURE июн 25 09:57:03 dc1 systemd[1]: bind.service: Failed with result 'exit-code'. июн 25 09:57:03 dc1 systemd[1]: Failed to start bind.service - Berkeley Internet Name Domain (DNS).Для решения проблемы необходимо создать файл
/etc/systemd/system/bind.service.d/override.conf со следующим содержимым:
[Service] Environment="LDB_MODULES_DISABLE_DEEPBIND=1"Например:
#mkdir -p /etc/systemd/system/bind.service.d#cat << EOF > /etc/systemd/system/bind.service.d/override.conf[Service] Environment="LDB_MODULES_DISABLE_DEEPBIND=1" EOF #systemctl daemon-reload#systemctl enable --now bind
samba:
# systemctl start samba
bind и убрать её из автозагрузки:
# systemctl disable --now bind
samba:
# systemctl stop samba
# samba_upgradedns --dns-backend=SAMBA_INTERNAL
/etc/samba/smb.conf:
server services есть только опция -dns, удалить этот параметр из файла (удалить всю строку):
server services = -dns
global есть параметр server services, добавить в него опцию dns, например:
server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate, dns
samba:
# systemctl start samba
Примечание
server services, удаление параметра server services активирует все службы, включая DNS-сервер.
log level в разделе [global] файла /etc/samba/smb.conf, например:
log level = 3После настройки следует перезапустить службу
samba:
# systemctl restart samba
ps:
# ps axf | grep -E "samba|smbd|winbindd"
…
3078 ? S 0:00 /usr/sbin/samba --no-process-group
3091 ? S 0:00 \_ /usr/sbin/samba --no-process-group
3092 ? S 0:00 | \_ /usr/sbin/samba --no-process-group
3096 ? S 0:00 | \_ /usr/sbin/samba --no-process-group
3101 ? Ss 0:00 | \_ /usr/sbin/smbd -D --option=server role check:inhibit=yes --foreground
3138 ? S 0:00 | \_ /usr/sbin/smbd -D --option=server role check:inhibit=yes --foreground
3139 ? S 0:00 | \_ /usr/sbin/smbd -D --option=server role check:inhibit=yes --foreground
3149 ? S 0:00 | \_ /usr/sbin/smbd -D --option=server role check:inhibit=yes --foreground
3150 ? S 0:00 | \_ /usr/sbin/smbd -D --option=server role check:inhibit=yes --foreground
…
3127 ? Ss 0:00 | \_ /usr/sbin/winbindd -D --option=server role check:inhibit=yes --foreground
3140 ? S 0:00 | \_ /usr/sbin/winbindd -D --option=server role check:inhibit=yes --foreground
…
samba, smbd и winbindd должны быть дочерними по отношению к основному процессу samba.
# samba -i
Это поможет увидеть ошибки в реальном времени.
# ss -tulpn | grep ":53"
# systemctl disable --now bind
# systemctl restart samba
/var/lib/samba/bind-dns создается только в том случае, если произошло одно из следующих событий:
--dns-backend=BIND9_DLZ;
--dns-backend=BIND9_DLZ;
samba_upgradedns с использованием опции --dns-backend=BIND9_DLZ.
Примечание
# samba-tool fsmo show
SchemaMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
InfrastructureMasterRole owner: CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
RidAllocationMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
PdcEmulationMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
DomainNamingMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
DomainDnsZonesMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
ForestDnsZonesMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
objectGUID контроллера домена:
# ldbsearch -H /var/lib/samba/private/sam.ldb '(invocationId=*)' --cross-ncs objectguid | grep -A1 DC3
dn: CN=NTDS Settings,CN=DC3,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
objectGUID: 7b344597-3093-4b85-8987-e52dbe19e31b
# samba-tool domain demote -Uadministrator
Using dc1.test.alt as partner server for the demotion
Password for [TEST\administrator]:
Deactivating inbound replication
Asking partner server dc1.test.alt to synchronize from us
Changing userControl and container
Removing Sysvol reference: CN=DC3,CN=Enterprise,CN=Microsoft System Volumes,CN=System,CN=Configuration,DC=test,DC=alt
Removing Sysvol reference: CN=DC3,CN=test.alt,CN=Microsoft System Volumes,CN=System,CN=Configuration,DC=test,DC=alt
Removing Sysvol reference: CN=DC3,CN=Domain System Volumes (SYSVOL share),CN=File Replication Service,CN=System,DC=test,DC=alt
Removing Sysvol reference: CN=DC3,CN=Topology,CN=Domain System Volume,CN=DFSR-GlobalSettings,CN=System,DC=test,DC=alt
updating ForestDnsZones.test.alt keeping 2 values, removing 1 values
updating test.alt keeping 6 values, removing 1 values
…
Demote successful
# systemctl stop samba
# systemctl stop bind
Важно
Важно
# samba-tool fsmo show
SchemaMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
InfrastructureMasterRole owner: CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
RidAllocationMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
PdcEmulationMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
DomainNamingMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
DomainDnsZonesMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
ForestDnsZonesMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
objectGUID контроллера домена (если возможно):
# ldbsearch -H /var/lib/samba/private/sam.ldb '(invocationId=*)' --cross-ncs objectguid | grep -A1 DC3
dn: CN=NTDS Settings,CN=DC3,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
objectGUID: 512f03b4-7042-434d-93c0-61dd6a2ea895
# samba-tool domain demote --remove-other-dead-server=DC3
Важно




Предупреждение
Примечание
# samba-tool drs replicate <приемник> <источник> <NC> [опции]
где:
# samba-tool drs replicate dc2.test.alt \
dc1.test.alt dc=test,dc=alt -Uadministrator
Password for [TEST\administrator]:
Replicate from dc1.test.alt to dc2.test.alt was successful.
Сначала указывается приемник, затем источник, после этого реплицируемая ветка в LDAP.
# samba-tool drs replicate dc1.test.alt \
dc2.test.alt dc=test,dc=alt -Uadministrator
Password for [TEST\administrator]:
Replicate from dc2.test.alt to dc1.test.alt was successful.
Сначала указывается приемник, затем источник, после этого реплицируемая ветка в LDAP.
Примечание
# samba-tool drs showrepl -Uadministrator
Примечание
samba-tool drs showrepl отображает установленные связи с другими контроллерами домена в лесу Альт Домен. Соединения отображаются с точки зрения контроллера домена, на котором запускается команда. Пример:
# samba-tool drs showrepl -Uadministrator
Password for [TEST\administrator]:
Default-First-Site-Name\DC2
DSA Options: 0x00000001
DSA object GUID: 26a8d3d0-66b3-4f6c-8457-0def172d4af3
DSA invocationId: 83fb4bbf-9f63-44d6-acbd-c0db4e9e839a
==== INBOUND NEIGHBORS ====
CN=Schema,CN=Configuration,DC=test,DC=alt
Default-First-Site-Name\DC1 via RPC
DSA object GUID: e72594f1-4986-4ac9-8cdd-9481cff5e243
Last attempt @ Wed Jul 9 13:20:47 2025 MSK was successful
0 consecutive failure(s).
Last success @ Wed Jul 9 13:20:47 2025 MSK
CN=Configuration,DC=test,DC=alt
Default-First-Site-Name\DC1 via RPC
DSA object GUID: e72594f1-4986-4ac9-8cdd-9481cff5e243
Last attempt @ Wed Jul 9 13:20:47 2025 MSK was successful
0 consecutive failure(s).
Last success @ Wed Jul 9 13:20:47 2025 MSK
DC=ForestDnsZones,DC=test,DC=alt
Default-First-Site-Name\DC1 via RPC
DSA object GUID: e72594f1-4986-4ac9-8cdd-9481cff5e243
Last attempt @ Wed Jul 9 13:20:47 2025 MSK was successful
0 consecutive failure(s).
Last success @ Wed Jul 9 13:20:47 2025 MSK
DC=DomainDnsZones,DC=test,DC=alt
Default-First-Site-Name\DC1 via RPC
DSA object GUID: e72594f1-4986-4ac9-8cdd-9481cff5e243
Last attempt @ Wed Jul 9 13:20:47 2025 MSK was successful
0 consecutive failure(s).
Last success @ Wed Jul 9 13:20:47 2025 MSK
DC=test,DC=alt
Default-First-Site-Name\DC1 via RPC
DSA object GUID: e72594f1-4986-4ac9-8cdd-9481cff5e243
Last attempt @ Wed Jul 9 13:20:47 2025 MSK was successful
0 consecutive failure(s).
Last success @ Wed Jul 9 13:20:47 2025 MSK
==== OUTBOUND NEIGHBORS ====
CN=Schema,CN=Configuration,DC=test,DC=alt
Default-First-Site-Name\DC1 via RPC
DSA object GUID: e72594f1-4986-4ac9-8cdd-9481cff5e243
Last attempt @ NTTIME(0) was successful
0 consecutive failure(s).
Last success @ NTTIME(0)
CN=Configuration,DC=test,DC=alt
Default-First-Site-Name\DC1 via RPC
DSA object GUID: e72594f1-4986-4ac9-8cdd-9481cff5e243
Last attempt @ NTTIME(0) was successful
0 consecutive failure(s).
Last success @ NTTIME(0)
DC=ForestDnsZones,DC=test,DC=alt
Default-First-Site-Name\DC1 via RPC
DSA object GUID: e72594f1-4986-4ac9-8cdd-9481cff5e243
Last attempt @ NTTIME(0) was successful
0 consecutive failure(s).
Last success @ NTTIME(0)
DC=DomainDnsZones,DC=test,DC=alt
Default-First-Site-Name\DC1 via RPC
DSA object GUID: e72594f1-4986-4ac9-8cdd-9481cff5e243
Last attempt @ NTTIME(0) was successful
0 consecutive failure(s).
Last success @ NTTIME(0)
DC=test,DC=alt
Default-First-Site-Name\DC1 via RPC
DSA object GUID: e72594f1-4986-4ac9-8cdd-9481cff5e243
Last attempt @ NTTIME(0) was successful
0 consecutive failure(s).
Last success @ NTTIME(0)
==== KCC CONNECTION OBJECTS ====
Connection --
Connection name: 56a02972-69f5-42fb-965a-7125f09c96d1
Enabled : TRUE
Server DNS name : dc1.test.alt
Server DN name : CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
TransportType: RPC
options: 0x00000001
Warning: No NC replicated for Connection!
INBOUND NEIGHBORS — входящие соединения;
OUTBOUND NEIGHBORS — исходящие соединения.
CN=Schema,CN=Configuration,DC=test,DC=alt DC=ForestDnsZones,DC=test,DC=alt DC=test,DC=alt DC=DomainDnsZones,DC=test,DC=alt CN=Configuration,DC=test,DC=alt
INBOUND NEIGHBORS в пункте Last attempt должны стоять актуальные дата и время, идентичные указанным в строке Last success (отображает время последней репликации). Должно быть 0 consecutive failure(s) — нет ошибок.
INBOUND NEIGHBORS есть записи:
Last attempt @ NTTIME(0) was successful … Last success @ NTTIME(0)необходимо подождать: соединение ещё устанавливается.
KCC CONNECTION OBJECTS должен быть приведён список всех контроллеров домена, чьи KCC установили соглашения о репликации с текущим контроллером домена. В случае, когда контроллер домена был добавлен в домен и запущен, может пройти до 15 минут до того, как соглашения будут установлены.
Примечание
No NC replicated for Connection!можно игнорировать. Оно появляется из-за того, что при регистрации нового DC Samba неверно устанавливает некоторые флаги репликации.
# samba-tool ldapcmp ldap://dc1.test.alt ldap://dc2.test.alt -Uadministrator
Password for [TEST\administrator]:
* Comparing [DOMAIN] context...
* Objects to be compared: 274
* Result for [DOMAIN]: SUCCESS
* Comparing [CONFIGURATION] context...
* Objects to be compared: 1625
* Result for [CONFIGURATION]: SUCCESS
* Comparing [SCHEMA] context...
* Objects to be compared: 1739
* Result for [SCHEMA]: SUCCESS
* Comparing [DNSDOMAIN] context...
* Objects to be compared: 41
* Result for [DNSDOMAIN]: SUCCESS
* Comparing [DNSFOREST] context...
* Objects to be compared: 18
* Result for [DNSFOREST]: SUCCESS
repadmin:
> repadmin /showrepl
# ldbsearch -H /var/lib/samba/private/sam.ldb '(fromServer=*CN=WindowsDC*)' --cross-ncs dn
# record 1
dn: CN=a46c895e-658b-463e-9ab5-a1c237fca4b1,CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
# returned 1 records
# 1 entries
# 0 referrals
В этом примере возвращается один партнер по репликации (имя хоста: DC2). Имя хоста партнера по репликации является частью возвращаемого отличительного имени (DN).
samba-tool drs showrepl для отображения статуса репликации каталога.
INBOUND NEIGHBORS на контроллере домена Samba, а статусы успешны.
Sysvol присутствует на всех контроллерах домена и используется для хранения логон скриптов и объектов групповых политик. Отсутствие репликации этого каталога приведет к неправильной работе групповых политик и сценариев входа.
Важно
idmap.ldb из контроллера домена, имеющего роль FSMO PDC_Emulator, со всеми другими контроллерами домена. Это гарантирует, что все контроллеры домена будут использовать одни и те же идентификаторы. Если файл idmap.ldb не синхронизируется, на каждом контроллере домена будут разные идентификаторы.
idmap.ldb (см. раздел Синхронизация idmap.ldb) необходимо при первом присоединении к новому контроллеру домена, а затем периодически (чтобы гарантировать постоянство идентификаторов не нужно синхронизировать idmap.ldb каждый раз при синхронизации SysVol, но это следует делать периодически).
sysvol расположен в /var/lib/samba/ как на DC1, так и на DC2;
rsync расположен в /usr/bin/rsync;
unison расположен в /usr/bin/unison;
/var/log/sysvol-sync.log;
# apt-get install rsync unison
unison может некорректно работать. Для того чтобы при повторной работе unison использовал существующее SSH-соединение вместо установки нового, необходимо выполнить следующие команды:
#mkdir ~/.ssh/ctl#cat << EOF > ~/.ssh/configHost * ControlMaster auto ControlPath ~/.ssh/ctl/%h_%p_%r ControlPersist 1 EOF
~/.ssh/ctl.
/root/.unison/:
# mkdir /root/.unison
/root/.unison/default.prf со следующим содержимым:
# Список каталогов, которые будут синхронизированы root = /var/lib/samba # После имени хоста используются два символа / root = ssh://root@DC2.test.alt//var/lib/samba # Список подкаталогов, которые нужно синхронизировать path = sysvol # Список подкаталогов, которые нужно игнорировать #ignore = Path acl=true xattrs=true auto=true batch=true perms=0 rsync=true maxthreads=1 retry=3 confirmbigdeletes=false servercmd=/usr/bin/unison copythreshold=0 copymax = 1 # Сохранять журнал с результатами работы в отдельном файле logfile = /var/log/sysvol-sync.log
Примечание
/root/.unison/default.prf для Unison до версии 2.53.0:
# Список каталогов, которые будут синхронизированы root = /var/lib/samba root = ssh://root@DC2.test.alt//var/lib/samba # Список подкаталогов, которые нужно синхронизировать path = sysvol # Список подкаталогов, которые нужно игнорировать #ignore = Path auto=true batch=true perms=0 rsync=true maxthreads=1 retry=3 confirmbigdeletes=false servercmd=/usr/bin/unison copythreshold=0 copyprog = /usr/bin/rsync -XAavz --rsh='ssh -p 22' --inplace --compress copyprogrest = /usr/bin/rsync -XAavz --rsh='ssh -p 22' --partial --inplace --compress #copyquoterem = true copymax = 1 # Сохранять журнал с результатами работы в отдельном файле logfile = /var/log/sysvol-sync.log
# touch /var/log/sysvol-sync.log
# apt-get install rsync unison
Важно
sysvol.
# /usr/bin/rsync -XAavz --log-file /var/log/sysvol-sync.log \
--delete-after -f"+ */" -f"- *" /var/lib/samba/sysvol \
root@dc2.test.alt:/var/lib/samba && /usr/bin/unison
В этой команде утилита rsync создает структуру каталогов и синхронизирует содержимое каталога sysvol с сохранением расширенных атрибутов и ACL. После этого утилита unison выполняет двустороннюю синхронизацию и реплицирует изменения метаданных и файлов в соответствии с заданной конфигурацией.
# crontab -e
*/5 * * * * /usr/bin/unison -silent
rsync и unison в данный момент не выполняются (можно проверить командой ps -aux | grep -E 'rsync|unison').
/root/.unison.
sysvol и при необходимости привести его в корректное состояние.
# cp /root/.unison/default.prf /root/.unison/sync_dc2.prf
/root/.unison/dc2.prf изменить значение параметра root, указав соответствующий контроллер домена.
* * * * * /usr/bin/unison sync_dc2 -silent * * * * * /usr/bin/unison sync_dc3 -silent …
sysvol расположен в /var/lib/samba/ как на DC1, так и на DC2;
rsync расположен в /usr/bin/rsync;
osync расположен в /usr/bin/osync;
/var/log/osync_*.log;
# apt-get install rsync osync
/etc/osync/sync.conf:
#!/usr/bin/env bash INSTANCE_ID="sync_sysvol" # Путь до SysVol на текущем сервере INITIATOR_SYNC_DIR="/var/lib/samba/sysvol" # Путь до SysVol на удалённом сервере TARGET_SYNC_DIR="ssh://root@DC2:22//var/lib/samba/sysvol" # SSH-ключ пользователя root SSH_RSA_PRIVATE_KEY="/root/.ssh/id_ed25519" # Удалённые хосты, которые osync пингует перед запуском REMOTE_3RD_PARTY_HOSTS="" # Сохранять ACL PRESERVE_ACL=yes # Сохранять расширенные атрибуты (xattr) PRESERVE_XATTR=yes # Сохранять резервные копии удалённых файлов SOFT_DELETE=yes # Адрес для отправки уведомлений DESTINATION_MAILS="your@test.alt" # Команда, выполняемая после синхронизации на удалённой стороне REMOTE_RUN_AFTER_CMD="/usr/bin/samba-tool ntacl sysvolreset"
# apt-get install rsync
Важно
sysvol.
# /usr/bin/osync.sh /etc/osync/sync.conf --dry --verbose
Если команда выполнилась без ошибок, удалить параметр --dry и запустить синхронизацию повторно:
# /usr/bin/osync.sh /etc/osync/sync.conf --verbose
В результате каталог sysvol будет синхронизирован между обоими контроллерами домена.
Примечание
SOFT_DELETE (сохранять резервные копии удалённых файлов) и CONFLICT_BACKUP (сохранять резервные копии файлов при конфликте версий) установлены в значение yes, необходимо вручную создать рабочие каталоги osync на обоих контроллерах домена:
#mkdir /var/lib/samba/sysvol/.osync_workdir/deleted#mkdir /var/lib/samba/sysvol/.osync_workdir/backup
# crontab -e
*/5 * * * * /usr/bin/osync.sh /etc/osync/sync.conf --silent
rsync и osync в данный момент не выполняются (например, командойps -aux| grep sync).
# rm -rf /var/lib/samba/sysvol/.osync_workdir
sysvol.
# cp /etc/osync/sync.conf /etc/osync/sync_dc3.conf
/etc/osync/sync_dc3.conf изменить значение параметра TARGET_SYNC_DIR, указав соответствующий контроллер домена.
# crontab -e
*/5 * * * * /usr/bin/osync.sh /etc/osync/sync.conf --silent
*/5 * * * * /usr/bin/osync.sh /etc/osync/sync_dc3.conf --silent
…
xidNumber в idmap.ldb. Из-за особенностей работы idmap.ldb нельзя гарантировать, что каждый контроллер домена будет использовать один и тот же идентификатор для данного пользователя или группы.
idmap.ldb с контроллера домена, на котором установлена роль FSMO Эмулятор PDC (см. Роли FSMO), со всеми остальными контроллерами домена. Для достижения наилучших результатов следует регулярно синхронизировать idmap.ldb.
# apt-get install ldb-tools
/var/lib/samba/private/idmap.ldb:
#rm -f /var/lib/samba/private/idmap.ldb.bak#tdbbackup -s .bak /var/lib/samba/private/idmap.ldb
#Создание резервной копии idmap.ldb 0 3 * * * rm -f /var/lib/samba/private/idmap.ldb.bak && tdbbackup -s .bak /var/lib/samba/private/idmap.ldb >/dev/null 2>&1
/var/lib/samba/private/ с удалением суффикса .bak (заменить существующий файл):
# rsync -a dc1:/var/lib/samba/private/idmap.ldb.bak /var/lib/samba/private/idmap.ldb
# net cache flush
# if ! samba-tool ntacl sysvolcheck; then samba-tool ntacl sysvolreset; fi
#Синхронизация idmap.ldb 15 4 * * * rsync -a dc1:/var/lib/samba/private/idmap.ldb.bak /var/lib/samba/private/idmap.ldb && net cache flush && if ! samba-tool ntacl sysvolcheck; then samba-tool ntacl sysvolreset; fi >/dev/null 2>&1
Важно
idmap.ldb необходим перезапуск Samba (systemctl restart samba.service), т.к. этот файл держится открытым процессами Samba.
idmap.ldb можно избежать, если на всех контроллерах добавить следующие параметры в smb.conf в секции [sysvol] (и в [netlogon]) строки:
acl_xattr:ignore system acls = yes acl_xattr:default acl style = windowsПри использовании этих параметров значения расширенных атрибутов файлов (xattr security.NTACL) на всех контроллерах будут одинаковы, независимо от uid/gid. Именно это и является проблемой при использовании
rsync, т.к. при синхронизации rsync передаёт имена пользователей/групп и они разыменовываются в uid/gid уже «на месте», а xattr security.NTACL остаётся неизменным и, в конфигурации по умолчанию (без вышеуказанных параметров), зависит от значений uid/gid/facl.
Важно
Содержание
Таблица 19.1. Сравнение Winbind и SSSD
|
Категория
|
Описание
|
Winbind
|
SSSD
|
|---|---|---|---|
|
Аутентификация
|
Kerberos
|
Да (начиная с версии 4.19.9-alt4)
|
Да
|
|
NTLM
|
Да (используется, если Kerberos недоступен или не используется)
|
Нет
|
|
|
LDAP
|
Нет
|
Да (не в AD-домене)
|
|
|
Авторизация
|
LDAP
|
Да
|
Да
|
|
Вызовы Microsoft RPC
|
Да
|
Нет
|
|
|
Автономный вход в систему
|
Да
|
Да
|
|
|
Поддержка доверительных отношений
|
External Trust
|
Да
|
Да
|
|
Parent-Child Trust
|
Да
|
Да
|
|
|
Forest Trust
|
Да
|
Нет
|
|
|
Поддержка групповых политик
|
Групповые политики Samba
|
Да (не реализовано в Альт Домен)
|
Нет
|
|
Групповые политики ALT Linux с помощью
gpupdate
|
Да
|
Да
|
|
|
GPO-Based Access Control (Централизованное управление контролем доступа на основе хоста через GPO)
|
Нет
|
Да
|
|
|
Сопоставление идентификаторов
|
Генерация UID/GID
|
Да
|
Да
|
|
Сопоставление идентификаторов через атрибуты RFC2307
|
Да
|
Да
|
|
|
Обновление DNS
|
Встроенное
|
Нет
|
Да
|
|
Сторонние решения
|
Да
|
Нет
|
|
|
Автоматическая интеграция с sudo
|
Нет
|
Да
|
|
|
Аутентификация с помощью электронных ключей, смарт-карт и сертификатов
|
Нет
|
Да
|
|
|
Производительность при обработке большого числа групп и пользователей
|
Высокая
|
Низкая
|
|
/etc/pam.d/system-auth, где подключается преднастроенный стек:
system-auth-winbind-onlyили
system-auth-sss-only
auth_provider, который определяет, какой механизм используется для проверки подлинности. Поддерживаются следующие варианты:
auth_provider = krb5. Для корректной работы его необходимо использовать совместно с поставщиком данных идентификации (например, id_provider = ldap). Некоторые данные, которые требуются внутреннему серверу проверки подлинности Kerberos 5, должны предоставляться поставщиком данных идентификации (например, имя участника Kerberos пользователя (UPN));
/etc/sssd/sssd.conf. В нём определяются параметры подключения к серверу каталога, а также параметры аутентификации.
[domain/TEST.ALT] id_provider = ad auth_provider = ad chpass_provider = ad access_provider = ad default_shell = /bin/bash fallback_homedir = /home/%d/%u debug_level = 0 ; cache_credentials = false ad_gpo_ignore_unreadable = true ad_gpo_access_control = permissive ad_update_samba_machine_account_password = true
security, который модель безопасности Samba:
security = ads). Winbind автоматически получает и управляет Kerberos-билетами для пользователей;
/etc/samba/smb.conf.
[global] security = ads workgroup = TEST realm = TEST.ALT idmap config * : backend = tdb idmap config EXAMPLE : backend = rid idmap config EXAMPLE : range = 10000-999999 winbind use default domain = yes winbind offline logon = yes winbind refresh tickets = yes winbind enum users = no winbind enum groups = no kerberos method = secrets and keytab log file = /var/log/samba/log.%m log level = 3
/etc/nsswitch.conf, например:
passwd: files winbind shadow: tcb files winbind group: files winbindили:
passwd: files sss shadow: tcb files sss group: files sss
access_provider.
access_provider:
id_provider = ad);
sudoers, который нужно вручную копировать и обновлять на каждой машине в системе (чтобы включить SSSD как источник правил sudo, необходимо добавить sss в запись sudoers в файле nsswitch.conf). Однако в больших инфраструктурах это может быть неудобно и трудоемко, поэтому часто для упрощения управления правами доступа используют LDAP (Lightweight Directory Access Protocol), централизованный каталог для хранения конфигураций. В этом случае локальные системы просто обращаются к центральному серверу LDAP для получения актуальной информации о правилах доступа.
sudo в раздел [sssd] файла sssd.conf. Чтобы ускорить поиск LDAP, также можно указать базу поиска для правил sudo с помощью параметра ldap_sudo_search_base.
sudo с сервера LDAP:
[sssd] config_file_version = 2 services = nss, pam, sudo domains = TEST [domain/TEST] id_provider = ldap sudo_provider = ldap ldap_uri = ldap://test.alt ldap_sudo_search_base = ou=sudoers,dc=test,dc=alt
id_provider). Если провайдер недоступен, аутентификация пользователя завершается с ошибкой.
cache_credentials = true в файле /etc/sssd/sssd.conf.
cache_credentials определяет, должны ли учетные данные пользователя также сохраняться в локальном кеше LDB. Кешированные учетные данные относятся к паролям, включая первый (долгосрочный) фактор двухфакторной аутентификации, но не другие механизмы аутентификации (пароли хранятся в виде хеша SHA-512).
/var/lib/sss/db/):
cache_<домен>.ldb:
ccache_<домен>:
timestamps_<домен>.ldb:
/var/lib/samba/:
winbindd_cache.tdb:
winbindd_idmap.tdb:
gencache.tdb:
[global] winbind offline logon = yesЭтот параметр включается в
smb.conf, чтобы позволить Winbind использовать кешированные учетные данные для аутентификации, когда сервер AD недоступен.
winbind cache time, который задаёт количество секунд, в течение которых демон winbindd будет кешировать информацию о пользователях и группах перед повторным запросом к серверу Windows NT. Это не относится к запросам на аутентификацию, которые всегда обрабатываются в реальном времени, если только не включена опция офлайн-аутентификации Winbind.
gpupdate, предназначенная для работы на машинах, введённых в домен как с помощью SSSD, так и с помощью Winbind.
gpoa, которая отвечает за репликацию и применение групповых политик (GPO). В зависимости от переданного параметра утилита gpoa обновляет либо настройки пользователя, если передано его имя, либо настройки всей машины, если параметр отсутствует. Этот процесс гарантирует автоматическое применение актуальных групповых политик при каждом входе пользователя в систему.
Таблица 19.2. Примеры групповых политик, реализованных в SSSD
|
Групповая политика
|
Параметр конфигурации SSSD
|
|---|---|
|
Allow log on locally
|
ad_gpo_map_interactive
|
|
Allow log on through Remote Desktop Services
|
ad_gpo_map_remote_interactive
|
|
Log on as a batch job
|
ad_gpo_map_batch
|
|
Log on as a service
|
ad_gpo_map_service
|
gpo_map_<logon_right> (например, gpo_map_interactive, gpo_map_network и т. д.), каждый из которых состоит из списка записей, разделённых запятыми, начинающихся либо с «+» (для добавления в набор по умолчанию), либо с «-» (для удаления из набора по умолчанию). Подробнее см. man sssd-ad.
GptTmpl.inf, который содержит настройки политики из расширения «Security Settings». Например, для права интерактивного входа (Interactive Logon Right) используются параметры SeInteractiveLogonRight (разрешенные пользователи) и SeDenyInteractiveLogonRight (запрещенные пользователи).
GPT.INI и GptTmpl.inf скачиваются с сервера и сохраняются в кеше GPO на клиентской машине (в каталоге /var/lib/sss/gpo_cache/), чтобы ускорить доступ и избежать повторных запросов к серверу при каждом входе пользователя в систему;
libsss_ad.so. Эта функция отключена по умолчанию. Предоставлена конфигурационная опция ad_gpo_access_control, которая может быть установлена в одно из следующих значений:
man sssd-ad.
winbind-dnsupdate. Подробнее см. winbind-dnsupdate.
id_provider = ad) может использоваться для получения данных пользователей и проверки подлинности пользователей из доверенных доменов. В настоящее время распознаются только домены, находящиеся в одном и том же лесу (Parent-Child Trust). Кроме того, контроллеры доменов из доверенных доменов всегда обнаруживаются автоматически.
smb.conf на Linux-клиентах, подключенных через Winbind. В секции [global] этого файла следует добавить соответствующую опцию:
winbind scan trusted domains = yes
# hostnamectl set-hostname host-01.test.alt
/etc/net/ifaces/enp1s0/resolv.conf со следующим содержимым:
nameserver 192.168.0.132где 192.168.0.132 — IP-адрес DNS-сервера домена, enp1s0 — интерфейс.
/etc/resolvconf.conf добавить/отредактировать следующие параметры:
interface_order='lo lo[0-9]* lo.* enp1s0' search_domains=test.altгде enp1s0 — интерфейс, на котором доступен контроллер домена, test.alt — домен.
# resolvconf -u
Примечание

Примечание
Примечание

/etc/resolv.conf должны появиться строки:
search test.alt nameserver 192.168.0.132
nslookup и host.
#nslookup dc1.test.altServer: 192.168.0.132 Address: 192.168.0.132#53 Name: dc1.test.alt Address: 192.168.0.132 #host dc1.test.altdc1.test.alt has address 192.168.0.132
#nslookup 192.168.0.132132.0.168.192.in-addr.arpa name = dc1.alt.test. #host 192.168.0.132132.0.168.192.in-addr.arpa domain name pointer dc1.alt.test.
$ nslookup
> set type=SRV
> _ldap._tcp.test.alt
Server: 192.168.0.132
Address: 192.168.0.132#53
_ldap._tcp.test.alt service = 0 100 389 dc2.test.alt.
_ldap._tcp.test.alt service = 0 100 389 dc1.test.alt.
> exit
или:
$ host -t SRV _ldap._tcp.test.alt
_ldap._tcp.test.alt has SRV record 0 100 389 dc1.test.alt.
_ldap._tcp.test.alt has SRV record 0 100 389 dc2.test.alt.
Успешное разрешение SRV-записей — признак корректной настройки DNS.
system-auth:
# system-auth <действие> <опции>
В таблице Параметры команды system-auth приведено описание параметров команды system-auth.
Таблица 21.1. Параметры команды system-auth
|
Параметр
|
Описание
|
|---|---|
|
Действие
|
|
status
|
Показать текущую схему аутентификацию
|
list
|
Вывести список доступных схем аутентификации
|
write
|
Установить указанную схему аутентификации
|
|
Опция
|
|
-d
|
Включить режим отладки
|
--winbind
|
Использовать Samba Winbind для подключения системы к домену (по умолчанию — SSSD)
|
--gpo
|
Включить групповые политики на машине
|
--createcomputer=OU/SubOU
|
Указать субконтейнер в домене (организационная единица/подразделение), в который будет добавлена учётная запись компьютера
|
--windows2003
|
Режим совместимости с доменом Windows 2003
|
--netbiosname=short_hostname
|
Указать короткое имя NetBIOS (не более 15 символов). Обязательно, если имя узла длиннее 15 символов
|
--version
|
Вывести версию программы
|
system-auth:
# system-auth status
ad TEST.ALT HOST-01 TEST
# system-auth write local
# system-auth write ad <Домен> <Имя компьютера> <Рабочая группа> <Имя пользователя> [<Пароль>] [--windows2003] [--createcomputer="COMPUTEROU/SubCOMPUTEROU/SubSubCOMPUTEROU"] [--winbind] [--gpo]
man realm
man sssd-ad
man sssd
Примечание
# apt-get install task-auth-ad-sssd
# system-auth write ad test.alt host-01 test 'administrator' 'Pa$$word'
Joined 'HOST-01' to dns domain 'test.alt'
где:
test.alt — имя домена;
host-01 — имя компьютера, вводимого в домен;
test — рабочая группа;
administrator — имя пользователя, имеющего право вводить машины в домен;
Pa$$word — пароль пользователя, имеющего право вводить машины в домен.


Примечание


# getent passwd ivanov
ivanov:*:1187401105:1187400513:Иван Иванов:/home/TEST.ALT/ivanov:/bin/bash
# net ads info
LDAP server: 192.168.0.132
LDAP server name: dc1.test.alt
Workgroup: TEST
Realm: TEST.ALT
Bind Path: dc=TEST,dc=ALT
LDAP port: 389
Server time: Вт, 24 июн 2025 12:12:01 MSK
KDC server: 192.168.0.132
Server time offset: 2
Last machine account password change: Пн, 20 июн 2025 12:07:09 MSK
# net ads testjoin
Join is OK
Примечание
# samba-tool user list
man realm
man winbindd
# apt-get install task-auth-ad-winbind
# system-auth write ad test.alt host-02 test 'administrator' 'Pa$$word' --winbind
Joined 'HOST-02' to dns domain 'test.alt'
где:
test.alt — имя домена;
host-02 — имя компьютера, вводимого в домен;
test — рабочая группа;
administrator — имя пользователя, имеющего право вводить машины в домен;
Pa$$word — пароль пользователя, имеющего право вводить машины в домен.



# getent passwd ivanov
ivanov:*:1187401105:1187400513:Иван Иванов:/home/TEST.ALT/ivanov:/bin/bash
# net ads info
LDAP server: 192.168.0.132
LDAP server name: dc1.test.alt
Workgroup: TEST
Realm: TEST.ALT
Bind Path: dc=TEST,dc=ALT
LDAP port: 389
Server time: Вт, 24 июн 2025 12:12:01 MSK
KDC server: 192.168.0.132
Server time offset: 2
Last machine account password change: Пн, 20 июн 2025 12:07:09 MSK
# net ads testjoin
Join is OK
Примечание
# samba-tool user list



Примечание
# control pam_canonicalize_user enabled
или, раскомментировав в файле /etc/pam.d/system-auth-common строку:
auth required pam_canonicalize_user.so
Примечание

Примечание
96-local-gdm-settings в каталоге /etc/dconf/db/gdm.d/ (если каталог отсутствует, необходимо его создать) со следующим содержимым:
[org/gnome/login-screen] #Отключить список пользователей disable-user-list=true
/etc/dconf/profile/gdm со следующим содержимым:
user-db:user system-db:gdm file-db:/usr/share/gdm/greeter-dconf-defaults
# dconf update
#rolelstdomain users:users domain admins:localadmins localadmins:wheel,vboxadd,vboxusers powerusers:remote,vboxadd,vboxusers users:cdwriter,cdrom,audio,video,proc,radio,camera,floppy,xgrp,scanner,uucp,vboxusers,fuse,vboxadd vboxadd:vboxsf #id ivanovuid=906201103(ivanov) gid=906200513(domain users) группы=906200513(domain users),906201107(sales), 906201114(office),100(users),80(cdwriter),22(cdrom),81(audio),475(video),19(proc), 83(radio),444(camera),71(floppy),498(xgrp),499(scanner),14(uucp),462(vboxusers),464(fuse),488(vboxadd),487(vboxsf)
# samba-tool group add 'PC Admins'
Added group PC Admins
# samba-tool group addmembers 'PC Admins' ivanov
Added members to group PC Admins
# roleadd 'PC Admins' localadmins
Проверка:
# rolelst
domain users:users
domain admins:localadmins
pc admins:localadmins
localadmins:wheel,vboxadd,vboxusers
powerusers:remote,vboxadd,vboxusers
users:cdwriter,cdrom,audio,video,proc,radio,camera,floppy,xgrp,scanner,uucp,vboxusers,fuse,vboxadd
vboxadd:vboxsf
log level в разделе [global] файла /etc/samba/smb.conf, например:
log level = 3После настройки следует перезапустить службу
samba:
# systemctl restart samba
net пытается подключиться к IP-адресу 127.0.0.1. Если Samba не прослушивает loopback-интерфейс, соединение завершится ошибкой:
# net rpc rights list -U administrator
Could not connect to server 127.0.0.1
Connection failed: NT_STATUS_CONNECTION_REFUSED
smb.conf строки:
interfaces = lo enp1s0 bind interfaces only = yesДополнительные сведения см. в разделе Настройка Samba для привязки к определённым интерфейсам.
Примечание
-I <IP-адрес> или -S <Имя хоста> в команду net:
# net rpc rights list -U administrator -I 192.168.0.132
Password for [TEST\administrator]:
SeMachineAccountPrivilege Add machines to domain
SeTakeOwnershipPrivilege Take ownership of files or other objects
…
getent passwd и getent group, нельзя увидеть доменных пользователей и группы. Этот функционал отключен по умолчанию, чтобы сократить нагрузку на серверы.
# getent passwd <имя_пользователя>
Например:
# getent passwd ivanov
getent passwd <имя_пользователя> ничего не возвращает, попробуйте выполнить команду:
# getent passwd <рабочая_группа>\<имя_пользователя>
Например:
# getent passwd "TEST\ivanov"
smb.conf необходимо добавить строку:
winbind use default domain = yes
Примечание
# samba-tool user list
realm leave.
# realm leave test.alt
Эта команда удалит конфигурацию домена из SSSD и локальной системы.
-U:
# realm leave test.alt -U <пользователь>
Сначала команда пытается подключиться без использования учетных данных, но при необходимости запрашивает пароль.
--remove:
# realm leave --remove test.alt
man realm (8).
Примечание
# control system-auth
local
Примечание

Примечание
96-local-gdm-settings и gdm, то необходимо выполнить следующие действия:
96-local-gdm-settings в каталоге /etc/dconf/db/gdm.d/:
# rm -f /etc/dconf/db/gdm.d/96-local-gdm-settings
/etc/dconf/profile/gdm
# rm -f /etc/dconf/profile/gdm
# dconf update
# realm leave --remove <домен>
# sss_cache -E
/etc/samba/smb.conf, /etc/sssd/sssd.conf и /etc/krb5.conf) к состоянию по умолчанию.
Примечание


Примечание
Важно
Важно
/var/lib/samba/sysvol соответствия между SID домена и локальными UID/GID вычисляются по внутреннему алгоритму Samba. Изменить этот процесс с помощью настроек невозможно.
Важно
Важно
# apt-get install task-auth-ad-winbind gpupdate
/etc/krb5.conf должны быть заданы следующие параметры:
/etc/krb5.conf:
[logging] [libdefaults] dns_lookup_kdc = true dns_lookup_realm = false ticket_lifetime = 24h renew_lifetime = 7d forwardable = true rdns = false default_realm = TEST.ALT [realms] [domain_realm]
/etc/samba/smb.conf должен быть задан параметр:
kerberos method = system keytab
/etc/samba/smb.conf:
[global]
dns forwarder = 8.8.8.8
netbios name = DC1
kerberos method = system keytab
dedicated keytab file = /etc/krb5.keytab
realm = TEST.ALT
server role = active directory domain controller
workgroup = TEST
idmap_ldb:use rfc2307 = yes
template shell = /bin/bash
template homedir = /home/TEST.ALT/%U
wins support = no
winbind use default domain = yes
winbind enum users = no
winbind enum groups = no
winbind refresh tickets = yes
winbind offline logon = yes
[sysvol]
path = /var/lib/samba/sysvol
read only = No
[netlogon]
path = /var/lib/samba/sysvol/test.alt/scripts
read only = No
Примечание
smb.conf необходимо перезапустить Samba:
# systemctl restart samba
/etc/nsswitch.conf должны быть заданы следующие параметры:
passwd: files winbind systemd
shadow: tcb files winbind
group: files [SUCCESS=merge] winbind role systemd
/etc/nsswitch.conf:
passwd: files winbind systemd shadow: tcb files winbind group: files [SUCCESS=merge] winbind role systemd gshadow: files hosts: files myhostname dns ethers: files netmasks: files networks: files protocols: files rpc: files services: files automount: files aliases: files
# control system-auth winbind
# net ads keytab create
Примечание
kerberos_kinit_password TEST@TEST.ALT failed: Client not found in Kerberos databaseЭто ожидаемое поведение в данной конфигурации. Ошибка не указывает на неисправность, если keytab-файл создан и klist показывает тикеты.
# klist -ket
nscd:
# systemctl disable --now nscd
Примечание
nscd кеширует NSS-запросы и может мешать корректной работе Winbind на контроллере домена.
# roleadd 'domain users' users
# roleadd 'domain admins' localadmins
Важно
roleadd используется имя группы в том виде, в котором оно отображается в домене (учитывая локализацию, если необходимо).
# gpupdate-setup enable --local-policy ad-domain-controller
Эта команда настраивает применение машинных политик на контроллере домена.
#Группа remote включает пользователей, которым разрешён доступ по SSH.control sshd-allow-groups enabled#control sshd-allow-groups-list remote
# control sshd-gssapi-auth enabled
Примечание
# control sshd-permit-root-login enabled
Это снижает безопасность системы. Прямой доступ под root не рекомендуется в целях безопасности.
# systemctl restart sshd
Примечание
# getent passwd ivanov
TEST\ivanov:*:3000020:100::/home/TEST.ALT/ivanov:/bin/bash
pwdlastset машинной учётной записи.

Примечание
Важно
Важно
sssd и winbind.
/etc/krb5.keytab) после смены пароля учётной записи компьютера. Поэтому во избежание конфликтов с SSSD следует отключить этот функционал.
/etc/samba/smb.conf в секцию [global] добавить параметр machine password timeout = 0:
[global] machine password timeout = 0
adcli для обновления пароля учётной записи компьютера. Необходимо убедиться, что пакет adcli установлен в системе:
# apt-get install adcli
ad_maximum_machine_account_password_age (секция [domain/<Домен>]) в /etc/sssd/sssd.conf. Значение по умолчанию: 30 дней.
/etc/krb5.keytab. Для этого не достаточно привилегий пользователя _sssd, от которого обычно и запускается sssd. Необходимо запускать sssd с правами суперпользователя. Для этого следует в файле /etc/sssd/sssd.conf в секции [sssd] изменить значение параметра user на root:
[sssd] user = root [domain/<Домен>] ad_update_samba_machine_account_password = true
Важно
/etc/samba/smb.conf:
machine password timeout = 0
/etc/sssd/sssd.conf:
ad_update_samba_machine_account_password = true
/etc/sssd/sssd.conf (секция [domain/<Домен>]) значение параметра ad_maximum_machine_account_password_age установить равным 0:
[domain/<Домен>] ad_maximum_machine_account_password_age = 0
/etc/samba/smb.conf (секция [global]) значение параметра machine password timeout установить равным 0:
[global] machine password timeout = 0
# net ads info
…
Last machine account password change: Вт, 24 июн 2025 12:30:06 MSK
# net ads info -U <user>
Last machine account password change.
/etc/krb5.keytab) содержит корректную информацию:
# klist -ke
Keytab name: FILE:/etc/krb5.keytab
KVNO Principal
---- --------------------------------------------------------------------------
1 host/host-01.test.alt@TEST.ALT (aes256-cts-hmac-sha1-96)
1 host/HOST-01@TEST.ALT (aes256-cts-hmac-sha1-96)
1 host/host-01.test.alt@TEST.ALT (aes128-cts-hmac-sha1-96)
1 host/HOST-01@TEST.ALT (aes128-cts-hmac-sha1-96)
1 host/host-01.test.alt@TEST.ALT (DEPRECATED:arcfour-hmac)
1 host/HOST-01@TEST.ALT (DEPRECATED:arcfour-hmac)
1 restrictedkrbhost/host-01.test.alt@TEST.ALT (aes256-cts-hmac-sha1-96)
1 restrictedkrbhost/HOST-01@TEST.ALT (aes256-cts-hmac-sha1-96)
1 restrictedkrbhost/host-01.test.alt@TEST.ALT (aes128-cts-hmac-sha1-96)
1 restrictedkrbhost/HOST-01@TEST.ALT (aes128-cts-hmac-sha1-96)
1 restrictedkrbhost/host-01.test.alt@TEST.ALT (DEPRECATED:arcfour-hmac)
1 restrictedkrbhost/HOST-01@TEST.ALT (DEPRECATED:arcfour-hmac)
1 HOST-01$@TEST.ALT (aes256-cts-hmac-sha1-96)
1 HOST-01$@TEST.ALT (aes128-cts-hmac-sha1-96)
1 HOST-01$@TEST.ALT (DEPRECATED:arcfour-hmac)
/etc/krb5.keytab):
# kinit -k HOST-01$\@TEST.ALT
#klistTicket cache: KEYRING:persistent:0:0 Default principal: HOST-01$@TEST.ALT Valid starting Expires Service principal 24.06.2025 15:15:01 25.06.2025 01:15:01 krbtgt/TEST.ALT@TEST.ALT renew until 01.07.2025 15:15:01 #kdestroy -p HOST-01\$@TEST.ALT
Важно
/etc/krb5.keytab) соответствует реальному имени машины (см. вывод команды hostnamectl).
# apt-get update && apt-get dist-upgrade
# rm -rf /etc/krb5.keytab
Содержание
gpupdate (см. Модуль клиентской машины для применения конфигурации). Инструмент предназначен для работы на машинах, введённых в Альт Домен.
Примечание
Таблица 29.1. Список групповых политик
|
Политика
|
Статус
|
Комментарий
|
|---|---|---|
|
Стабильная
|
ADMX-файлы ALT (пакет admx-basealt)
|
|
|
Стабильная
|
ADMX-файлы ALT (пакет admx-basealt)
|
|
|
Стабильная
|
ADMX-файлы Mozilla Firefox (пакет admx-firefox)
|
|
|
Стабильная
|
ADMX-файлы Mozilla Thunderbird (пакет admx-thunderbird)
|
|
|
Стабильная
|
ADMX-файлы Google Chrome (пакет admx-chromium)
|
|
|
Стабильная
|
ADMX-файлы Yandex (пакет admx-yandex-browser)
|
|
|
Стабильная
|
|
|
|
Стабильная
|
ADMX-файлы ALT (пакет admx-basealt)
|
|
|
|
Стабильная
|
ADMX-файлы ALT (пакет admx-basealt)
|
|
Экспериментальная
|
ADMX-файлы ALT (пакет admx-basealt)
|
|
|
Стабильная
|
ADMX-файлы ALT (пакет admx-basealt)
|
|
|
Стабильная
|
|
|
|
Экспериментальная
|
|
|
|
Стабильная
|
|
|
|
Стабильная
|
|
|
|
Экспериментальная
|
|
|
|
Экспериментальная
|
|
|
|
Экспериментальная
|
|
|
|
Экспериментальная
|
|
|
|
Экспериментальная
|
|
|
|
Экспериментальная
|
|
|
|
|
|
Примечание

# apt-get install \
admx-basealt \
admx-chromium \
admx-firefox \
admx-yandex-browser \
admx-thunderbird \
admx-msi-setup
admx-msi-setup, которая загрузит и установит ADMX-файлы от Microsoft:
# admx-msi-setup
/usr/share/PolicyDefinitions. Чтобы они были доступны всем клиентам домена, скопировать локальные ADMX-файлы в сетевой каталог sysvol (/var/lib/samba/sysvol/<DOMAIN>/Policies/), выполнив команду:
# samba-tool gpo admxload -U Administrator
Примечание
admx-msi-setup устанавливает последнюю версию ADMX от Microsoft (сейчас это «Microsoft Group Policy — Windows 10 October 2020 Update (20H2)»). С помощью параметров можно указать другой источник:
# admx-msi-setup -h
admx-msi-setup - download msi files and extract them in <destination-directory>
default value is /usr/share/PolicyDefinitions/.
Usage: admx-msi-setup [-d <destination-directory>] [-s <screen>]
Removing admx-msi-setup temporary files...
# apt-get install admc

# apt-get install gpui
Примечание
#apt-get install admx-basealt admx-chromium admx-firefox admx-yandex-browser admx-thunderbird admx-msi-setup#admx-msi-setup





Таблица 30.1. Рекомендуемые компоненты для администрирования Samba AD
|
Компонент
|
Описание
|
|---|---|
|
Group Policy Management
|
Предоставляет оснастки для групповой политики: средство управления (GPMC), редактор управления (gpedit) и начальный редактор GPO
|
|
AD DS Snap-Ins and Command-Line Tools
|
Предоставляет оснастку «Пользователи и компьютеры Active Directory» (ADUC) и «Сайты и службы Active Directory» (ADSS)
|
|
Server for NIS
|
Добавляет вкладку Атрибуты UNIX в свойства объектов ADUC. Позволяет настраивать атрибуты
RFC2307. Эта функция не поддерживается в Windows Server 2016
|
|
Active Directory Module for Windows PowerShell
|
Включает командлеты Active Directory (AD) PowerShell
|
|
DNS Server tools
|
Оснастка MMC DNS для удаленного управления DNS
|


Таблица 30.2. Рекомендуемые компоненты для администрирования Samba AD
|
Компонент
|
Описание
|
|---|---|
|
RSAT: Group Policy Management Tools
|
Включают консоль управления групповыми политиками (gpmc.msc), редактор управления групповыми политиками (gpme.msc) и редактор GPO инициализирующей программы групповой политики (gpedit.msc)
|
|
RSAT: Active Directory Domain Services and Lightweight Directory Services Tools
|
Предоставляет оснастку «Пользователи и компьютеры Active Directory» (ADUC) и «Сайты и службы Active Directory» (ADSS)
|
|
RSAT: DNS Server Tools
|
Включает оснастку «Диспетчер DNS» для удаленного управления DNS и программу командной строки
dnscmd.exe
|
|
RSAT: Remote Desktop Services Tool
|
Добавляет вкладку Профиль служб удаленных рабочих столов в свойства объекта пользователя ADUC и устанавливает оснастку MMC «Удаленные рабочие столы» для администрирования RDP-сервера (tsmmc.msc).
|


Таблица 30.3. Рекомендуемые компоненты для администрирования Samba AD
|
Компонент
|
Описание
|
|---|---|
|
Group Policy Management Tools (Средства управления групповыми политиками)
|
Включает консоль управления групповыми политиками (gpmc.msc), редактор управления групповыми политиками (gpme.msc) и редактор GPO инициализирующей программы групповой политики (gpedit.msc)
|
|
AD DS Tools (Оснастки и программы командной строки доменных служб Active Directory)
|
Предоставляет оснастку «Пользователи и компьютеры Active Directory» (ADUC) и «Сайты и службы Active Directory» (ADSS)
|
|
Server for NIS Tools (Средства сервера для NIS)
|
Добавляет вкладку Атрибуты UNIX (UNIX Attributes) в свойства объектов ADUC. Позволяет настраивать атрибуты
RFC2307. Включает программу командной строки ypclear.exe
|
|
Active Directory Module for Windows PowerShell (Модуль Active Directory для Windows PowerShell)
|
Обеспечивает централизованную среду для управления службами каталогов
|
|
DNS Server tools (Средства серверов DNS)
|
Включает оснастку «Диспетчер DNS» для удаленного управления DNS и программу командной строки
dnscmd.exe
|
|
Remote Desktop Services Tool (Средства служб удалённых рабочих столов)
|
Добавляет вкладку Профиль служб удаленных рабочих столов в свойства объекта пользователя ADUC и устанавливает оснастку MMC «Удаленные рабочие столы» для администрирования RDP-сервера (tsmmc.msc).
|
# apt-get install gpupdate alterator-gpupdate





gpoa — системная утилита, осуществляющая применение групповых политик для компьютера или пользователя (gpoa без параметра отрабатывает только для машины, для пользователя нужно указывать username);
gpupdate — утилита, осуществляющая запрос на применение групповых политик. При запуске с привилегиями администратора может непосредственно выполнить применение групповых политик, минуя необходимость повышения привилегий;
gpupdate-setup — управляет состоянием механизма групповых политик. Позволяет включать и отключать применение групповых политик, а также задавать шаблон политики по умолчанию (Рабочая станция, Сервер, Контроллер домена).
gpoa:
gpoa [-h] [--dc DC] [--nodomain] [--noupdate] [--noplugins] [--list-backends] [--force] [--loglevel LOGLEVEL] [пользователь]
Таблица 32.1. Опции команды gpoa
|
Ключ
|
Описание
|
|---|---|
|
-h, --help
|
Вывести справку о команде
|
|
--dc DC
|
Указать полное имя (FQDN) контроллера домена для реплицирования SYSVOL
|
|
--nodomain
|
Работать без домена (применить локальную политику)
|
|
--noupdate
|
Не обновлять хранилище, только применить закешированные настройки
|
|
--noplugins
|
Не запускать плагины
|
|
--list-backends
|
Показать доступные бэкэнды
|
|
--force
|
Принудительно загрузить политики с контроллера
|
|
--loglevel LOGLEVEL
|
Установить уровень журналирования
|
|
пользователь
|
Имя пользователя домена
|
gpoa:
# gpoa --loglevel 0
# gpoa --noupdate
# gpoa --dc dc1.test.alt --loglevel 3 ivanov
# gpoa --nodomain --loglevel 0
gpupdate:
gpupdate [-h] [-u USER] [-t {ALL,USER,COMPUTER}] [-l LOGLEVEL] [-f] [-s]
Таблица 32.2. Опции команды gpupdate
|
Ключ
|
Описание
|
|---|---|
|
-h, --help
|
Вывести справку о команде
|
|
-u USER, --user USER
|
Указать пользователя для обновления
|
|
-t {ALL,USER,COMPUTER}, --target {ALL,USER,COMPUTER}
|
Указать политики, которые нужно обновить (пользователя или компьютера). Возможные значения: All (по умолчанию), Computer, User
|
|
-l LOGLEVEL, --loglevel LOGLEVEL
|
Установить уровень журналирования
|
|
-f, --force
|
Принудительно загрузить политики с контроллера
|
|
-s, --system
|
Запустить в системном режиме (требует прав root)
|
gpupdate только для машины или самого себя.
gpupdate:
$ gpupdate --target Computer
Apply group policies for computer.
$ gpupdate --target User
Apply group policies for ivanov.
$ gpupdate
Apply group policies for computer.
Apply group policies for ivanov.
$ gpupdate -u ivanov --target User --loglevel 0
2025-06-25 14:35:41.330|[D00010]| Групповые политики будут обновлены для указанной цели|{'target': 'USER'}
2025-06-25 14:35:41.330|[W00002]| Текущий уровень привилегий не позволяет выполнить gpupdate для указанного пользователя. Будут обновлены настройки текущего пользователя.|{'username': 'kim'}
2025-06-25 14:35:41.336|[D00013]| Запускается GPOA обращением к oddjobd через D-Bus|{}
2025-06-25 14:35:41.336|[D00900]| Неизвестный отладочный код|{'bus_name': 'ru.basealt.oddjob_gpupdate'}
2025-06-25 14:35:41.336|[D00006]| Запускается GPOA для пользователя обращением к oddjobd через D-Bus|{'username': 'kim'}
2025-06-25 14:35:45.049|[D00012]| Получен код возврата из утилиты|{'retcode': dbus.Int32(0)}
Apply group policies for kim.
# gpupdate -u ivanov --target User --loglevel 0
2025-06-25 14:38:50.882|[D00010]| Групповые политики будут обновлены для указанной цели|{'target': 'USER'}
2025-06-25 14:38:50.887|[D00013]| Запускается GPOA обращением к oddjobd через D-Bus|{}
2025-06-25 14:38:50.888|[D00900]| Неизвестный отладочный код|{'bus_name': 'ru.basealt.oddjob_gpupdate'}
2025-06-25 14:38:50.888|[D00006]| Запускается GPOA для пользователя обращением к oddjobd через D-Bus|{'username': 'ivanov'}
2025-06-25 14:38:51.735|[D00012]| Получен код возврата из утилиты|{'retcode': dbus.Int32(0)}
Apply group policies for ivanov.
Примечание
gpupdate сравнивает версию на контроллере и локально и загружает только измененные политики.
gpupdate-setup:
gpupdate-setup [-h] действие …
Таблица 32.3. Список возможных действий для команды gpupdate-setup
|
Ключ
|
Описание
|
|---|---|
|
list
|
Показать список доступных типов локальной политики
|
|
list-backends
|
Показать список доступных бэкэндов
|
|
status
|
Показать текущий статус групповой политики (действие по умолчанию)
|
|
enable
|
Включить механизм групповых политик
|
|
disable
|
Отключить механизм групповых политик
|
|
update
|
Обновить состояние. Проверяет, в каком состоянии находилась служба gpupdate. В случае если служба gpupdate запущена, gpupdate-setup также запустит весь перечень необходимых служб (например, gpupdate-run-scripts)
|
|
write
|
Операции с групповыми политиками (включить, отключить, указать профиль политики по умолчанию)
|
|
set-backend
|
Установить или изменить активную в данный момент серверную часть (бэкэнд)
|
|
default-policy
|
Показать политику по умолчанию
|
|
active-policy
|
Показать текущий профиль политики
|
|
active-backend
|
Показать текущий бэкэнд
|
gpupdate-setup:
# gpupdate-setup
disabled
#gpupdate-setup enableworkstation Created symlink /etc/systemd/user/default.target.wants/gpupdate-user.service → /usr/lib/systemd/user/gpupdate-user.service. Created symlink /etc/systemd/system/multi-user.target.wants/gpupdate-scripts-run.service → /lib/systemd/system/gpupdate-scripts-run.service. Created symlink /etc/systemd/user/default.target.wants/gpupdate-scripts-run-user.service → /usr/lib/systemd/user/gpupdate-scripts-run-user.service. Created symlink /etc/systemd/system/timers.target.wants/gpupdate.timer → /lib/systemd/system/gpupdate.timer. Created symlink /etc/systemd/user/timers.target.wants/gpupdate-user.timer → /usr/lib/systemd/user/gpupdate-user.timer. #control system-policygpupdate
# gpupdate-setup disable
Removed /etc/systemd/system/multi-user.target.wants/gpupdate.service.
Removed /etc/systemd/user/default.target.wants/gpupdate-user.service.
Removed /etc/systemd/system/timers.target.wants/gpupdate.timer.
Removed /etc/systemd/user/timers.target.wants/gpupdate-user.timer.
Removed /etc/systemd/system/multi-user.target.wants/gpupdate-scripts-run.service.
Removed /etc/systemd/user/default.target.wants/gpupdate-scripts-run-user.service.
# gpupdate-setup list-backends
local
samba
# gpupdate-setup write enable server
/etc/gpupdate/gpupdate.ini можно указать в явном виде следующие опции:
/etc/gpupdate/gpupdate.ini на контроллере домена:
[gpoa] backend = samba local-policy = ad-domain-controller
/etc/gpupdate/gpupdate.ini на рабочей станции:
[gpoa] backend = samba local-policy = workstation
[gpoa] backend = samba local-policy = /usr/share/local-policy/default [samba] dc = dc1.test.alt
/usr/share/local-policy/. Данные настройки по умолчанию поставляются пакетом local-policy. Администраторы инфраструктур имеют возможность поставлять собственный пакет с локальной политикой и разворачивать её единообразно на всех клиентах. Формат шаблонов политик по умолчанию представляет собой архивный формат политик Samba с дополнительными модификациями. Локальную политику рекомендуется править только опытным администраторам. Состав локальной политики может меняться или адаптироваться системным администратором.
Таблица 32.4. Состав локальной политики
|
Параметры
|
Описание
|
Комментарий
|
|---|---|---|
|
sshd-gssapi-auth, ssh-gssapi-auth
|
Включает поддержку аутентификации с использованием GSSAPI на сервере OpenSSH (механизм Control)
|
Отвечает за возможность аутентификации в домене при доступе через SSH
|
|
sshd-allow-groups, sshd-allow-groups-list
|
Ограничение аутентификации на сервере OpenSSH по группам wheel и remote (механизм Control)
|
Необходимо для ограничения доступа через SSH для всех пользователей домена (только при наличии соответствующей привилегии)
|
|
system-policy
|
Применяет групповые политики при логине (механизм Control)
|
|
|
oddjobd.service
|
Включение oddjobd.service (механизм Systemd)
|
Необходимо для обеспечения возможности запуска
gpupdate для пользователя с правами администратора
|
|
gpupdate.service
|
Включение gpupdate.service (механизм Systemd)
|
Необходимо для регулярного обновления настроек машины
|
|
sshd.service
|
Включение sshd.service (механизм Systemd)
|
Необходимо для обеспечения возможности удалённого администрирования
|
|
OpenSSH
|
Открытие порта 22
|
Необходимо для обеспечения возможности подключения по SSH на машинах при старте Firewall applier
|
/usr/share/local-policy/workstation/Machine/Registry.pol.xml):
<?xml version="1.0" encoding="utf-8"?>
<PolFile num_entries="9" signature="PReg" version="1">
<Entry type="1" type_name="REG_SZ">
<Key>Software\BaseALT\Policies\Control</Key>
<ValueName>sshd-gssapi-auth</ValueName>
<Value>enabled</Value>
</Entry>
<Entry type="1" type_name="REG_SZ">
<Key>Software\BaseALT\Policies\Control</Key>
<ValueName>ssh-gssapi-auth</ValueName>
<Value>enabled</Value>
</Entry>
<Entry type="1" type_name="REG_SZ">
<Key>Software\BaseALT\Policies\Control</Key>
<ValueName>sshd-allow-groups</ValueName>
<Value>enabled</Value>
</Entry>
<Entry type="1" type_name="REG_SZ">
<Key>Software\BaseALT\Policies\Control</Key>
<ValueName>sshd-allow-groups-list</ValueName>
<Value>remote</Value>
</Entry>
<Entry type="1" type_name="REG_SZ">
<Key>Software\BaseALT\Policies\Control</Key>
<ValueName>system-policy</ValueName>
<Value>gpupdate</Value>
</Entry>
<Entry type="4" type_name="REG_DWORD">
<Key>Software\BaseALT\Policies\SystemdUnits</Key>
<ValueName>oddjobd.service</ValueName>
<Value>1</Value>
</Entry>
<Entry type="4" type_name="REG_DWORD">
<Key>Software\BaseALT\Policies\SystemdUnits</Key>
<ValueName>sshd.service</ValueName>
<Value>1</Value>
</Entry>
<Entry type="4" type_name="REG_DWORD">
<Key>Software\BaseALT\Policies\SystemdUnits</Key>
<ValueName>gpupdate.service</ValueName>
<Value>1</Value>
</Entry>
<Entry type="1" type_name="REG_SZ">
<Key>SOFTWARE\Policies\Microsoft\WindowsFirewall\FirewallRules</Key>
<ValueName>OpenSSH</ValueName>
<Value>v2.20|Action=Allow|Active=TRUE|Dir=In|Protocol=6|LPort=22|Name=Open SSH port|Desc=Open SSH port|</Value>
</Entry>
</PolFile>
/etc/dconf/db/policy.d/policy.ini, политики пользователя — в файле /etc/dconf/db/policy<UID>.d/policy<UID>.ini (где UID — идентификатор пользователя в системе).
dconf dump /
При выполнении этой команды с правами доменного пользователя будут выведены машинные политики и политики данного пользователя, при выполнении с правами пользователя root будут выведены только машинные политики.
dconf dump / с правами доменного пользователя:
$ dconf dump /
[SOFTWARE/Policies/Microsoft/WindowsFirewall/FirewallRules]
OpenSSH='v2.20|Action=Allow|Active=TRUE|Dir=In|Protocol=6|LPort=22|Name=Open SSH port|Desc=Open SSH port|'
[Software/BaseALT/Policies/Control]
ssh-gssapi-auth='enabled'
sshd-allow-groups='enabled'
sshd-allow-groups-list='remote'
sshd-gssapi-auth='enabled'
system-policy='gpupdate'
[Software/BaseALT/Policies/ReadQueue/Machine]
0="('Local Policy', '/var/cache/gpupdate/local-policy', None)"
1="('Firefox', '/var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{0CCFA74C-57F5-42B5-98E2-007D4A59C4C4}', 262148)"
[Software/BaseALT/Policies/ReadQueue/User]
0="('nm', '/var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{6F65CD4D-9209-4A81-9801-17A35CEE5CFD}', 131074)"
[Software/BaseALT/Policies/SystemdUnits]
gpupdate.service=1
oddjobd.service=1
sshd.service=1
[Software/Policies/Mozilla/Firefox]
DisableMasterPasswordCreation=1
PasswordManagerEnabled=1
ShowHomeButton=1
[Software/Policies/Mozilla/Firefox/Authentication]
SPNEGO="['.test.alt']"
[Software/Policies/Mozilla/Firefox/Homepage]
Locked=1
URL='https://basealt.ru'
[org/gnome/evolution-data-server]
migrated=true
network-monitor-gio-name=''
[org/mate/caja/window-state]
geometry='800x550+310+75'
maximized=false
start-with-sidebar=true
start-with-status-bar=true
start-with-toolbar=true
[org/mate/desktop/accessibility/keyboard]
bouncekeys-beep-reject=true
bouncekeys-delay=300
bouncekeys-enable=false
enable=false
feature-state-change-beep=false
mousekeys-accel-time=1200
mousekeys-enable=false
mousekeys-init-delay=160
mousekeys-max-speed=750
slowkeys-beep-accept=true
slowkeys-beep-press=true
slowkeys-beep-reject=false
slowkeys-delay=300
slowkeys-enable=false
stickykeys-enable=false
stickykeys-latch-to-lock=true
stickykeys-modifier-beep=true
stickykeys-two-key-off=true
timeout=120
timeout-enable=false
togglekeys-enable=false
[org/mate/desktop/session]
session-start=1718111448
[org/mate/mate-menu/plugins/applications]
last-active-tab=0
[org/mate/panel/general]
object-id-list=['menu-bar', 'show-desktop', 'workspace-switcher', 'window-list', 'notification-area', 'clock']
toplevel-id-list=['bottom']
[org/mate/panel/objects/clock]
applet-iid='ClockAppletFactory::ClockApplet'
locked=true
object-type='applet'
panel-right-stick=true
position=0
toplevel-id='bottom'
[org/mate/panel/objects/clock/prefs]
custom-format=''
format='24-hour'
[org/mate/panel/objects/menu-bar]
applet-iid='MateMenuAppletFactory::MateMenuApplet'
has-arrow=false
locked=true
object-type='applet'
position=0
toplevel-id='bottom'
[org/mate/panel/objects/notification-area]
applet-iid='NotificationAreaAppletFactory::NotificationArea'
locked=true
object-type='applet'
panel-right-stick=true
position=10
toplevel-id='bottom'
[org/mate/panel/objects/show-desktop]
applet-iid='WnckletFactory::ShowDesktopApplet'
locked=true
object-type='applet'
position=1
toplevel-id='bottom'
[org/mate/panel/objects/window-list]
applet-iid='WnckletFactory::WindowListApplet'
locked=true
object-type='applet'
position=20
toplevel-id='bottom'
[org/mate/panel/objects/workspace-switcher]
applet-iid='WnckletFactory::WorkspaceSwitcherApplet'
locked=true
object-type='applet'
position=10
toplevel-id='bottom'
[org/mate/panel/toplevels/bottom]
expand=true
orientation='bottom'
screen=0
size=28
y=836
y-bottom=0
[org/mate/terminal/profiles/default]
background-color='#2C2C2C2C2C2C'
background-darkness=0.94999999999999996
background-type='transparent'
bold-color='#000000000000'
foreground-color='#F5F5F5F5E4E4'
palette='#2E2E34343636:#CCCC00000000:#4E4E9A9A0606:#C4C4A0A00000:#34346565A4A4:#757550507B7B:#060698209A9A:#D3D3D7D7CFCF:#555557575353:#EFEF29292929:#8A8AE2E23434:#FCFCE9E94F4F:#72729F9FCFCF:#ADAD7F7FA8A8:#3434E2E2E2E2:#EEEEEEEEECEC'
use-theme-colors=false
visible-name='По умолчанию'
Таблица 32.5. Список модулей
|
Расширение клиентской стороны
|
Модуль
|
Описание
|
|---|---|---|
|
Управление control framework
|
control
|
Управляет фреймворком control. Может быть вызван только машинной политикой. Принцип работы — вызвать утилиту
control с нужным параметром
|
|
Управление настройками службы Polkit
|
polkit
|
Управляет генерацией настроек PolicyKit. Работа с правилами PolicyKit ведется методом генерации файлов
.rules
|
|
Управление настройками службы Polkit
|
polkit_user
|
Управляет генерацией настроек PolicyKit в контексте пользователя
|
|
Включение или выключение различных служб
|
systemd
|
Управление включением или выключением сервисов systemd. Данный applier реализован только для машин. Его функция — включение или выключение systemd units (при их наличии). Applier способен обрабатывать параметры, полученные из PReg файлов (через ADMX) в виде ветвей реестра
|
|
Настройка браузера Chromium
|
chromium
|
Генерирует файл политики для Chromium (
policies.json). Данные настройки устанавливаются из ADMX-файлов для Chromium. Может быть вызван только машинной политикой
|
|
Настройка браузера Firefox
|
firefox
|
Генерирует файл политики для Firefox (
policies.json). Данные настройки устанавливаются из ADMX-файлов для Firefox. Может быть вызван только машинной политикой
|
|
Настройка Яндекс.Браузера
|
yandex
|
Генерирует файл политики для Яндекс.Браузера (
policies.json). Данные настройки устанавливаются из ADMX-файлов для Яндекс.Браузера. Может быть вызван только машинной политикой
|
|
Настройка Thunderbird
|
thunderbird
|
Генерирует файл политики для Thunderbird (
policies.json). Данные настройки устанавливаются из ADMX-файлов для почтового клиента Thunderbird. Может быть вызван только машинной политикой
|
|
Управление ярлыками запуска программ
|
shortcut
|
Управляет
.desktop файлами (создание/удаление/замена)
|
|
Управление ярлыками запуска программ
|
shortcut_user
|
Управляет
.desktop файлами в контексте пользователя. Способен реагировать на опцию выполнения операций в контексте администратора или пользователя
|
|
Управление подключением сетевых дисков
|
cifs
|
Управляет подключением сетевых дисков
|
|
Управление подключением сетевых дисков
|
cifs_user
|
Управляет подключением сетевых дисков в контексте пользователя
|
|
Управление каталогами файловой системы
|
folder
|
Управляет каталогами файловой системы (создание/удаление/пересоздание)
|
|
Управление каталогами файловой системы
|
folder_user
|
Управляет каталогами файловой системы в контексте пользователя
|
|
Управление файлами
|
files
|
Управляет файлами (создание/удаление/пересоздание)
|
|
Управление файлами
|
files_user
|
Управляет файлами в контексте пользователя
|
|
Управление INI-файлами
|
ini
|
Управляет INI-файлами (создание/удаление/пересоздание)
|
|
Управление INI-файлами
|
ini_user
|
Управляет INI-файлами в контексте пользователя
|
|
Управление переменными среды
|
envvar
|
Управляет переменными среды
|
|
Управление переменными среды
|
envvar_user
|
Управляет переменными среды в контексте пользователя
|
|
Управление общими каталогами
|
networkshare
|
Управляет общими каталогами
|
|
Управление общими каталогами
|
networkshare_user
|
Управляет общими каталогами в контексте пользователя
|
|
Управление gsettings (настройки графической среды Mate)
|
gsettings
|
Разворачивает системные настройки gsettings. Редактирование системных настроек осуществляется методом развертывания файлов с расширением
.gschema.override (в формате INI) в директории с XML схемами. После разворачивания необходимо осуществить вызов glib-compile-schemas, для того чтобы настройки вступили в силу
|
|
Управление gsettings (настройки графической среды Mate)
|
gsettings_user
|
Устанавливает настройки gsettings для пользователя
|
|
Управление настройками графической среды GNOME
|
gnome
|
Средство управления настройками среды рабочего стола GNOME
|
|
Управление настройками графической среды GNOME
|
gnome_user
|
Устанавливает настройки GNOME в контексте пользователя
|
|
Управление настройками графической среды KDE
|
kde
|
Средство управления настройками среды рабочего стола KDE
|
|
Управление настройками графической среды KDE
|
kde_user
|
Устанавливает настройки KDE в контексте пользователя
|
|
Управление пакетами
|
package
|
Средство работы с пакетным менеджером для установки и удаления пакетов программ
|
|
Управление пакетами
|
package_user
|
Управление пакетами в контексте пользователя
|
|
Управление logon-скриптами
|
scripts
|
Управление скриптами запуска и завершения работы компьютера, входа и выхода из системы пользователя
|
|
Управление logon-скриптами
|
scripts_user
|
Управление скриптами в контексте пользователя
|
gpupdate.timer. Запуск фронтенда для пользователя в административном контексте производится с помощью модуля pam_oddjob при входе в систему и далее раз в час (по умолчанию) также средством Systemd — gpupdate-user.timer.
gpupdate.service используются системный таймер gpupdate.timer и пользовательский таймер gpupdate-user.timer. Для управления периодом запуска групповых политик достаточно изменить параметр соответствующего таймера systemd (по умолчанию период запуска составляет 1 час).
OnUnitActiveSec в файле /lib/systemd/system/gpupdate.timer:
[Unit] Description=Run gpupdate every hour [Timer] OnStartupSec=60min OnUnitActiveSec=60min [Install] WantedBy=timers.target
gpupdate.timer запустится после загрузки ОС, а затем будет запускаться каждый час во время работы системы. Просмотреть статус системного таймера можно, выполнив команду:
# systemctl status gpupdate.timer
● gpupdate.timer - Run gpupdate every hour
Loaded: loaded (/lib/systemd/system/gpupdate.timer; enabled; vendor preset: disabled)
Active: active (waiting) since Wed 2025-06-25 14:30:17 MSK; 33min ago
Trigger: Wed 2025-06-25 15:30:16 MSK; 26min left
Triggers: ● gpupdate.service
июн 25 14:30:17 host-01.test.alt systemd[1]: Started gpupdate.timer - Run gpupdate every hour.
OnUnitActiveSec в файле /usr/lib/systemd/user/gpupdate-user.timer:
[Unit] Description=Run gpupdate-user every hour [Timer] OnStartupSec=60min OnUnitActiveSec=60min [Install] WantedBy=timers.target
gpupdate-user.timer запустится после входа пользователя в систему, а затем будет запускаться каждый час пока активен сеанс соответствующего пользователя. Просмотреть статус пользовательского таймера можно, выполнив команду от имени пользователя:
$ systemctl --user status gpupdate-user.timer
● gpupdate-user.timer - Run gpupdate-user every hour
Loaded: loaded (/usr/lib/systemd/user/gpupdate-user.timer; enabled; vendor preset: enabled)
Active: active (waiting) since Wed 2025-06-25 14:38:16 MSK; 31min ago
Trigger: Wed 2025-06-25 15:38:16 MSK; 28min left
Triggers: ● gpupdate-user.service
июн 25 14:38:16 host-01.test.alt systemd[8278]: Started gpupdate-user.timer - Run gpupdate-user every hour.
/usr/lib/systemd/user/gpupdate-user.timer, вступили в силу следует выполнить команду:
$ systemctl --user daemon-reload
Примечание
gpupdate можно также через групповые политики (см. раздел Настройка периодичности запроса конфигураций).
$ systemctl list-timers
$ systemctl --user list-timers
gpresult) отображает сведения о результирующем наборе групповых политик для текущего пользователя (для которого запущена сессия) на текущей машине.
# apt-get install gpresult
gpupdate. GPResult не вызывает утилиту gpupdate.
gpresult:
gpresult [-h] [-r] [-c] [-v] [-l] [-p] [-w WIDTH] [-i POLICY_GUID] [-n POLICY_NAME] [-u] [-m]
Таблица 32.6. Опции команды gpresult
|
Ключ
|
Описание
|
|---|---|
|
-h, --help
|
Вывести справку о команде
|
|
-r, --raw
|
Формат вывода: отображаются ключи групповых политик, текущие и предыдущие значения
|
|
-c, --common
|
Формат вывода: отображаются сведения о системе и имена групповых политик
|
|
-v, --verbose
|
Формат вывода (по умолчанию): отображаются подробные сведения о групповых политиках
|
|
-l, --list
|
Формат вывода: отображаются имена групповых политик и их GUID
|
|
-p, --previous
|
Включить информацию о предыдущих значениях ключей групповых политик
|
|
-w WIDTH, --width WIDTH
|
Задать ширину столбцов для вывода внутренних таблиц (ключи и значения, настройки):
|
|
-i POLICY_GUID, --policy_guid POLICY_GUID
|
Получить информацию о примененных ключах и значениях политики по GUID
|
|
-n POLICY_NAME, --policy_name POLICY_NAME
|
Получить информацию о примененных ключах и значениях политики по имени
|
|
-u, --user
|
Отобразить информацию для текущего пользователя
|
|
-m, --machine
|
Отобразить информацию для текущей машины
|
Примечание
-l не применяется с опциями -i и -n. Опция -l может использоваться вместе с опцией -r — вывод не будет форматированным. Имя GPO и GUID разделяются одним пробелом. Без выбора опции формата вывода по умолчанию используется -v.
Примечание
gpresult:
$ gpresult -v
Отчет сформирован 25-06-2025 15:15
Результирующий набор политик
----------------------------
Операционная система: ALT
Версия ОС: 11.0 (Prometheus)
ПОЛЬЗОВАТЕЛЬСКИЕ НАСТРОЙКИ
--------------------------
Примененные Объекты Групповой Политики
--------------------------------------
GPO Файлы
Путь /var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{96D5897A-CEFB-4A1B-90AF-5D83707130C4}
Версия 65537
GUID {96D5897A-CEFB-4A1B-90AF-5D83707130C4}
Ключи -
Настройки -
GPO Local Policy
Путь /var/cache/gpupdate/local-policy
Версия -
GUID -
Ключи -
Настройки -
GPO Экспериментальные политики
Путь /var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{377A04D4-213E-4783-9B37-5FEE4FF112AA}
Версия 65537
GUID {377A04D4-213E-4783-9B37-5FEE4FF112AA}
Ключи -
Настройки -
GPO Default Domain Policy
Путь /var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{31B2F340-016D-11D2-945F-00C04FB984F9}
Версия 0
GUID {31B2F340-016D-11D2-945F-00C04FB984F9}
Ключи -
Настройки -
GPO KDE
Путь /var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{3C70AD47-E9D5-415F-A565-C1E1472C6D55}
Версия 655370
GUID {3C70AD47-E9D5-415F-A565-C1E1472C6D55}
Ключи -
Настройки -
МАШИННЫЕ НАСТРОЙКИ
------------------
Примененные Объекты Групповой Политики
--------------------------------------
GPO Экспериментальные политики
Путь /var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{377A04D4-213E-4783-9B37-5FEE4FF112AA}
Версия 65537
GUID {377A04D4-213E-4783-9B37-5FEE4FF112AA}
Ключи -
Настройки -
GPO KDE
Путь /var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{3C70AD47-E9D5-415F-A565-C1E1472C6D55}
Версия 655370
GUID {3C70AD47-E9D5-415F-A565-C1E1472C6D55}
Ключи /Software/BaseALT/Policies/GPUpdate/KdeApplier 1
/Software/BaseALT/Policies/GPUpdate/KdeApplierUser 1
/Software/BaseALT/Policies/KDE/kscreenlockerrc/Daemon/Autolock 1
/Software/BaseALT/Policies/KDE/kscreenlockerrc/Daemon/LockGrace 20
/Software/BaseALT/Policies/KDE/kscreenlockerrc/Daemon/LockOnResume 1
/Software/BaseALT/Policies/KDE/kscreenlockerrc/Daemon/Timeout 5
/Software/BaseALT/Policies/KDELocks/kscreenlockerrc.Daemon.Autolock 0
/Software/BaseALT/Policies/KDELocks/kscreenlockerrc.Daemon.LockGrace 1
/Software/BaseALT/Policies/KDELocks/kscreenlockerrc.Daemon.LockOnResume 1
/Software/BaseALT/Policies/KDELocks/kscreenlockerrc.Daemon.Timeout 0
Настройки -
GPO Local Policy
Путь /var/cache/gpupdate/local-policy
Версия -
GUID -
Ключи /SOFTWARE/Policies/Microsoft/WindowsFirewall/FirewallRules/OpenSSH v2.20|Action=Allow|Active=TRUE|Dir=In|Protocol=6|LPort=22|Name=Open SSH port|Desc=Open SSH port|
/Software/BaseALT/Policies/Control/ssh-gssapi-auth enabled
/Software/BaseALT/Policies/Control/sshd-allow-groups enabled
/Software/BaseALT/Policies/Control/sshd-allow-groups-list remote
/Software/BaseALT/Policies/Control/sshd-gssapi-auth enabled
/Software/BaseALT/Policies/Control/system-policy gpupdate
/Software/BaseALT/Policies/SystemdUnits/gpupdate.service 1
/Software/BaseALT/Policies/SystemdUnits/oddjobd.service 1
/Software/BaseALT/Policies/SystemdUnits/sshd.service 1
Настройки -
GPO Default Domain Policy
Путь /var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{31B2F340-016D-11D2-945F-00C04FB984F9}
Версия 0
GUID {31B2F340-016D-11D2-945F-00C04FB984F9}
Ключи -
Настройки -
GPO Файлы
Путь /var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{96D5897A-CEFB-4A1B-90AF-5D83707130C4}
Версия 65537
GUID {96D5897A-CEFB-4A1B-90AF-5D83707130C4}
Ключи /Software/BaseALT/Policies/GPUpdate/GlobalExperimental 1
Настройки Тип Файлы
Источник файла(ов) //test.alt/sysvol/test.alt/test.txt
Источник -
Действие U
Место назначения %DesktopDir%/new2.txt
Только для чтения 0
Архивный 0
Скрытый 0
Подавление ошибок 0
Исполняемый 0
GPO Сетевой диск
Путь /var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{1F4C3297-9355-4098-B9C8-53CAD6FFEBEF}
Версия 720907
GUID {1F4C3297-9355-4098-B9C8-53CAD6FFEBEF}
Ключи /Software/BaseALT/Policies/GPUpdate/DriveMapsName my_share
Настройки Тип Сетевые диски
Пароль
Имя диска I
Путь \\dc1.test.alt\sysvol
Действие U
Этот диск SHOW
Все диски SHOW
Название
Переподключиться 1
Использовать 0
Тип Сетевые диски
Пароль
Имя диска O
Путь \\dc1.test.alt\Free
Действие U
Этот диск SHOW
Все диски SHOW
Название
Переподключиться 0
Использовать 1
$ gpresult -v -m
Отчет сформирован 25-06-2025 15:19
Результирующий набор политик
----------------------------
Операционная система: ALT
Версия ОС: 11.0 (Prometheus)
МАШИННЫЕ НАСТРОЙКИ
------------------
Примененные Объекты Групповой Политики
--------------------------------------
GPO Экспериментальные политики
Путь /var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{377A04D4-213E-4783-9B37-5FEE4FF112AA}
Версия 65537
GUID {377A04D4-213E-4783-9B37-5FEE4FF112AA}
Ключи -
Настройки -
GPO KDE
Путь /var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{3C70AD47-E9D5-415F-A565-C1E1472C6D55}
Версия 655370
GUID {3C70AD47-E9D5-415F-A565-C1E1472C6D55}
Ключи /Software/BaseALT/Policies/GPUpdate/KdeApplier 1
/Software/BaseALT/Policies/GPUpdate/KdeApplierUser 1
/Software/BaseALT/Policies/KDE/kscreenlockerrc/Daemon/Autolock 1
/Software/BaseALT/Policies/KDE/kscreenlockerrc/Daemon/LockGrace 20
/Software/BaseALT/Policies/KDE/kscreenlockerrc/Daemon/LockOnResume 1
/Software/BaseALT/Policies/KDE/kscreenlockerrc/Daemon/Timeout 5
/Software/BaseALT/Policies/KDELocks/kscreenlockerrc.Daemon.Autolock 0
/Software/BaseALT/Policies/KDELocks/kscreenlockerrc.Daemon.LockGrace 1
/Software/BaseALT/Policies/KDELocks/kscreenlockerrc.Daemon.LockOnResume 1
/Software/BaseALT/Policies/KDELocks/kscreenlockerrc.Daemon.Timeout 0
Настройки -
GPO Local Policy
Путь /var/cache/gpupdate/local-policy
Версия -
GUID -
Ключи /SOFTWARE/Policies/Microsoft/WindowsFirewall/FirewallRules/OpenSSH v2.20|Action=Allow|Active=TRUE|Dir=In|Protocol=6|LPort=22|Name=Open SSH port|Desc=Open SSH port|
/Software/BaseALT/Policies/Control/ssh-gssapi-auth enabled
/Software/BaseALT/Policies/Control/sshd-allow-groups enabled
/Software/BaseALT/Policies/Control/sshd-allow-groups-list remote
/Software/BaseALT/Policies/Control/sshd-gssapi-auth enabled
/Software/BaseALT/Policies/Control/system-policy gpupdate
/Software/BaseALT/Policies/SystemdUnits/gpupdate.service 1
/Software/BaseALT/Policies/SystemdUnits/oddjobd.service 1
/Software/BaseALT/Policies/SystemdUnits/sshd.service 1
Настройки -
GPO Default Domain Policy
Путь /var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{31B2F340-016D-11D2-945F-00C04FB984F9}
Версия 0
GUID {31B2F340-016D-11D2-945F-00C04FB984F9}
Ключи -
Настройки -
GPO Файлы
Путь /var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{96D5897A-CEFB-4A1B-90AF-5D83707130C4}
Версия 65537
GUID {96D5897A-CEFB-4A1B-90AF-5D83707130C4}
Ключи /Software/BaseALT/Policies/GPUpdate/GlobalExperimental 1
Настройки Тип Файлы
Источник файла(ов) //test.alt/sysvol/test.alt/test.txt
Источник -
Действие U
Место назначения %DesktopDir%/new2.txt
Только для чтения 0
Архивный 0
Скрытый 0
Подавление ошибок 0
Исполняемый 0
GPO Сетевой диск
Путь /var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{1F4C3297-9355-4098-B9C8-53CAD6FFEBEF}
Версия 720907
GUID {1F4C3297-9355-4098-B9C8-53CAD6FFEBEF}
Ключи /Software/BaseALT/Policies/GPUpdate/DriveMapsName my_share
Настройки Тип Сетевые диски
Пароль
Имя диска I
Путь \\dc1.test.alt\sysvol
Действие U
Этот диск SHOW
Все диски SHOW
Название
Переподключиться 1
Использовать 0
Тип Сетевые диски
Пароль
Имя диска O
Путь \\dc1.test.alt\Free
Действие U
Этот диск SHOW
Все диски SHOW
Название
Переподключиться 0
Использовать 1
$ gpresult -lm
Экспериментальные политики {377A04D4-213E-4783-9B37-5FEE4FF112AA}
KDE {3C70AD47-E9D5-415F-A565-C1E1472C6D55}
Local Policy -
Default Domain Policy {31B2F340-016D-11D2-945F-00C04FB984F9}
Файлы {96D5897A-CEFB-4A1B-90AF-5D83707130C4}
Сетевой диск {1F4C3297-9355-4098-B9C8-53CAD6FFEBEF}
$ gpresult -c -i 6F65CD4D-9209-4A81-9801-17A35CEE5CFD
/Software/BaseALT/Policies/Polkit/org.freedesktop.NetworkManager.enable-disable-network Auth_admin
/Software/BaseALT/Policies/Polkit/org.freedesktop.NetworkManager.settings.modify.system No
/Software/BaseALT/Policies/PolkitLocks/org.freedesktop.NetworkManager.enable-disable-network 0
/Software/BaseALT/Policies/PolkitLocks/org.freedesktop.NetworkManager.settings.modify.system 0
$ gpresult -c -n KDE
/Software/BaseALT/Policies/GPUpdate/KdeApplier 1
/Software/BaseALT/Policies/GPUpdate/KdeApplierUser 1
/Software/BaseALT/Policies/KDE/kscreenlockerrc/Daemon/Autolock 1
/Software/BaseALT/Policies/KDE/kscreenlockerrc/Daemon/LockGrace 20
/Software/BaseALT/Policies/KDE/kscreenlockerrc/Daemon/LockOnResume 1
/Software/BaseALT/Policies/KDE/kscreenlockerrc/Daemon/Timeout 5
/Software/BaseALT/Policies/KDELocks/kscreenlockerrc.Daemon.Autolock 0
/Software/BaseALT/Policies/KDELocks/kscreenlockerrc.Daemon.LockGrace 1
/Software/BaseALT/Policies/KDELocks/kscreenlockerrc.Daemon.LockOnResume 1
/Software/BaseALT/Policies/KDELocks/kscreenlockerrc.Daemon.Timeout 0
где KDE — имя групповой политики;
$ gpresult -c -p -n KDE
/Software/BaseALT/Policies/GPUpdate/KdeApplier 1 -
/Software/BaseALT/Policies/GPUpdate/KdeApplierUser 1 -
/Software/BaseALT/Policies/KDE/kscreenlockerrc/Daemon/Autolock 1 -
/Software/BaseALT/Policies/KDE/kscreenlockerrc/Daemon/LockGrace 20 11
/Software/BaseALT/Policies/KDE/kscreenlockerrc/Daemon/LockOnResume 1 -
/Software/BaseALT/Policies/KDE/kscreenlockerrc/Daemon/Timeout 5 12
/Software/BaseALT/Policies/KDELocks/kscreenlockerrc.Daemon.Autolock 0 1
/Software/BaseALT/Policies/KDELocks/kscreenlockerrc.Daemon.LockGrace 1 -
/Software/BaseALT/Policies/KDELocks/kscreenlockerrc.Daemon.LockOnResume 1 -
/Software/BaseALT/Policies/KDELocks/kscreenlockerrc.Daemon.Timeout 0 1
admc).
Примечание
$ kinit administrator

Примечание
/tmp/admc_uid*/ccaches/.
Примечание











Примечание
/usr/share/icons, пользовательские темы загружаются по умолчанию из каталога /usr/share/ad-integration-themes. Каталоги с темами определяются по наличию в них файла index.theme и могут быть символическими ссылками.


Примечание




Таблица 33.1. Назначение вкладок окна Свойства учётной записи пользователя
|
Вкладка
|
Описание
|
Расширенный режим
|
|---|---|---|
|
Общее
|
Основная информация, идентифицирующая личность пользователя, которой соответствует данная учётная запись
|
-
|
|
Учётная запись
|
Параметры учётной записи: имя входа, срок действия, политики блокировки и паролей
|
-
|
|
Адрес
|
Почтовый адрес пользователя
|
-
|
|
Организация
|
Данные о должности, отделе и руководителе (согласно штатному расписанию)
|
-
|
|
Телефоны
|
Номера телефонов пользователя
|
-
|
|
Группы
|
Управление членством в группах безопасности
|
-
|
|
Атрибуты
|
Просмотр и редактирование всех атрибутов объекта
|
+
|
|
Объект
|
Служебная информация: GUID, SID, дата создания и изменения
|
+
|
|
Делегирование
|
Настройка делегирования полномочий
|
-
|
|
Безопасность
|
Управление правами доступа к объекту (ACL)
|
+
|
Таблица 33.2. Соответствие полей вкладки Общее атрибутам Active Directory
|
Поле на вкладке Общее
|
Примечание
|
Атрибут в AD
|
Тип
|
|---|---|---|---|
|
Полное имя
|
На вкладке Общее значение этого поля изменить нельзя
|
cn, name
|
Юникод
|
|
Описание
|
|
description
|
Юникод
|
|
Имя
|
|
givenName
|
Юникод
|
|
Отчество
|
|
middleName
|
Юникод
|
|
Фамилия
|
|
sn
|
Юникод
|
|
Отображаемое имя
|
Формируется автоматически из значений трёх параметров: First Name, Initials и Last Name
|
displayName
|
Юникод
|
|
Инициалы
|
Максимум 6 символов
|
initials
|
Юникод
|
|
Электронная почта
|
Заполняется автоматически при создании почтового ящика в формате UPN (RFC 822). По умолчанию пустое
|
mail
|
Юникод
|
|
Расположение офиса
|
Физическое местоположение: комната, этаж, здание
|
physicalDeliveryOfficeName
|
Юникод
|
|
Номер телефона
|
|
telephoneNumber
|
Юникод
|
|
Другие телефоны
|
Добавляются через кнопку
|
otherTelephone
|
Юникод
|
|
Адрес веб-страницы
|
|
wWWHomePage
|
Юникод
|
|
Другие адреса веб-страниц
|
Добавляются через кнопку
|
url
|
Юникод
|

Таблица 33.3. Соответствие полей вкладки Учетная запись атрибутам Active Directory
|
Поле на вкладке Учетная запись
|
Примечание
|
Атрибут в AD
|
Тип
|
|---|---|---|---|
|
Имя для входа
|
Логин пользователя (UPN)
|
userPrincipalName
|
Юникод
|
|
Разблокировать учётную запись
|
Позволяет разблокировать учётную запись пользователя, если она была заблокирована, например, после множества неудачных попыток входа
|
userAccountControl = 16
|
Целое число
|
|
Срок действия учётной записи
|
Дата отключения учётной записи (по умолчанию Никогда — неограниченный срок действия). Если нужно задать дату окончания срока действия учётной записи пользователя, следует выбрать Конец и затем выбрать дату
|
accountExpires
|
Большое целое число
|
|
Время входа…
|
Ограничение времени входа в систему
|
logonHours
|
Октет
|
|
Учетная запись отключена (ACCOUNTDISABLE)
|
Запрещает вход пользователя в систему
|
userAccountControl = 0x0002 (2)
|
Целое число
|
|
Пользователь не может изменить пароль (PASSWD_CANT_CHANGE)
|
|
userAccountControl = 0x0040 (64)
|
Целое число
|
|
Пользователь должен сменить пароль при следующем входе в систему
|
|
pwdLastSet = 0
|
Большое целое число
|
|
Пароль не истекает (DONT_EXPIRE_PASSWORD)
|
Срок действия пароля не ограничен
|
userAccountControl = 0x10000 (65536)
|
Целое число
|
|
Хранить пароль с использованием обратимого шифрования (ENCRYPTED_TEXT_PWD_ALLOWED)
|
Для шифрования ключей использовать DES-шифрование (небезопасно). Эта политика обеспечивает поддержку приложений, использующих протоколы, требующие знание пароля пользователя для проверки подлинности
|
userAccountControl = 0x0080 (128)
|
Целое число
|
|
Смарт-карта необходима для интерактивного входа в систему (SMARTCARD_REQUIRED)
|
Пользователь должен использовать смарт-карту для входа
|
userAccountControl = 0x40000 (262144)
|
Целое число
|
|
Учетная запись является конфиденциальной и не может быть делегирована (NOT_DELEGATED)
|
Запрещает делегирование полномочий для этой учётной записи
|
userAccountControl = 0x100000 (1048576)
|
Целое число
|
|
Использовать Kerberos DES тип шифрования для этой учётной записи (USE_DES_KEY_ONLY)
|
Ограничивает использование только DES-шифрованием (устаревший и небезопасный алгоритм)
|
userAccountControl = 0x200000 (2097152)
|
Целое число
|
|
Не требовать предварительной аутентификации Kerberos (DONT_REQ_PREAUTH)
|
Отключает обязательную предварительную аутентификацию Kerberos (снижает безопасность)
|
userAccountControl = 0x400000 (4194304)
|
Целое число
|
|
Настройки паролей (начиная с версии 0.21.0-alt1)
|
Ссылка на применённый объект политики паролей (PSO)
|
ms-DS-PSO-Applied
|
Различающееся имя
|
Примечание


Примечание




lastLogon и lastLogonTimestamp (время последнего входа пользователя в домен) на вкладке Атрибуты и в окне редактирования атрибута отображаются в формате ДД.ММ.ГГГГ ЧЧ:ММ, хотя в AD хранятся как 64-битные целые числа (100-нс интервалы с 1 января 1601 (UTC)):




Примечание
Примечание


Примечание
Примечание






Предупреждение








Предупреждение




Примечание

Примечание
Примечание

Примечание
Предупреждение
Важно
Примечание
msLAPS-EncryptedPassword объекта компьютера.

Примечание
msLAPS* содержит данные:

Примечание

Примечание


Примечание
Важно
Предупреждение


Примечание
Примечание




Примечание




Примечание
Примечание



Примечание






Примечание


Примечание
ms-DS-PSO-Applied.


Примечание
Примечание


Примечание

Предупреждение

Примечание

Примечание


Примечание

Примечание




Примечание





Примечание



Примечание



Примечание


Примечание
Примечание


Примечание


Примечание

Примечание






Примечание




Примечание



Примечание



Примечание



Примечание




Примечание







<Фильтр>=(<Атрибут><оператор сравнения><значение>)











gpui-main:
gpui-main [параметры]
Таблица 34.1. Опции команды gpui-main
|
Параметр
|
Описание
|
|---|---|
|
-p <путь>
|
Полный путь к редактируемому шаблону групповой политики (GPT)
|
|
-b <путь>
|
Полный путь к каталогу с ADMX-файлами
|
|
-n <имя>
|
Опция оставлена для совместимости с ADMC. Она ничего не делает
|
|
--log-console <уровень>
|
Установить уровень логирования для консоли. По умолчанию: none
|
|
--log-syslog <уровень>
|
Установить уровень логирования для syslog. По умолчанию: none
|
|
--log-file <уровень>
|
Установить уровень логирования для файла в
~/.local/share/gpui/. По умолчанию: warning
|
|
-v, --version
|
Вывести версию GPUI
|
|
-h, --help
|
Вывести справку о команде
|

$ gpui-main -p "smb://dc1.test.alt/SysVol/test.alt/Policies/{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXX}"
Ключ -p позволяет указать путь к шаблону групповой политики (GPT), dc1.test.alt — имя контроллера домена, {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXX} — GUID объекта GPO. Можно указывать как каталоги smb, так и локальные каталоги.
Примечание

$ gpui-main -p "smb://dc1.test.alt/SysVol/test.alt/Policies/{2E80AFBE-BBDE-408B-B7E8-AF79E02839D6}"
/usr/share/PolicyDefinitions.
-b:
$ gpui-main -b "/usr/share/PolicyDefinitions"

Примечание


Примечание


Примечание





















systemctl enable <служба>);
systemctl disable <служба>).
Таблица 34.2. Список служб, состояние которых можно изменить, настроив соответствующую политику в GPUI
|
Служба
|
Описание
|
Сервис Systemd
|
|---|---|---|
|
Агент передачи почты Postfix
|
Политика определяет, включен ли systemd юнит агента передачи почты Postfix
|
postfix.service
|
|
Графический менеджер входа в систему (lightdm)
|
Политика определяет, включен ли systemd юнит службы графического менеджера входа в систему
|
lightdm.service
|
|
Демон Upower
|
Политика определяет, включен ли systemd юнит Daemon Upower (управление питанием)
|
upower.service
|
|
Диспетчер авторизации (polkit)
|
Политика определяет, включен ли systemd юнит диспетчера авторизации (polkit)
|
polkit.service
|
|
Менеджер модема
|
Политика определяет, включен ли systemd юнит диспетчера модемов
|
ModemManager.service
|
|
Менеджер мыши в консоли
|
Политика определяет, включен ли sytemd юнит диспетчера мыши консоли
|
gpm.service
|
|
Ожидание Network Manager'ом сети при загрузке
|
Политика определяет, включен ли systemd юнит «Network Manager Wait Online»
|
NetworkManager-wait-online.service
|
|
Отображение адресов и номеров RPC
|
Политика определяет, включен ли systemd юнит RPC bind
|
rpcbind.service
|
|
Планировщик CUPS
|
Политика определяет, включен ли systemd юнит Service CUPS (планировщик)
|
org.cups.cupsd.service
|
|
Сервер frontend веб-интерфейса Alterator
|
Политика определяет, включен ли systemd юнит веб-сервера frotend WWW интерфейса Alterator
|
ahttpd.service
|
|
Серверная часть Alterator
|
Политика определяет, включен ли systemd юнит внутреннего сервера Alterator
|
alteratord.service
|
|
Сервис кеширования службы имен (nscd)
|
Политика определяет, включён ли systemd юнит сервиса кеширования службы имен
|
nscd.service
|
|
Сервис службы именования LDAP-клиента (nslcd)
|
Политика определяет, включен ли systemd юнит сервиса служб именования клиента LDAP
|
nslcd.service
|
|
Сервис Сonsolesaver SYSV
|
Политика определяет, включен ли systemd юнит Сonsolesaver (SYSV: этот пакет загружает конфигурацию энергосбережения консоли)
|
consolesaver.service
|
|
Сервис colord
|
Политика определяет, включен ли systemd юнит colord (сервис для управления, установки и создания цветовых профилей)
|
colord.service
|
|
Системный модуль kmod-static-nodes
|
Политика определяет, включен ли systemd юнит kmod-static-nodes (создаёт список необходимых статических узлов устройства для текущего ядра)
|
kmod-static-nodes.service
|
|
Системный модуль oddjobd
|
Политика определяет, включен ли systemd юнит oddjobd (используется для запуска привилегированных операций для непривилегированных процессов)
|
oddjobd.service
|
|
Служба аудита безопасности
|
Политика определяет, включен ли системный модуль службы аудита безопасности
|
auditd.service
|
|
Служба защищенного управления (sshd)
|
Политика определяет, включен ли systemd юнит демона сервера OpenSSH
|
sshd.service
|
|
Служба сетевых подключений
|
Политика определяет, включен ли systemd юнит службы сетевых подключений
|
network.service
|
|
Служба события ACPI
|
Политика определяет, включен ли systemd юнит системной службы событий ACPI
|
acpid.service
|
|
Служба учётных записей (accounts-daemon)
|
Политика определяет, включен ли systemd юнит службы учётных записей (accounts-daemon)
|
accounts-daemon.service
|
|
Служба Crond
|
Политика определяет, включен ли systemd юнит службы Cron
|
crond.service
|
|
Служба Network Manager
|
Политика определяет, включен ли systemd юнит «Network Manager»
|
NetworkManager.service
|
|
Служба PC/SC Smart Card
|
Политика определяет, включен ли systemd юнит службы поддержки PC/SC Smart Card
|
pcscd.service
|
|
Avahi mDNS/DNS-SD
|
Политика определяет, включен ли systemd юнит стека mDNS/DNS-SD Avahi
|
avahi-daemon.service
|
|
Chronyd (служба NTP)
|
Политика определяет, включен ли systemd юнит NTP клиента/сервера Chronyd
|
chronyd.service
|
|
Cpufreq-simple сервис
|
Политика определяет, включен ли systemd юнит службы Cpufreq-simple (загружает модули ядра, необходимые для масштабирования cpufreq)
|
cpufreq-simple.service
|
|
DNS-сервер BIND
|
Политика определяет, включен ли systemd юнит DNS-сервера (сервиса) BIND (Berkeley Internet Name Domain)
|
bind.service
|
|
Служба Dnsmasq
|
Политика определяет, включен ли systemd юнит службы Dnsmasq (облегченный DHCP и кеширующий DNS-сервер, а также TFTP-сервер для поддержки загрузки по сети)
|
dnsmasq.service
|
|
Kerberos 5 KDC
|
Политика определяет, включен ли systemd юнит Kerberos 5 KDC
|
krb5kdc.service
|
|
Samba NMB сервис
|
Политика определяет, включен ли systemd юнит сервиса Samba NMB
|
nmb.service
|
|
Samba SMB сервис
|
Политика определяет, включен ли systemd юнит сервис Samba SMB
|
smb.service
|
|
Samba Winbind сервис
|
Политика определяет, включен ли systemd юнит Samba Winbind
|
winbind.service
|
|
SYSV: интерфейс терминала смарт-карт
|
Политика определяет, включен ли systemd юнит Openct (SYSV: терминал смарт-карт)
|
openct.service
|




Таблица 34.3. Категория «Безопасность»
|
Политика
|
Control
|
Описание
|
Режимы
|
|---|---|---|---|
|
Выполнение программы
/usr/bin/chfn
|
chfn
|
Политика позволяет контролировать поведение и права доступа к команде
chfn (/usr/bin/chfn). Команда chfn может изменить полное имя пользователя, номер кабинета, номера офисного и домашнего телефона для учётной записи пользователя. Обычный пользователь может изменять поля только для своей учётной записи, с учётом ограничений в /etc/login.defs (конфигурация по умолчанию не позволяет пользователям менять свое полное имя)
|
|
|
Выполнение программы
/usr/bin/chage
|
chage
|
Политика позволяет контролировать доступ для выполнения программы
/usr/bin/chage
|
|
|
Выполнение программы
/usr/bin/gpasswd
|
gpasswd
|
Определяет права на запуск инструмента
/usr/bin/gpasswd
|
|
|
Выполнение программы
/usr/bin/groupmems
|
groupmems
|
Определяет права на выполнение программы
/usr/bin/groupmems
|
|
|
Метод аутентификации
|
system-auth
|
Определяет метод аутентификации пользователя
|
|
|
Разрешение на использование
/usr/bin/chsh
|
chsh
|
Политика позволяет управлять правами доступа к команде
chsh (/usr/bin/chsh). Команда chsh позволяет изменить командную оболочку (или интерпретатор командной строки), запускаемую по умолчанию при регистрации пользователя в текстовой консоли (по умолчанию используется /bin/bash). Обычный пользователь может изменить командную оболочку только для своей учётной записи (командная оболочка должна быть перечислена в файле /etc/shells). Суперпользователь может изменить настройки для любой учётной записи (могут быть указаны любые значения)
|
|
|
Разрешение на использование
/usr/sbin/hddtemp
|
hddtemp
|
Разрешение на использование инструмента
/usr/sbin/hddtemp — отслеживание температуры жёсткого диска
|
|
|
Разрешение на использование
consolehelper
|
consolehelper
|
Определяет права доступа к инструменту
consolehelper (/usr/lib/consolehelper/priv/auth), который позволяет пользователям консоли запускать системные программы, выполняя аутентификацию через PAM. Когда это возможно, аутентификация выполняется графически; в противном случае выполняется в текстовой консоли, с которой был запущен consolehelper
|
|
|
Разрешения для
/bin/su
|
su
|
Определяет разрешения для
/bin/su
|
|
|
Разрешения для
/usr/bin/newgrp
|
newgrp
|
Разрешение на использование инструмента
/usr/bin/newgrp
|
|
|
Разрешения для
/usr/bin/sudo
|
sudo
|
Определяет разрешения для
/usr/bin/sudo
|
|
|
Разрешения для
/usr/bin/sudoreplay
|
sudoreplay
|
Определяет разрешения для
/usr/bin/sudoreplay
|
|
|
Разрешения для
/usr/bin/write
|
write
|
Определяет разрешения для
/usr/bin/write
|
|
|
Разрешения для
/usr/lib/chkpwd/tcb_chkpwd
|
tcb_chkpwd
|
Определяет разрешения для привилегированного помощника
/usr/lib/chkpwd/tcb_chkpwd
|
|
|
Разрешить команду
sudo членам группы «wheel»
|
sudowheel
|
Эта политика разрешает или запрещает членам группы «wheel» применять команду
sudo. Если политика включена, пользователи, входящие в группу «wheel», могут повысить системные привилегии через команду sudo. Если политика не сконфигурирована или отключена, пользователи, входящие в группу «wheel», не смогут применить команду sudo
|
|
|
Режим передачи родительской среды в sudo
|
sudoers
|
Определяет, передаются ли переменные среды в sudo
|
|
|
Создание временных каталогов
|
pam_mktemp
|
Определяет, следует ли создавать отдельные временные каталоги для пользователей
|
|
|
Управление канонизацией имен пользователей в PAM
|
control pam_canonicalize_user
|
Политика определяет, будет ли система автоматически приводить имена пользователей к стандартному формату при аутентификации
|
|
|
Управление паролями с помощью
passwd
|
passwd
|
Определяет политику управления паролями с помощью команды
/usr/bin/passwd
|
|
|
Управление проверками сложности пароля
|
passwdqc-enforce
|
Политика управляет паролями для достаточной надежности пароля
|
|
Примечание
/etc/samba/smb.conf в секции [global] подключен файл /etc/samba/usershares.conf (include = /etc/samba/usershares.conf).
Таблица 34.4. Категория «Службы»
|
Политика
|
Control
|
Описание
|
Режимы
|
|---|---|---|---|
|
Обратный поиск DNS для запросов OpenLDAP
|
ldap-reverse-dns-lookup
|
Политика определяет, разрешен ли обратный поиск DNS для запросов OpenLDAP
|
|
|
Поддержка аутентификации OpenSSH-клиентов через GSSAPI
|
ssh-gssapi-auth
|
Эта политика определяет функциональные возможности поддержки аутентификации OpenSSH-клиентов через GSSAPI
|
|
|
Поддержка SFTP на сервере OpenSSH
|
sftp
|
Политика определяет поддержку SFTP на сервере OpenSSH
|
|
|
Права доступа и поведение очереди заданий
/usr/bin/at
|
at
|
Политика позволяет контролировать поведение и права доступа для запуска очереди заданий (права доступа для запуска
/usr/bin/at)
|
|
|
Проверка сертификата при установлении соединений TLS OpenLDAP
|
ldap-tls-cert-check
|
Политика определяет режим проверки сертификата при установке TLS соединений OpenLDAP
|
|
|
Разрешение на использование
crontab
|
crontab
|
Политика определяет права доступа к инструменту
crontab (/usr/bin/crontab)
|
|
|
Разрешения для
/usr/sbin/postqueue
|
postqueue
|
Определяет разрешения для
/usr/sbin/postqueue
|
|
|
Режим демона NTP Chrony
|
chrony
|
Политика определяет режим работы (конфигурацию) демона Chrony, который реализует функции сетевого протокола времени
|
|
|
Режим работы Postfix MTA
|
postfix
|
Политика определяет режим работы MTA Postfix (почтовый транспортный агент)
|
|
|
Режим работы Rpcbind
|
rpcbind
|
Политика определяет режим работы
rpcbind (/sbin/rpcbind)
|
|
|
Режим CUPS
|
cups
|
Политика определяет поведение CUPS
|
|
|
Samba опции
|
|||
|
Гостевой доступ к общим каталогам
|
smb-conf-usershare-allow-guests
|
Политика управляет возможностью предоставления гостевого доступа общему ресурсу.
Данная политика управляет параметром
usershare allow guests в файле /etc/samba/usershares.conf
|
|
|
Доступ к общим каталогам других пользователей
|
smb-conf-usershare-owner-only
|
Политика управляет правом пользователя на предоставление общего доступа или доступ к каталогу, если пользователь не является владельцем этого каталога.
Данная политика управляет параметром
usershare owner only в файле /etc/samba/usershares.conf
|
|
|
Доступ членам группы «sambashare» к управлению общими каталогами
|
role-sambashare
|
Политика управляет разрешением членам группы «sambashare» управлять общими каталогами.
Конфигурации пользовательских общих ресурсов расположены в каталоге
/var/lib/samba/usershares, права на запись в котором имеют члены группы «usershares». Данная политика позволяет расширить привилегии членов группы «sambashare», добавляя их в группу «usershares»
|
|
|
Доступ членам группы «users» к управлению общими каталогами
|
role-usershares
|
Политика управляет разрешением членам группы «users» управлять общими каталогами.
Конфигурации пользовательских общих ресурсов расположены в каталоге
/var/lib/samba/usershares, права на запись в котором имеют члены группы «usershares». Данная политика позволяет расширить привилегии членов группы «users», добавляя их в группу «usershares»
|
|
|
Запрет на создание общих ресурсов в системных каталогах
|
smb-conf-usershare-deny-list
|
Данная политика управляет параметром
usershare prefix deny list в файле /etc/samba/usershares.conf — открывая или закрывая комментарием этот параметр.
Параметр
usershare prefix deny list определяет каталоги в корневом каталоге (/), в которых пользователю запрещено создавать общие каталоги. Если абсолютный путь к общему каталогу пользователя начинается с одного из перечисленных каталогов, то доступ к нему будет запрещен. Таким образом ограничивается список каталогов, в которых возможно создавать общие пользовательские каталоги. По умолчанию в параметре usershare prefix deny list заданы каталоги: /etc, /dev, /sys, /proc.
Если настроен список запрещенных каталогов usershare prefix deny list и список разрешенных каталогов usershare prefix allow list, сначала обрабатывается список запрета, а затем уже список разрешений
|
|
|
Разрешение на создание общих ресурсов в системных каталогах
|
smb-conf-usershare-allow-list
|
Данная политика управляет параметром
usershare prefix allow list в файле /etc/samba/usershares.conf — открывая или закрывая комментарием этот параметр.
Параметр
usershare prefix allow list определяет каталоги в корневом каталоге (/), в которых пользователю разрешено создавать общие каталоги. Если абсолютный путь к общему каталогу пользователя не начинается с одного из перечисленных каталогов, то доступ к нему будет запрещен. Таким образом ограничивается список каталогов, в которых возможно создавать общие пользовательские каталоги. По умолчанию в параметре usershare prefix allow list заданы каталоги: /home, /srv, /mnt, /media, /var.
Если настроен список запрещенных каталогов usershare prefix deny list, и список разрешенных каталогов usershare prefix allow list, сначала обрабатывается список запрета, а затем уже список разрешений
|
|
|
Разрешение на создание пользовательских общих каталогов
|
smb-conf-usershare
|
Политика управляет возможностью создания пользовательских общих каталогов на компьютере.
Данная политика управляет параметром
usershare max shares в файле /etc/samba/usershares.conf, который устанавливает предельное число общих каталогов
|
|
|
SSHD опции
|
|||
|
Аутентификация по паролю на сервере OpenSSH
|
sshd-password-auth
|
Эта политика включает поддержку аутентификации по паролю на сервере OpenSSH
|
|
|
Аутентификация суперпользователя на сервере OpenSSH
|
sshd-permit-root-login
|
Эта политика определяет режимы аутентификации для суперпользователя (root) на сервере OpenSSH
|
|
|
Группы для контроля доступа к серверу OpenSSH
|
sshd-allow-groups-list
|
Эта политика определяет, какие группы входят в список разрешенных для службы удаленного доступа к серверу OpenSSH
|
|
|
Контроль доступа по группам к серверу OpenSSH
|
ssh-gssapi-auth
|
Эта политика включает в службе удаленного доступа OpenSSH контроль доступа по списку разрешенных групп
|
|
|
Поддержка GSSAPI-аутентификации на сервере OpenSSH
|
sshd-gssapi-auth
|
Эта политика включает поддержку аутентификации с использованием GSSAPI на сервере OpenSSH
|
|
|
SSSD опции
|
|||
|
Игнорирование политик при недоступности GPT
|
sssd-ad-gpo-ignore-unreadable
|
Эта настройка определяет будут ли проигнорированы правила управления доступом в SSSD основанные на групповых политиках, если недоступен какой-либо шаблон (GPT) объекта групповой политики (GPO)
|
|
|
Контроль доступа в SSSD через групповые политики
|
sssd-ad-gpo-access-control
|
Эта политика определяет в каком режиме будет осуществляться контроль доступа в SSSD основанный на групповых политиках Active Directory (GPO)
|
|
|
Кеширование учётных данных пользователей
|
sssd-cache-credentials
|
Эта политика определяет, будут ли учётные данные удалённых пользователей сохраняться в локальном кеше SSSD
|
|
|
Обновление DNS-записей обратной зоны
|
sssd-dyndns-update-ptr
|
Данная политика определяет будет ли обновляться клиентская PTR-запись (защищенная с помощью GSS-TSIG). Эта политика работает только если включено «Обновление DNS-записей прямой зоны»
|
|
|
Обновление DNS-записей прямой зоны
|
sssd-dyndns-update
|
Эта политика позволяет включить или отключить автоматическое обновление DNS-записей (защищенных с помощью GSS-TSIG) с IP-адресом клиента через SSSD
|
|
|
Режим привилегий службы SSSD
|
sssd-drop-privileges
|
Эта политика позволяет сбросить права службы SSSD, чтобы избежать работы от имени суперпользователя (root)
|
|
Таблица 34.5. Категория «Сетевые приложения»
|
Политика
|
Control
|
Описание
|
Режимы
|
|---|---|---|---|
|
Разрешение на использование
/usr/bin/mtr
|
mtr
|
Разрешение на использование сетевого инструмента
/usr/bin/mtr
|
|
|
Разрешения для
/usr/bin/ping
|
ping
|
Эта политика определяет разрешения для
/usr/bin/ping
|
|
|
Разрешения для
/usr/sbin/pppd
|
ppp
|
Эта политика определяет разрешения для
/usr/sbin/pppd
|
|
|
Разрешения для wireshark-capture (
dumpcap)
|
wireshark-capture
|
Эта политика определяет функциональные возможности (режимы) разрешения для захвата wireshark (
/usr/bin/dumpcap)
|
|
Таблица 34.6. Категория «Приложения для CD/DVD»
|
Политика
|
Control
|
Описание
|
Режимы
|
|---|---|---|---|
|
Разрешение на использование
/usr/bin/dvd-ram-control
|
dvd-ram-control
|
Эта политика определяет права доступа к
/usr/bin/dvd-ram-control
|
|
|
Разрешения на использование
/usr/bin/dvd+rw-booktype
|
dvd+rw-booktype
|
Эта политика определяет права доступа к
/usr/bin/dvd+rw-booktype
|
|
|
Разрешения на использование
/usr/bin/dvd+rw-format
|
dvd+rw-format
|
Эта политика определяет права доступа к
/usr/bin/dvd+rw-format
|
|
|
Разрешения на использование
/usr/bin/dvd+rw-mediainfo
|
dvd+rw-mediainfo
|
Эта политика определяет права доступа к
/usr/bin/dvd+rw-mediainfo
|
|
|
Разрешения на использование
/usr/bin/growisofs
|
growisofs
|
Эта политика определяет права на использование инструмента
/usr/bin/growisofs
|
|
Таблица 34.7. Категория «Монтирование»
|
Политика
|
Control
|
Описание
|
Режимы
|
|---|---|---|---|
|
Доступ к инструментам FUSE
|
fusermount
|
Эта политика определяет права доступа для монтирования файловой системы FUSE (выполнение программ
/usr/bin/fusermount и /usr/bin/fusermount3)
|
|
|
Разрешения для
/bin/mount и /bin/umount
|
mount
|
Эта политика определяет разрешения для
/bin/mount и /bin/umount
|
|
|
Разрешения для
/sbin/mount.nfs
|
nfsmount
|
Эта политика определяет разрешения для
/sbin/mount.nfs
|
|
|
Правила подключения USB-накопителей
|
udisks2
|
Эта политика определяет правила подключения USB-накопителей
|
|
Таблица 34.8. Категория «Виртуализация»
|
Политика
|
Control
|
Описание
|
Режимы
|
|---|---|---|---|
|
Разрешения для VirtualBox
|
virtualbox
|
Эта политика определяет разрешения для VirtualBox
|
|
Таблица 34.9. Категория «Графическая подсистема»
|
Политика
|
Control
|
Описание
|
Режимы
|
|---|---|---|---|
|
Разрешения для Xorg
|
xorg-server
|
Эта политика определяет разрешения для Xorg (
/usr/bin/Xorg)
|
|
|
Cписок пользователей в greeter (LightDM)
|
lightdm-greeter-hide-users
|
Эта политика определяет, будет ли показан список всех пользователей при входе в систему с помощью LightDM (в greeter — на экране приветствия/входа в систему LightDM) или нет
|
|
|
Стандартные каталоги в home
|
xdg-user-dirs
|
Эта политика определяет, работает ли функция стандартных каталогов (Документы, Загрузки, Изображения и т.д.) xdg-user-dirs в домашнем каталоге (/home) пользователя
|
|




Примечание
/etc/polkit-1/rules.d/50-default.rules:
polkit.addAdminRule(function(action, subject) {
return ["unix-group:wheel"];
});
По умолчанию запрашивается пароль пользователя, находящегося в группе wheel.
49-alt_group_policy_permissions.rules, для пользовательской политики — 48-alt_group_policy_permissions_user.<USERNAME>.rules. Правила для пользовательской политики обрабатываются до правил для машинной политики. У машинных политик имеются блокировки (параметр Блокировать), при установке которых машинные политики становятся приоритетнее пользовательских (создается файл правил 47-alt_group_policy_permissions.rules).
Таблица 34.10. Ограничения Accounts
|
Политика
|
Описание
|
Правило Polkitd для службы Accounts (org.freedesktop.accounts)
|
|---|---|---|
|
Ограничение возможности изменения конфигурации экрана входа в систему
|
Данная политика управляет ограничением возможности изменения конфигурации экрана входа в систему
|
set-login-option
|
|
Ограничение возможности изменения собственного пароля пользователя
|
Данная политика управляет ограничением возможности изменения собственного пароля пользователя
|
change-own-password
|
|
Ограничение возможности изменения собственных пользовательских данных
|
Данная политика управляет ограничением возможности изменения собственных пользовательских данных
|
change-own-user-data
|
|
Ограничение возможности управления учетными записями пользователей
|
Данная политика управляет ограничением возможности управления учетными записями пользователей
|
user-administration
|
Таблица 34.11. Ограничения ColorManager
|
Политика
|
Описание
|
Правило Polkitd
|
|---|---|---|
|
Ограничение возможности изменения цветового профиля
|
Политика ограничивает возможность изменения цветового профиля
|
org.freedesktop.color-manager.modify-profile
|
|
Ограничение возможности изменения цветовых параметров для устройства
|
Политика ограничивает возможность изменения цветовых параметров для устройства
|
org.freedesktop.color-manager.modify-device
|
|
Ограничение возможности использования цветового датчика
|
Политика ограничивает возможность использования цветового датчика
|
org.freedesktop.color-manager.sensor-lock
|
|
Ограничение возможности создания цветового профиля
|
Политика ограничивает возможность создания цветового профиля
|
org.freedesktop.color-manager.create-profile
|
|
Ограничение возможности создания цветоуправляемого устройства
|
Политика управляет ограничением возможности создания цветоуправляемого устройства
|
org.freedesktop.color-manager.create-device
|
|
Ограничение возможности удаления цветового профиля
|
Политика ограничивает возможность удаления цветового профиля
|
org.freedesktop.color-manager.delete-profile
|
|
Ограничение возможности удаления цветоуправляемого устройства
|
Политика ограничивает возможность удаления цветоуправляемого устройства
|
org.freedesktop.color-manager.delete-device
|
|
Ограничение возможности установки цветовых профилей в системный каталог
|
Политика ограничивает возможность установки цветовых профилей в системный каталог
|
org.freedesktop.color-manager.install-system-wide
|
|
Ограничение возможности временной блокировки цветового профиля устройства
|
Политика управляет ограничением возможности временной блокировки цветового профиля устройства.
Метод device-inhibit утилиты colormgr блокирует цветовой профиль для применения к устройству. Блокировка устанавливается на время (в секундах). При параметре timeout равным «0», применение цветового профиля к устройству будет заблокировано «навсегда», до прекращения работы утилиты colormgr. Polkit позволяет ограничить доступ пользователя к данному методу.
|
org.freedesktop.color-manager.device-inhibit
|
Таблица 34.12. Ограничения DisplayManager
|
Политика
|
Описание
|
Правило Polkitd для службы DisplayManager
|
|---|---|---|
|
Ограничение доступа к своей учетной записи
|
Данная политика управляет ограничением возможности доступа к своей учетной записи
|
org.freedesktop.DisplayManager.AccountsService.ModifyOwn
|
|
Ограничение доступа к списку учетных записей пользователей
|
Данная политика управляет ограничением возможности доступа к списку учетных записей пользователей
|
org.freedesktop.DisplayManager.AccountsService.ModifyAny
|
|
Ограничение чтения списка учетных записей пользователей
|
Данная политика управляет ограничением возможности чтения списка учетных записей пользователей
|
org.freedesktop.DisplayManager.AccountsService.ReadAny
|
Таблица 34.13. Ограничения HostName
|
Политика
|
Описание
|
Правило Polkitd для HostName
|
|---|---|---|
|
Ограничение возможности установки имени хоста
|
Данная политика управляет ограничением возможности установки имени хоста
|
org.freedesktop.hostname1.set-hostname
|
|
Ограничение возможности установки информации о машине
|
Данная политика управляет ограничением возможности установки информации о машине
|
org.freedesktop.hostname1.set-machine-info
|
|
Ограничение возможности установки статического имени хоста
|
Данная политика управляет ограничением возможности установки статического имени хоста
|
org.freedesktop.hostname1.set-static-hostname
|
Таблица 34.14. Ограничения для работы с токенами и смарт-картами
|
Политика
|
Описание
|
Правило Polkitd
|
|---|---|---|
|
Ограничение возможности доступа к демону PC/SC
|
Данная политика управляет ограничением возможности доступа к демону PC/SC и регулирует работу с токенами
|
org.debian.pcsc-lite.access_pcsc
|
|
Ограничение возможности доступа к смарт-картам
|
Данная политика управляет ограничением возможности доступа к смарт-картам
|
org.debian.pcsc-lite.access_card
|
Таблица 34.15. Ограничения службы Login
|
Политика
|
Описание
|
Правило Polkitd
|
|---|---|---|
|
Ограничение возможности блокировки или разблокировки экрана активных сеансов
|
Политика ограничивает возможность блокировки или разблокировки экрана активных сеансов
|
org.freedesktop.login1.lock-sessions
|
|
Ограничение возможности выключения питания системы
|
Политика ограничивает возможность выключения питания системы
|
org.freedesktop.login1.power-off
|
|
Ограничение возможности выключения системы, когда приложение запрещает это действие
|
Политика ограничивает возможность выключения системы, когда приложение запрещает это действие
|
org.freedesktop.login1.power-off-ignore-inhibit
|
|
Ограничение возможности выключения системы, при наличии активных сеансов других пользователей
|
Политика ограничивает возможность выключения системы, при наличии активных сеансов других пользователей
|
org.freedesktop.login1.power-off-multiple-sessions
|
|
Ограничение возможности изменения сеанса виртуального терминала
|
Политика управляет ограничением возможности изменить сеанс виртуального терминала
|
org.freedesktop.login1.chvt
|
|
Ограничение возможности остановки системы
|
Политика ограничивает возможность остановки системы
|
org.freedesktop.login1.halt
|
|
Ограничение возможности остановки системы, пока приложение запрещает это действие
|
Политика ограничивает возможность остановки системы, пока приложение запрещает это действие
|
org.freedesktop.login1.halt-ignore-inhibit
|
|
Ограничение возможности остановки системы, при наличии активных сеансов других пользователей
|
Политика ограничивает возможность остановки системы, при наличии активных сеансов других пользователей
|
org.freedesktop.login1.halt-multiple-sessions
|
|
Ограничение возможности очистки устройства в месте привязки (изменение способа подключения устройств к рабочим местам)
|
Политика управляет ограничением возможности очистки устройства в месте привязки (изменение способа подключения устройств к рабочим местам)
|
org.freedesktop.login1.flush-devices
|
|
Ограничение возможности перевода системы в спящий режим
|
Политика ограничивает возможность перевода системы в спящий режим
|
org.freedesktop.login1.hibernate
|
|
Ограничение возможности перевода системы в спящий режим, пока приложение препятствует этому
|
Политика ограничивает возможность перевода системы в спящий режим, пока приложение препятствует этому
|
org.freedesktop.login1.hibernate-ignore-inhibit
|
|
Ограничение возможности перевода системы в спящий режим, при наличии активных сеансов других пользователей
|
Политика ограничивает возможность перевода системы в спящий режим, при наличии активных сеансов других пользователей
|
org.freedesktop.login1.hibernate-multiple-sessions
|
|
Ограничение возможности перезагрузки системы
|
Политика ограничивает возможность перезагрузки системы
|
org.freedesktop.login1.reboot
|
|
Ограничение возможности перезагрузки системы, когда приложение препятствует этому действию
|
Политика ограничивает возможность перезагрузки системы, когда приложение препятствует этому действию
|
org.freedesktop.login1.reboot-ignore-inhibit
|
|
Ограничение возможности перезагрузки системы, при наличии активных сеансов других пользователей
|
Политика ограничивает возможность перезагрузки системы, при наличии активных сеансов других пользователей
|
org.freedesktop.login1.reboot-multiple-sessions
|
|
Ограничение возможности приложениям блокировать выключение системы
|
Политика ограничивает возможность приложениям блокировать выключение системы
|
org.freedesktop.login1.inhibit-block-shutdown
|
|
Ограничение возможности приложениям запрещать автоматическое приостановление работы системы
|
Политика ограничивает возможность приложениям запрещать автоматическое приостановление работы системы
|
org.freedesktop.login1.inhibit-block-idle
|
|
Ограничение возможности приложениям запрещать низкоуровневую обработку аппаратного ключа гибернации (энергосбережения) системы
|
Политика ограничивает возможность приложениям запрещать низкоуровневую обработку аппаратного ключа гибернации (энергосбережения) системы
|
org.freedesktop.login1.inhibit-handle-hibernate-key
|
|
Ограничение возможности приложениям запрещать низкоуровневую обработку аппаратного переключателя крышки (устройства)
|
Политика ограничивает возможность приложениям запрещать низкоуровневую обработку аппаратного переключателя крышки (устройства)
|
org.freedesktop.login1.inhibit-handle-lid-switch
|
|
Ограничение возможности приложениям запрещать низкоуровневую обработку аппаратной клавиши перезагрузки системы
|
Политика ограничивает возможность приложениям запрещать низкоуровневую обработку аппаратной клавиши перезагрузки системы
|
org.freedesktop.login1.inhibit-handle-reboot-key
|
|
Ограничение возможности приложениям запрещать низкоуровневую обработку аппаратной клавиши питания системы
|
Политика ограничивает возможность приложениям запрещать низкоуровневую обработку аппаратной клавиши питания системы
|
org.freedesktop.login1.inhibit-handle-power-key
|
|
Ограничение возможности приложениям запрещать низкоуровневую обработку аппаратной клавиши приостановки системы
|
Политика ограничивает возможность приложениям запрещать низкоуровневую обработку аппаратной клавиши приостановки системы
|
org.freedesktop.login1.inhibit-handle-suspend-key
|
|
Ограничение возможности приложениям запрещать системный сон
|
Политика ограничивает возможность приложениям запрещать системный сон
|
org.freedesktop.login1.inhibit-block-sleep
|
|
Ограничение возможности приложениям откладывать выключение системы
|
Политика ограничивает возможность приложениям откладывать выключение системы
|
org.freedesktop.login1.inhibit-delay-shutdown
|
|
Ограничение возможности приложениям откладывать переход в спящий режим
|
Политика ограничивает возможность приложениям откладывать переход в спящий режим
|
org.freedesktop.login1.inhibit-delay-sleep
|
|
Ограничение возможности приостановки работы системы
|
Политика ограничивает возможность приостановки работы системы
|
org.freedesktop.login1.suspend
|
|
Ограничение возможности приостановки работы системы, пока приложение препятствует этому действию
|
Политика ограничивает возможность приостановки работы системы, пока приложение препятствует этому действию
|
org.freedesktop.login1.suspend-ignore-inhibit
|
|
Ограничение возможности приостановки работы системы, при наличии активных сеансов других пользователей
|
Политика ограничивает возможность приостановки работы системы, при наличии активных сеансов других пользователей
|
org.freedesktop.login1.suspend-multiple-sessions
|
|
Ограничение возможности присоединения устройств к рабочим местам
|
Политика управляет ограничением возможности присоединить устройства к рабочим местам
|
org.freedesktop.login1.attach-device
|
|
Ограничение возможности разрешения незалогиненному пользователю запускать программы
|
Политика ограничивает возможность разрешения незалогиненному пользователю запускать программы
|
org.freedesktop.login1.set-self-linger
|
|
Ограничение возможности разрешения незалогиненным пользователям запускать программы
|
Политика ограничивает возможность разрешения незалогиненным пользователям запускать программы
|
org.freedesktop.login1.set-user-linger
|
|
Ограничение возможности указания загрузчику системы на загрузку в определенную запись загрузчика
|
Политика ограничивает возможность указания загрузчику системы на загрузку в определенную запись загрузчика
|
org.freedesktop.login1.set-reboot-to-boot-loader-entry
|
|
Ограничение возможности указания загрузчику системы на необходимость загрузки в меню загрузчика
|
Политика ограничивает возможность указания загрузчику системы на необходимость загрузки в меню загрузчика
|
org.freedesktop.login1.set-reboot-to-boot-loader-menu
|
|
Ограничение возможности указания микропрограмме системы на необходимость перезагрузки в интерфейс настройки микропрограммы
|
Политика ограничивает возможность указания микропрограмме системы на необходимость перезагрузки в интерфейс настройки микропрограммы
|
org.freedesktop.login1.set-reboot-to-firmware-setup
|
|
Ограничение возможности управления активными сеансами, пользователями и местами
|
Политика ограничивает возможность управления активными сеансами, пользователями и местами
|
org.freedesktop.login1.manage
|
|
Ограничение возможности установки «причины» перезагрузки в ядре
|
Политика ограничивает возможность установить «причины» перезагрузки в ядре
|
org.freedesktop.login1.set-reboot-parameter
|
|
Ограничение возможности установки сообщения на стене (сообщение, которое будет отправлено на все терминалы)
|
Политика ограничивает возможность установки сообщения на стене (сообщение, которое будет отправлено на все терминалы)
|
org.freedesktop.login1.set-wall-message
|
Таблица 34.16. Ограничения службы Machine
|
Политика
|
Описание
|
Правило Polkitd
|
|---|---|---|
|
Ограничение возможности авторизации в локальном контейнере
|
Политика управляет ограничением возможности авторизации в локальном контейнере
|
org.freedesktop.machine1.login
|
|
Ограничение возможности авторизации на локальном хосте
|
Политика управляет ограничением возможности авторизации на локальном хосте
|
org.freedesktop.machine1.host-login
|
|
Ограничение возможности получения интерпретатора командной строки (командной оболочки) в локальном контейнере
|
Политика управляет ограничением возможности получения интерпретатора командной строки (командной оболочки) в локальном контейнере
|
org.freedesktop.machine1.shell
|
|
Ограничение возможности получения интерпретатора командной строки (командной оболочки) на локальном хосте
|
Политика управляет ограничением возможности получения интерпретатора командной строки (командной оболочки) на локальном хосте
|
org.freedesktop.machine1.host-shell
|
|
Ограничение возможности получения псевдотелетайпа (TTY) в локальном контейнере
|
Политика управляет ограничением возможности получения псевдотелетайпа (TTY) в локальном контейнере
|
org.freedesktop.machine1.open-pty
|
|
Ограничение возможности получения псевдотелетайпа (TTY) на локальном хосте
|
Политика управляет ограничением возможности получения псевдотелетайпа (TTY) на локальном хосте
|
org.freedesktop.machine1.host-open-pty
|
|
Ограничение возможности управления локальными виртуальными машинами и контейнерами
|
Политика управляет ограничением возможности управления локальными виртуальными машинами и контейнерами
|
org.freedesktop.machine1.manage-machines
|
|
Ограничение возможности управления локальными виртуальными машинами и образами контейнеров
|
Политика управляет ограничением возможности управления локальными виртуальными машинами и образами контейнеров
|
org.freedesktop.machine1.manage-images
|
Таблица 34.17. Ограничения ModemManager
|
Политика
|
Описание
|
Правило Polkitd
|
|---|---|---|
|
Ограничение возможности блокировки и управления мобильным широкополосным устройством
|
Политика ограничивает возможность изменения конфигурации мобильного широкополосного устройства
|
org.freedesktop.ModemManager1.Device.Control
|
|
Ограничение возможности добавления, изменения или удаления контактов устройства
|
Политика управляет ограничением возможности добавления, изменения и удаления контактов мобильного широкополосного доступа
|
org.freedesktop.ModemManager1.Contacts
|
|
Ограничение возможности запросов и использования сетевой информации и услуг
|
Политика ограничивает возможность запрашивать или использовать сетевую информацию и службы
|
org.freedesktop.ModemManager1.USSD
|
|
Ограничение возможности запросов информации о сетевом времени и часовом поясе
|
Политика ограничивает возможность запрашивать информацию о сетевом времени
|
org.freedesktop.ModemManager1.Time
|
|
Ограничение возможности отправки, сохранения, изменения и удаления текстовых сообщений
|
Политика ограничивает возможность отправки или манипулирования текстовыми сообщениями устройства
|
org.freedesktop.ModemManager1.Messaging
|
|
Ограничение возможности приема входящих голосовых вызовов или начала исходящего голосового вызова
|
Политика ограничивает возможность голосовых вызовов
|
org.freedesktop.ModemManager1.Voice
|
|
Ограничение возможности просмотра информации о географическом положении и позиционировании
|
Политика ограничивает возможность просмотра информации о географическом положении
|
org.freedesktop.ModemManager1.Location
|
|
Ограничение возможности управления демоном Modem Manager
|
Политика ограничивает возможность управления диспетчером модемов
|
org.freedesktop.ModemManager1.Control
|
|
Ограничение возможности управления прошивкой мобильного широкополосного устройства
|
Политика ограничивает возможность управления микропрограммой мобильного широкополосного устройства
|
org.freedesktop.ModemManager1.Firmware
|
Таблица 34.18. Ограничения NetworkManager
|
Политика
|
Описание
|
Правило Polkitd
|
|---|---|---|
|
Ограничение возможности включения или отключения сети
|
Политика управляет ограничением возможности включения или отключения сетевого взаимодействия системы. Если сетевое взаимодействие отключено, все управляемые интерфейсы отсоединяются и деактивируются. Если сетевое взаимодействие включено, все управляемые интерфейсы доступны для активации
|
org.freedesktop.NetworkManager.enable-disable-network
|
|
Ограничение возможности включения или отключения статистики
|
Политика управляет ограничением возможности включения или отключения счётчика статистики устройства
|
org.freedesktop.NetworkManager.enable-disable-statistics
|
|
Ограничение возможности включения или отключения устройств Wi-Fi
|
Данная политика управляет ограничением возможности включения или отключения устройств Wi-Fi
|
org.freedesktop.NetworkManager.enable-disable-wifi
|
|
Ограничение возможности включения или отключения устройств WiMAX
|
Данная политика управляет ограничением возможности включения или отключения мобильных широкополосных устройств WiMAX
|
org.freedesktop.NetworkManager.enable-disable-wimax
|
|
Ограничение возможности включения или отключения WWAN-устройств
|
Политика управляет ограничением возможности включения или отключения WWAN-устройств
|
org.freedesktop.NetworkManager.enable-disable-wwan
|
|
Ограничение возможности изменения общих настроек DNS
|
Политика управляет ограничением возможности изменений общей конфигурации DNS
|
org.freedesktop.NetworkManager.settings.modify.global-dns
|
|
Ограничение возможности изменения персональных сетевых настроек
|
Данная политика управляет ограничением возможности изменений личных сетевых соединений
|
org.freedesktop.NetworkManager.settings.modify.own
|
|
Ограничение возможности изменения постоянного имени хоста
|
Данная политика управляет ограничением возможности изменения постоянного имени (hostname) системы
|
org.freedesktop.NetworkManager.settings.modify.hostname
|
|
Ограничение возможности изменения сетевых подключений для всех пользователей
|
Политика управляет ограничением возможности изменения системных сетевых настроек для всех пользователей
|
org.freedesktop.NetworkManager.settings.modify.system
|
|
Ограничение возможности изменения системных настроек для сети
|
Политика управляет ограничением возможности изменения системных сетевых настроек
|
org.freedesktop.NetworkManager.network-control
|
|
Ограничение возможности изменения состояния сна NetworkManager
|
Данная политика управляет ограничением возможности перевода NetworkManager в спящий режим или пробуждения из спящего режима (должна использоваться только для управления питанием системы).
В спящем состоянии все интерфейсы, которыми управляет NetworkManager, деактивированы. В бодрствующем состоянии устройства доступны для активации. Обращение к состоянию сна NetworkManager не вызывается пользователем напрямую; функция предназначена для отслеживания приостановки/возобновления работы системы.
|
org.freedesktop.NetworkManager.sleep-wake
|
|
Ограничение возможности отката конфигурации сетевых интерфейсов к контрольной точке
|
Политика управляет ограничением возможности создания контрольной точки сетевых интерфейсов или отката к ней
|
org.freedesktop.NetworkManager.checkpoint-rollback
|
|
Ограничение возможности перезагрузки NetworkManager
|
Политика управляет ограничением возможности перезагрузки конфигурации NetworkManager
|
org.freedesktop.NetworkManager.reload
|
|
Ограничение возможности проверки подключения сети
|
Политика управляет ограничением возможности включения или отключения проверки подключения к сети
|
org.freedesktop.NetworkManager.enable-disable-connectivity-check
|
|
Ограничение возможности сканирования Wi-Fi сетей
|
Данная политика управляет ограничением возможности сканирования Wi-Fi сетей
|
org.freedesktop.NetworkManager.wifi.scan
|
|
Ограничение возможности совместных подключений через защищённую сеть Wi-Fi
|
Политика управляет ограничением возможности совместного подключения через защищенную сеть Wi-Fi
|
org.freedesktop.NetworkManager.wifi.share.protected
|
|
Ограничение возможности совместных подключений через открытую сеть Wi-Fi
|
Политика управляет ограничением возможности совместного подключения ерез открытую сеть Wi-Fi
|
org.freedesktop.NetworkManager.wifi.share.open
|
$ nmcli general permissions
PERMISSION VALUE
org.freedesktop.NetworkManager.checkpoint-rollback auth
org.freedesktop.NetworkManager.enable-disable-connectivity-check нет
org.freedesktop.NetworkManager.enable-disable-network auth
org.freedesktop.NetworkManager.enable-disable-statistics auth
org.freedesktop.NetworkManager.enable-disable-wifi да
org.freedesktop.NetworkManager.enable-disable-wimax да
org.freedesktop.NetworkManager.enable-disable-wwan да
org.freedesktop.NetworkManager.network-control да
org.freedesktop.NetworkManager.reload auth
org.freedesktop.NetworkManager.settings.modify.global-dns нет
org.freedesktop.NetworkManager.settings.modify.hostname auth
org.freedesktop.NetworkManager.settings.modify.own auth
org.freedesktop.NetworkManager.settings.modify.system да
org.freedesktop.NetworkManager.sleep-wake да
org.freedesktop.NetworkManager.wifi.scan да
org.freedesktop.NetworkManager.wifi.share.open да
org.freedesktop.NetworkManager.wifi.share.protected да
Таблица 34.19. Ограничения PackageKit
|
Политика
|
Описание
|
Правило Polkitd
|
|---|---|---|
|
Ограничение возможности восстановления пакетов в системе
|
Данная политика ограничивает пользователям возможность восстановления системы пакетов, если в ней возникли проблемы, например, пропали зависимости, посредством интерфейса управления пакетами PackageKit
|
org.freedesktop.packagekit.repair-system
|
|
Ограничение возможности добавления ключа электронной подписи
|
Данная политика ограничивает пользователям возможность добавления ключа подписи в список доверенных ключей системы посредством интерфейса управления пакетами PackageKit
|
org.freedesktop.packagekit.system-trust-signing-key
|
|
Ограничение возможности обновления пакетов
|
Данная политика ограничивает пользователям возможность обновления пакетов, установленных в систему, посредством интерфейса управления пакетами PackageKit
|
org.freedesktop.packagekit.system-update
|
|
Ограничение возможности обновления системных источников пакетов
|
Данная политика ограничивает пользователям возможность обновления системных источников пакетов посредством интерфейса управления пакетами PackageKit
|
org.freedesktop.packagekit.system-sources-refresh
|
|
Ограничение возможности переустановки пакетов
|
Данная политика ограничивает пользователям возможность переустановки пакетов посредством интерфейса управления пакетами PackageKit
|
org.freedesktop.packagekit.package-reinstall
|
|
Ограничение возможности принятия лицензионного соглашения
|
Данная политика ограничивает пользователям возможность принятия пользовательского соглашения программ посредством интерфейса управления пакетами PackageKit
|
org.freedesktop.packagekit.package-eula-accept
|
|
Ограничение возможности редактирования источников пакетов
|
Данная политика ограничивает пользователям возможность редактирования источников пакетов в системе посредством интерфейса управления пакетами PackageKit
|
org.freedesktop.packagekit.system-sources-configure
|
|
Ограничение возможности удаления пакетов
|
Данная политика ограничивает пользователям возможность удаления пакетов посредством интерфейса управления пакетами PackageKit
|
org.freedesktop.packagekit.package-remove
|
|
Ограничение возможности установки пакетов
|
Данная политика ограничивает пользователям возможность установки пакетов посредством интерфейса управления пакетами PackageKit
|
org.freedesktop.packagekit.package-install
|
|
Ограничение возможности установки непроверенных пакетов
|
Данная политика ограничивает пользователям возможность установки ненадёжных или непроверенных пакетов посредством интерфейса управления пакетами PackageKit
|
org.freedesktop.packagekit.package-install-untrusted
|
Таблица 34.20. Ограничения Realmd
|
Политика
|
Описание
|
Правило Polkitd
|
|---|---|---|
|
Ограничение возможности возможности запустить обнаружение области Kerberos REALM
|
Данная политика управляет ограничением возможности запустить обнаружение области Kerberos REALM
|
org.freedesktop.realmd.discover-realm
|
|
Ограничение возможности изменения политики входа в систему
|
Данная политика управляет ограничением возможности изменения политики входа в систему
|
org.freedesktop.realmd.login-policy
|
|
Ограничение возможности присоединения машины к домену или Kerberos REALM
|
Данная политика управляет ограничением возможности присоединения машины к домену или Kerberos REALM
|
org.freedesktop.realmd.configure-realm
|
|
Ограничение возможности отключения машины из домена или Kerberos REALM
|
Данная политика управляет ограничением возможности удаления машины из домена или Kerberos REALM
|
org.freedesktop.realmd.deconfigure-realm
|
Таблица 34.21. Ограничения Systemd
|
Политика
|
Описание
|
Правило Polkitd для службы Systemd (org.freedesktop.systemd1)
|
|---|---|---|
|
Ограничение возможности отправки пароля системе
|
Данная политика управляет ограничением возможности отправки пароля системе
|
reply-password
|
|
Ограничение возможности перезагрузки состояния systemd
|
Данная политика управляет ограничением возможности перезагрузки состояния systemd
|
reload-daemon
|
|
Ограничение возможности управления системными службами или другими устройствами
|
Данная политика управляет ограничением возможности управления системными службами или другими устройствами
|
manage-units
|
|
Ограничение возможности управления файлами системных служб или модулей
|
Данная политика управляет ограничением возможности управления файлами системных служб или модулей
|
manage-unit-files
|
|
Ограничение возможности установки или удаления переменных окружения менеджера систем и служб
|
Данная политика управляет ограничением возможности установки или удаления переменных окружения менеджера систем и служб
|
set-environment
|
Таблица 34.22. Ограничения TimeDate
|
Политика
|
Описание
|
Правило Polkitd для службы TimeDate (org.freedesktop.timedate1)
|
|---|---|---|
|
Ограничение возможности включения или выключения синхронизации сетевого времени
|
Данная политика управляет ограничением возможности включения или выключения синхронизации сетевого времени
|
set-ntp
|
|
Ограничение возможности установки системного времени
|
Данная политика управляет ограничением возможности установки системного времени
|
set-time
|
|
Ограничение возможности установки системного часового пояса
|
Данная политика управляет ограничением возможности установки системного часового пояса
|
set-timezone
|
|
Ограничение возможности установки RTC в местный часовой пояс или UTC
|
Данная политика управляет ограничением возможности установки RTC в местный часовой пояс или UTC
|
set-local-rtc
|
Таблица 34.23. Ограничения Udisks
|
Политика
|
Описание
|
Правило Polkitd
|
|---|---|---|
|
Общая политика ограничения возможности монтирования
|
Данная политика ограничивает возможность монтирования съёмных запоминающих устройств, монтирования системных разделов, монтирования съёмных запоминающих устройств в удалённых сеансах
|
org.freedesktop.udisks2.filesystem-mount
org.freedesktop.udisks2.filesystem-mount-other-seat
org.freedesktop.udisks2.filesystem-mount-system
|
|
Ограничение возможности включения/отключения SMART
|
Данная политика управляет ограничением возможности включения/отключения SMART
|
org.freedesktop.udisks2.ata-smart-enable-disable
|
|
Ограничение возможности демонтировать устройство, смонтированное другим пользователем
|
Данная политика управляет ограничением возможности демонтировать устройство, смонтированное другим пользователем
|
org.freedesktop.udisks2.filesystem-unmount-others
|
|
Ограничение возможности заблокировать зашифрованное устройство, разблокированное другим пользователем
|
Данная политика управляет ограничением возможности заблокировать зашифрованное устройство, разблокированное другим пользователем
|
org.freedesktop.udisks2.encrypted-lock-others
|
|
Ограничение возможности запуска самопроверки SMART
|
Данная политика управляет ограничением возможности запуска самопроверки SMART
|
org.freedesktop.udisks2.ata-smart-selftest
|
|
Ограничение возможности извлечь носитель
|
Данная политика управляет ограничением возможности извлечь носитель
|
org.freedesktop.udisks2.eject-media
|
|
Ограничение возможности извлечь носитель из дисковода, подключенного к другому рабочему месту
|
Данная политика управляет ограничением возможности извлечь носитель из дисковода, подключенного к другому рабочему месту
|
org.freedesktop.udisks2.eject-media-other-seat
|
|
Ограничение возможности извлечь носитель из системного диска
|
Данная политика управляет ограничением возможности извлечь носитель из системного диска
|
org.freedesktop.udisks2.eject-media-system
|
|
Ограничение возможности изменения настроек привода
|
Данная политика управляет ограничением возможности изменения настроек привода
|
org.freedesktop.udisks2.modify-drive-settings
|
|
Ограничение возможности изменения общесистемной конфигурации
|
Данная политика управляет ограничением возможности изменения общесистемной конфигурации
|
org.freedesktop.udisks2.modify-system-configuration
|
|
Ограничение возможности изменения петлевых (loop) устройств
|
Данная политика управляет ограничением возможности изменения петлевых (loop) устройств
|
org.freedesktop.udisks2.loop-modify-others
|
|
Ограничение возможности изменения системного устройства
|
Данная политика управляет ограничением возможности изменения системного устройства
|
org.freedesktop.udisks2.modify-device-system
|
|
Ограничение возможности изменения устройства
|
Данная политика управляет ограничением возможности изменения устройства
|
org.freedesktop.udisks2.modify-device
|
|
Ограничение возможности изменения устройства, подключенного к другому рабочему месту
|
Данная политика управляет ограничением возможности изменения устройства, подключенного к другому рабочему месту
|
org.freedesktop.udisks2.modify-device-other-seat
|
|
Ограничение возможности изменить пароль для зашифрованного устройства
|
Данная политика управляет ограничением возможности изменения пароля для зашифрованного устройства
|
org.freedesktop.udisks2.encrypted-change-passphrase
|
|
Ограничение возможности изменения системного пароля для зашифрованного устройства
|
Данная политика управляет ограничением возможности изменения системного пароля для зашифрованного устройства
|
org.freedesktop.udisks2.encrypted-change-passphrase-system
|
|
Ограничение возможности монтирования системных разделов
|
Данная политика ограничивает возможность монтирования системных разделов. Системное устройство хранения информации — это неизвлекаемое устройство. Для таких устройств переменная
HintSystem установлена в значение True. Жёсткий диск с установленной ОС относится к системным устройствам
|
org.freedesktop.udisks2.filesystem-mount-system
|
|
Ограничение возможности монтирования съёмных запоминающих устройств в удалённых сеансах
|
Данная политика ограничивает возможность монтирования съёмных запоминающих устройств с устройства, подключенного к удалённому рабочему месту (например, на другом компьютере или удаленной сессии)
|
org.freedesktop.udisks2.filesystem-mount-other-seat
|
|
Ограничение возможности монтирования файловой системы
|
Данная политика управляет ограничением возможности монтирования файловой системы устройства
|
org.freedesktop.udisks2.filesystem-mount
|
|
Ограничение возможности монтирования файловой системы от имени другого пользователя
|
Данная политика управляет ограничением возможности монтирования файловой системы от имени другого пользователя
|
org.freedesktop.udisks2.filesystem-mount-other-user
|
|
Ограничение возможности монтировать/демонтировать файловые системы, указанные в файле fstab с параметром x-udisks-auth
|
Данная политика управляет ограничением возможности монтирования/демонтирования файловых систем, указанных в файле fstab с параметром x-udisks-auth
|
org.freedesktop.udisks2.filesystem-fstab
|
|
Ограничение возможности надежно стереть жёсткий диск
|
Данная политика управляет ограничением возможности надежно стереть жёсткий диск
|
org.freedesktop.udisks2.ata-secure-erase
|
|
Ограничение возможности обновить данные SMART
|
Данная политика управляет ограничением возможности обновить данные SMART
|
org.freedesktop.udisks2.ata-smart-update
|
|
Ограничение возможности отменить задание
|
Данная политика управляет ограничением возможности отменить задание
|
org.freedesktop.udisks2.cancel-job
|
|
Ограничение возможности отменить задание, начатое другим пользователем
|
Данная политика управляет ограничением возможности отменить задание, начатое другим пользователем
|
org.freedesktop.udisks2.cancel-job-other-user
|
|
Ограничение возможности отправить команду ожидания для диска с удаленного места
|
Данная политика управляет ограничением возможности отправить команду ожидания для диска с удаленного места
|
org.freedesktop.udisks2.ata-standby-other-seat
|
|
Ограничение возможности разблокировать зашифрованное системное устройство
|
Данная политика управляет ограничением возможности разблокировать зашифрованное системное устройство
|
org.freedesktop.udisks2.encrypted-unlock-system
|
|
Ограничение возможности разблокировать зашифрованное устройство
|
Данная политика управляет ограничением возможности разблокировать зашифрованное устройство
|
org.freedesktop.udisks2.encrypted-unlock
|
|
Ограничение возможности разблокировать зашифрованное устройство, подключенное к другому рабочему месту
|
Данная политика управляет ограничением возможности разблокировать зашифрованное устройство, подключенное к другому рабочему месту
|
org.freedesktop.udisks2.encrypted-unlock-other-seat
|
|
Ограничение возможности разблокировать зашифрованное устройство, указанное в файле crypttab, с опцией x-udisks-auth
|
Данная политика управляет ограничением возможности разблокировать зашифрованное устройство, указанное в файле crypttab, с опцией x-udisks-auth
|
org.freedesktop.udisks2.encrypted-unlock-crypttab
|
|
Ограничение возможности отправить команду режима ожидания на системный диск
|
Данная политика управляет ограничением возможности отправить команду режима ожидания на системный диск
|
org.freedesktop.udisks2.ata-standby-system
|
|
Ограничение возможности отправить резервную команду
|
Данная политика управляет ограничением возможности отправить резервную команду
|
org.freedesktop.udisks2.ata-standby
|
|
Ограничение возможности разрешения на проверку состояния питания жесткого диска
|
Данная политика управляет ограничением возможности разрешения на проверку состояния питания жесткого диска
|
org.freedesktop.udisks2.ata-check-power
|
|
Ограничение возможности смены владельца файловой системы
|
Данная политика управляет ограничением возможности смены владельца файловой системы
|
org.freedesktop.udisks2.filesystem-take-ownership
|
|
Ограничение возможности удаления петлевых (loop) устройств
|
Данная политика управляет ограничением возможности удаления петлевых (loop) устройств
|
org.freedesktop.udisks2.loop-delete-others
|
|
Ограничение возможности разрешения управления массивами RAID
|
Данная политика управляет ограничением возможности разрешения управления массивами RAID
|
org.freedesktop.udisks2.manage-md-raid
|
|
Ограничение возможности управления петлевыми (loop) устройствами
|
Данная политика управляет ограничением возможности управления петлевыми (loop) устройствами
|
org.freedesktop.udisks2.loop-setup
|
|
Ограничение возможности управления пространством подкачки
|
Данная политика управляет ограничением возможности управления пространством подкачки
|
org.freedesktop.udisks2.manage-swapspace
|
|
Ограничение возможности установить данные SMART из большого двоичного объект
|
Данная политика управляет ограничением возможности установить данные SMART из большого двоичного объекта
|
org.freedesktop.udisks2.ata-smart-simulate
|
Таблица 34.24. Другие политики
|
Политика
|
Описание
|
Правило Polkitd
|
|---|---|---|
|
Ограничение возможности запуска программы от имени другого пользователя
|
Данная политика управляет ограничением возможности запуска программы от имени другого пользователя
|
org.freedesktop.policykit.exec
|
{GUID GPT}/Machine/Registry.pol и {GUID GPT}/User/Registry.pol.
Registry.pol:
PReg [Software\BaseALT\Policies\PolkitLocks;org.freedesktop.udisks2.filesystem-mount;;;] [Software\BaseALT\Policies\Polkit;org.freedesktop.udisks2.filesystem-mount;;;No] [Software\BaseALT\Policies\Polkit;org.freedesktop.packagekit.system-update;;;Auth_self] [Software\BaseALT\Policies\PolkitLocks;org.freedesktop.NetworkManager.network-control;;;] [Software\BaseALT\Policies\Polkit;org.freedesktop.NetworkManager.network-control;;Yes]
Примечание
/etc/polkit-1/rules.d/).
49-gpoa_disk_permissions.rules, для пользовательской политики — 48-gpoa_disk_permissions_user.<USERNAME>.rules.

Примечание

{GUID GPT}/Machine/Registry.pol и {GUID GPT}/User/Registry.pol.
Registry.pol:
PReg [Software\Policies\Microsoft\Windows\RemovableStorageDevices;Deny_All;;;]



Таблица 34.25. Настройки блокировки экрана
|
Политика
|
Ключ
|
Описание
|
Значение
|
|---|---|---|---|
|
Автоматическая блокировка экрана
|
screensaver.lock-delay screensaver.lock-enabled
|
Позволяет настроить автоматическую блокировку экрана и время задержки автоматической блокировки экрана
|
Возможные значения:
|
|
Задержка выключения экрана
|
session.idle-delay
|
Позволяет настроить период бездействия до отключения экрана
|
Время в минутах
|
|
Уведомления на экране блокировки
|
notifications.show-in-lock-screen
|
Позволяет включить/отключить показ уведомлений на экране блокировки
|
—
|
Таблица 34.26. Настройки внешнего вида
|
Политика
|
Ключ
|
Описание
|
Значение
|
|---|---|---|---|
|
Подгонка изображения рабочего стола
|
background.picture-options
|
Позволяет выбрать способ отображения фонового изображения на рабочем столе. Эта настройка влияет на то, как изображение адаптируется к размеру экрана или области, где оно отображается
|
Возможные значения:
|
|
Стиль оформления
|
interface.color-scheme
|
Позволяет выбрать стиль оформления внешнего вида пользовательского интерфейса
|
—
|
|
Тема оформления значков
|
interface.icon-theme
|
Позволяет выбрать тему оформления значков
|
—
|
|
Фон рабочего стола
|
background.picture-uri background.picture-uri-dark
|
Позволяет выбрать фон рабочего стола в зависимости от темы оформления внешнего вида
|
Путь до изображения в формате file:///home/user/Изображения/picture.jpg
|
Таблица 34.27. Настройки многозадачности
|
Политика
|
Ключ
|
Описание
|
Значение
|
|---|---|---|---|
|
Горячий угол
|
desktop.interface.enable-hot-corners
|
Позволяет включать или отключать горячий угол. Горячий угол в GNOME — это функциональность пользовательского интерфейса, которая позволяет быстро выполнять определённые действия, наведя указатель мыши в один из углов экрана
|
—
|
|
Рабочие столы
|
desktop.wm.preferences.num-workspaces mutter.dynamic-workspaces
|
Позволяет управлять количеством рабочих столов
|
Возможные значения:
Примечание
Параметр Количество рабочих столов имеет смысл только при фиксированном режиме.
|
|
Режим отображения рабочих столов
|
mutter.workspaces-only-on-primary
|
Позволяет настроить способ отображения рабочих столов на дисплеях
|
Возможные значения:
|
Таблица 34.28. Настройки поведения рабочей среды
|
Политика
|
Ключ
|
Описание
|
Значение
|
|---|---|---|---|
|
Отображение даты на панели быстрых настроек
|
interface.clock-show-date
|
Позволяет настраивать отображение даты на панели быстрых настроек
|
—
|
|
Отображение дня недели на панели быстрых настроек
|
interface.clock-show-weekday
|
Позволяет настраивать отображение дня недели на панели быстрых настроек
|
—
|
|
Отображение процента заряда батареи
|
interface.show-battery-percentage
|
Позволяет настраивать отображение процента заряда батареи на панели быстрых настроек
|
—
|
|
Отображение секунд на панели быстрых настроек
|
interface.clock-show-seconds
|
Позволяет настраивать отображение секунд на панели быстрых настроек
|
—
|
|
Фокус окна
|
wm.preferences.auto-raise wm.preferences.focus-mode
|
Позволяет выбрать способ переключения фокуса между окнами
|
Возможные значения:
Примечание
Параметр Поднимать окно над другими при установлении фокуса действует только в случае выбора режима фокусировки Срабатывает при наведении или Фокус следует за мышью.
|
|
Эффекты анимации
|
interface.enable-animations
|
Позволяет управлять переключением анимации во всём пользовательском интерфейсе
|
—
|
Таблица 34.29. Настройки специальных возможностей
|
Политика
|
Ключ
|
Описание
|
Значение
|
|---|---|---|---|
|
Меню специальных возможностей
|
a11y.always-show-universal-access-status
|
Позволяет включить отображение значка Меню специальных возможностей на верхней панели
|
—
|
|
Зрение
|
|||
|
Высокая контрастность
|
a11y.interface.high-contrast
|
Позволяет увеличить цветовой контраст элементов интерфейса переднего и заднего планов
|
—
|
|
Размер курсора
|
interface.cursor-size
|
Позволяет установить размер курсора в пикселях
|
По умолчанию размер курсора равен 24 пикселям
|
|
Фигуры на значках состояний
|
a11y.interface.show-status-shapes
|
Позволяет включить использование фигур для обозначения состояния настроек в дополнение или вместо цвета
|
—
|
Таблица 34.30. Настройки управления электропитанием
|
Политика
|
Ключ
|
Описание
|
Значение
|
|---|---|---|---|
|
Действие кнопки питания устройства
|
power-button-action
|
Позволяет настроить поведение устройства после нажатия кнопки питания
|
Возможные значения:
|
|
Спящий режим при питании от батареи
|
sleep-inactive-battery-timeout sleep-inactive-battery-type
|
Позволяет управлять условием перехода устройства в спящий режим при питании от батареи
|
Время до перехода в спящий режим при питании от батареи имеет смысл только при включённом параметре Переходить в спящий режим при питании от батареи
|
|
Спящий режим при питании от сети
|
sleep-inactive-ac-timeout sleep-inactive-ac-type
|
Позволяет управлять условием перехода устройства в спящий режим при питании от сети
|
Время до перехода в спящий режим при питании от сети имеет смысл только при включённом параметре Переходить в спящий режим при питании от сети
|



Таблица 34.31. Настройки фона рабочего стола
|
Политика
|
Ключ
|
Описание
|
Значение
|
|---|---|---|---|
|
Картинка фона рабочего стола
|
picture-filename
|
Позволяет установить изображение в качестве фона рабочего стола, указав файл, содержащий изображение
|
Строка, содержащая путь (с точки зрения клиента) к файлу изображения (например,
/usr/share/backgrounds/mate/nature/Wood.jpg)
|
|
Конечный цвет градиента
|
secondary-color
|
Устанавливает «конечный» цвет градиента фона рабочего стола. Данным цветом заканчивается градиент и, в зависимости от типа градиента, параметр определяет цвет правого или нижнего края рабочего стола. Данный параметр не используется, если в параметре Тип градиента выбрана Сплошная заливка
|
|
|
Метод отображения картинки фона
|
picture-options
|
Устанавливает метод отображения изображения, заданного параметром Картинка фона рабочего стола
|
|
|
Начальный цвет градиента
|
primary-color
|
Устанавливает начальный цвет градиента фона рабочего стола. Данным цветом начинается градиент и, в зависимости от типа градиента, параметр определяет цвет левого или верхнего края рабочего стола, или цвет сплошной заливки
|
|
|
Тип градиента
|
color-shading-type
|
Устанавливает тип градиента фона рабочего стола. Этот параметр имеет смысл, только если не установлен параметр Картинка фона рабочего стола
|
|
Таблица 34.32. Настройки хранителя экрана
|
Политика
|
Ключ
|
Описание
|
Значение
|
|---|---|---|---|
|
Блокировка компьютера
|
lock-enabled
|
Включает блокировку компьютера при активации хранителя экрана. Блокировка будет включена через интервал времени, установленный настройкой Время до блокировки паролем.
Этот параметр имеет смысл только при активированном параметре Включение хранителя экрана
|
—
|
|
Включение хранителя экрана
|
idle-activation-enabled
|
Обеспечивает включение хранителя экрана при бездействии системы
|
—
|
|
Время до блокировки паролем
|
lock-delay
|
Устанавливает количество минут, по истечении которых после активации хранителя экрана, компьютер будет заблокирован.
Этот параметр имеет смысл только при активированном параметре Включение хранителя экрана и Блокировка компьютера
|
Время в минутах
|
|
Время до выхода из сеанса
|
logout-delay
|
Устанавливает количество минут, по истечении которых после активации хранителя экрана, при разблокировании пользователю будет предоставлена возможность выхода из сеанса.
Этот параметр имеет смысл только при активированном параметре Включение хранителя экрана и Выход из сеанса после блокировки
|
Время в минутах
|
|
Время смены тем
|
cycle-delay
|
Устанавливает интервал (в минутах) между сменами тем хранителя экрана.
Этот параметр имеет смысл только при активированном параметре Включение хранителя экрана и если для параметра Режим работы установлено значение Случайные темы.
|
Время в минутах
|
|
Выход из сеанса после блокировки
|
logout-enabled
|
После некоторой задержки добавляет кнопку выхода из сеанса () к диалогу разблокирования экрана. Время задержки указывается в настройке Время выхода из сеанса.
Этот параметр имеет смысл только при активированном параметре Включение хранителя экрана и Блокировка компьютера (так как без блокировки не появляется диалог с кнопкой)
|
—
|
|
Переключить пользователя после блокировки
|
user-switch-enabled
|
Добавляет кнопку к диалогу разблокирования экрана.
Этот параметр имеет смысл только при активированном параметре Включение хранителя экрана и Блокировка компьютера (так как без блокировки не появляется диалог с кнопкой)
|
—
|
|
Режим работы
|
mode
|
Устанавливает режим работы хранителя экрана.
Этот параметр имеет смысл только при активированном параметре Включение хранителя экрана
|
Доступны следующие режимы:
|
Таблица 34.33. Настройки сеанса
|
Политика
|
Ключ
|
Описание
|
Значение
|
|---|---|---|---|
|
Запрос при выходе из сеанса
|
logout-prompt
|
Если политика включена и для поля Запрос при выходе из сеанса выбрано значение Включено, при завершении сеанса будет выведено диалоговое окно с выбором действия:
![]()
Если политика включена и для поля Запрос при выходе из сеанса выбрано значение Отключено, завершение сеанса будет происходить автоматически, без появления диалогового окна.
|
—
|
|
Интервал бездействия, по истечении которого сеанс считается простаивающим
|
idle-delay
|
Устанавливает время в минутах, по истечении которого, сеанс будет считаться простаивающим.
Данная политика позволяет управлять настройкой Считать компьютер простаивающим через:
![]()
Этот параметр имеет смысл только при активированных параметрах Включение хранителя экрана и Блокировка компьютера.
|
Время в минутах
|
|
Отображение скрытых автоматически запускаемых приложений
|
show-hidden-apps
|
Включает отображение скрытых автоматически запускаемых приложений в меню .
Если политика включена и для неё выбрано состояние Включено, в окне Параметры запускаемых приложений будут показаны скрытые автоматически запускаемые приложения:
![]() |
—
|
|
Сохранение сеансов
|
auto-save-session
|
Позволяет автоматически сохранять рабочий сеанс для восстановления при следующем запуске.
Если политика включена и для неё выбрано состояние Включено, система будет автоматически сохранять рабочий сеанс (система запомнит какие приложения были запущены при выходе из системы и автоматически запустит их при входе в систему).
|
—
|
|
Тайм-аут выхода из сеанса
|
logout-timeout
|
Позволяет установить время в секундах, по истечении которого произойдет выход из системы.
Если политика включена, при завершении сеанса и выключении компьютера, в диалоговом окне с выбором действия будет выставлен тайм-аут со значением, указанным в поле В секундах:
![]()
Если в поле В секундах указан 0, то тайм-аут будет отключен:
![]()
Если политика не сконфигурирована или отключена, значение тайм-аута будет равно 60 секундам.
|
Время в секундах
|
Таблица 34.34. Настройки ограничений пользователя
|
Политика
|
Ключ
|
Описание
|
Значение
|
|---|---|---|---|
|
Запрет блокировки экрана
|
picture-filename
|
Запрещает пользователю блокировать экран паролем. При установке данной настройки, значение параметра Блокировка компьютера игнорируется
|
—
|
|
Запрет выбора тем рабочего стола
|
picture-filename
|
Запрещает пользователю изменять тему оформления графической среды Mate
|
—
|
|
Запрет переключения пользователей
|
disable-user-switching
|
Запрещает пользователю переключение на другую учётную запись, пока активен его сеанс. Отключает кнопку в диалоговом окне, вызываемом при выборе в главном меню пункта
|
—
|
|
Запрет пользователю завершать сеанс
|
disable-log-out
|
Запрещает пользователю завершать свой сеанс
|
—
|
Таблица 34.35. Настройки оконного менеджера Marco
|
Политика
|
Ключ
|
Описание
|
Значение
|
|---|---|---|---|
|
Автоматически поднимать окно, получившее фокус
|
auto-raise
|
При включении этой политики, окно, получившее фокус, автоматически отображается поверх остальных. Параметр Переключение фокуса окон должен быть установлен в Sloppy или Mouse. Интервал, по истечении которого, окно поднимается, устанавливается в параметре Задержка при восстановлении
|
—
|
|
Граница окна при переключении с помощью Alt+Tab
|
show-tab-border
|
Выделять границу выбранного окна при переключении с помощью Alt+Tab
|
—
|
|
Действие по двойному щелчку по заголовку окна
|
action-double-click-titlebar
|
Устанавливает действие, выполняемое по двойному щелчку левой кнопкой мыши по заголовку окна
|
|
|
Действие по нажатию правой кнопки по заголовку окна
|
action-right-click-titlebar
|
Устанавливает действие, выполняемое по нажатию правой кнопки мыши по заголовку окна
|
|
|
Действие по нажатию средней кнопки по заголовку окна
|
action-middle-click-titlebar
|
Установливает действие, выполняемое по нажатию средней кнопки мыши по заголовку окна
|
|
|
Задержка при восстановлении
|
alt-tab-max-columns
|
Временной интервал в миллисекундах, по истечении которого окно в фокусе будет поднято поверх остальных. Этот параметр имеет смысл только при активированном параметре Автоматически поднимать окно, получившее фокус
|
Время в миллисекундах
|
|
Изменение размеров окна при перетаскивании
|
primary-color
|
Включает изменение размеров окна при перетаскивании его в различные области экрана.
Если включено, перетаскивание окна на границу экрана распахивает окно вертикально и изменяет горизонтальный размер до половины доступного пространства.
Если активирован параметр Распахнуть окно при перетаскивании к верхнему краю экрана, перетаскивание окна наверх разворачивает окно
|
—
|
|
Иконки заголовка окна
|
button-layout
|
Настройки расположения кнопок в заголовке окна
|
Строка вида: menu:minimize,maximize,spacer,close
Разделителем правой и левой половин является двоеточие. Имена кнопок разделяются запятыми.
Например, строка 'menu:minimize,maximize,spacer,close' — расположить кнопку меню окна слева, а справа кнопки свернуть, распахнуть, закрыть окно.
Дублирование кнопок не допускается. Неизвестные имена кнопок игнорируются без уведомления.
Специальный элемент spacer может использоваться для вставки пробела между двумя кнопками
|
|
Количество рабочих областей (мест)
|
num-workspaces
|
Установка количества рабочих мест
|
Интервал допустимых значений 1-36
|
|
Миниатюры при переключении окон
|
compositing-fast-alt-tab
|
Если включено, то вместо миниатюр предварительного просмотра в окне переключения Alt+Tab будут отображаться значки приложений
|
—
|
|
Новые окна по центру
|
center-new-windows
|
Если включено, то новые окна будут открываться по центру экрана. В противном случае они будут открыты в левом верхнем углу экрана
|
—
|
|
Переключение рабочих областей (столов)
|
wrap-style
|
Определяет, каким образом пролистывать от одного рабочего стола к другому на границе переключателя рабочих мест
|
|
|
Переключение фокуса на новое окно
|
focus-new-windows
|
Определяет, как новое окно получает фокус
|
|
|
Разворачивание при перетаскивании (Распахнуть окно при перетаскивании к верхнему краю экрана)
|
allow-top-tiling
|
Включает разворачивание окна во весь экран при перетаскивании его к верхнему краю экрана. Этот параметр имеет смысл только при активированном параметре Изменение размеров окна при перетаскивании
|
—
|
|
Размер иконок в окне Alt+Tab
|
icon-size
|
Устанавливает размер значков, отображаемых в окне переключения приложений Alt+Tab
|
Интервал допустимых значений: 8-256
|
|
Размер окна переключения Alt+Tab
|
alt-tab-max-columns
|
Устанавливает количество колонок в окне переключения приложений Alt+Tab
|
Количество колонок
|
|
Расположение новых окон
|
placement-mode
|
Указывает как будут позиционироваться новые окна
|
|
|
Режим активации окна
|
focus-mode
|
Режим переключения фокуса в окно определяет, как активируются окна
|
|
|
Системный шрифт в заголовке окон
|
titlebar-uses-system-font
|
Если включено, в заголовках окон используется стандартный системный шрифт. Параметр Шрифт заголовка окна при этом игнорируется
|
—
|
|
Тема оформления
|
theme
|
Устанавливает тему, отвечающую за отображение границ окон, заголовка и т.д.
|
Строка, содержащая название темы (например, Dopple)
|
|
Шрифт заголовка окна
|
titlebar-font
|
Устанавливает шрифт заголовков окон. Этот параметр игнорируется, если активирован параметр Системный шрифт в заголовке окна
|
Строка, содержащая название шрифта и через пробел, размер шрифта (например, Noto Sans Bold 10)
|
Таблица 34.36. Настройки клавиатуры
|
Политика
|
Ключ
|
Описание
|
Значение
|
|---|---|---|---|
|
Задержка перед повтором
|
delay
|
Задержка перед повтором нажатой и удерживаемой клавиши
|
Время в миллисекундах
|
|
Повторять удерживаемую нажатой клавишу
|
repeat
|
Включить повтор нажатой и удерживаемой клавиши. Если нажать и удерживать клавишу при включённом повторе ввода, действие, соответствующее клавише, будет повторяться. Например, если нажать и удерживать клавишу с буквой, то эта буква будет многократно повторена
|
—
|
|
Скорость повтора
|
rate
|
Устанавливает скорость повтора нажатой и удерживаемой клавиши
|
Количество повторов в секунду
|



Таблица 34.37. Настройки удаленного доступа VNC
|
Политика
|
Ключ
|
Описание
|
Значение
|
|---|---|---|---|
|
Альтернативный порт
|
alternative-port
|
Устанавливает альтернативный порт для удаленного подключения к рабочему столу. Используется только при установленном параметре Включить альтернативный порт
|
Значение номера порта в пределах от 5 000 до 50 000. По умолчанию используется порт 5900
|
|
Включить альтернативный порт
|
prompt-enabled
|
Включить прослушивание альтернативного порта для удалённых подключений (вместо порта по умолчанию 5 900). Порт указывается в параметре Альтернативный порт
|
|
|
Иконка подключения
|
icon-visibility
|
Управляет отображением значка подключения в области уведомления
|
|
|
Методы аутентификации
|
authentication-methods
|
Устанавливает методы аутентификации пользователей, подключающихся к рабочему столу. Используется только при установленном параметре Пароль для подключения
|
|
|
Подтверждение при подключении
|
prompt-enabled
|
Включает запрос подтверждения при любой попытке доступа к рабочему столу. Рекомендуется при отсутствии защиты подключения паролем
|
|
|
Удалённое управление
|
view-only
|
Запрещает удалённое управление рабочим столом. Удалённым пользователям, разрешается только просматривать рабочий стол, но не управлять мышью и клавиатурой
|
|
|
Удаленный доступ
|
enabled
|
Разрешает удаленный доступ к рабочему столу с использованием протокола RFB и VNC
|
|

Таблица 34.38. Опции Winbind DNSupdate
|
Политика
|
Ключ
|
Описание
|
Значение
|
|---|---|---|---|
|
Время хранения DNS записи
|
ttl
|
Позволяет позволяет задать время хранения DNS записи в кеше
|
Время в секундах
|
|
Обновление IPv4 DNS записей
|
enable-update-ipv4, ipv4_ptr_update
|
Позволяет включить обновление прямой и обратной IPv4 DNS записи компьютера. Включение параметра Обновление обратной IPv4 DNS записи имеет смысл только при включённом параметре Обновление прямой IPv4 DNS записи
|
-
|
|
Обновление IPv6 DNS записей
|
enable-update-ipv6, ipv6_ptr_update
|
Позволяет включить обновление прямой и обратной IPv6 DNS записи компьютера. Включение параметра Обновление обратной IPv6 DNS записи имеет смысл только при включённом параметре Обновление прямой IPv6 DNS записи
|
-
|
[General] FilterBar=0 Version=202 ViewPropsTimestamp=2023,10,5,18,6,33.478 [MainWindow] MenuBar=Disabled ToolBarsMovable=Disabled
Примечание



/etc/xdg/<имя_файла> — машинная политика;
~/.config/<имя_файла> — пользовательская политика.
Таблица 34.39. Настройки среды рабочего стола KDE
|
Политика
|
Описание
|
Примечание
|
|---|---|---|
|
Виртуальные рабочие столы
|
Позволяет настроить количество виртуальных рабочих столов
|
Файлы конфигурации:
Пример файла конфигурации:
[Desktops] Number=4 Rows=1Где:
|
|
Наличие кнопки «Удалить» в контекстном меню Dolphin
|
Позволяет управлять отображением кнопки в контекстном меню Dolphin
|
Файлы конфигурации:
Пример файла конфигурации:
[KDE] ShowDeleteCommand[$i]=1Возможные значения:
|
|
Настройка подключаемых устройств
|
Позволяет настроить автоматическое монтирование подключаемых устройств
|
Возможные значения:
Файлы конфигурации:
Пример файла конфигурации:
[General] AutomountEnabled=1 AutomountOnLogin=1 AutomountOnPlugin=0 AutomountUnknownDevices=0 |
|
Региональные и языковые параметры
|
Позволяет установить региональные и языковые параметры. Эти параметры меняют настройки не только самого языка системы, но и задают настройки валюты, стандарт времени, числовые значения, стиль написания имени, телефонный код и стандарт телефонного номера страны. Параметры вписываются в поля Стандарт и Язык.
Примеры:
|
Файлы конфигурации:
Пример файла конфигурации:
[Formats] LANG[$i]=ru_RU.UTF-8 [Translation] LANGUAGE=ruГде:
|
|
Служба поиска файлов
|
Позволяет включить службу поиска файлов и задать параметры индексирования файлов
|
Возможные значения:
Файлы конфигурации:
Пример файла конфигурации:
[Basic Settings] Indexing-Enabled=1 [General] index hidden folders=0 only basic indexing=1 Примечание
Параметры Включить индексацию содержимого файлов и Включить индексацию скрытых файлов и папок имеют смысл только при включённом параметре Включить службу поиска файлов
|
Таблица 34.40. Внешний вид
|
Политика
|
Описание
|
Значение
|
|---|---|---|
|
Оформление рабочего стола
|
Позволяет выбрать оформление рабочего стола (определяет то, как отображаются различные компоненты Plasma), указав название темы (например, breeze-light).
Используются темы оформления рабочего стола, доступные в
/usr/share/kf5/plasma/desktoptheme. Для добавления новых тем необходимо установить пакеты, включающие в себя эти темы
|
|
|
Оформление рабочей среды
|
Позволяет установить тему оформления рабочей среды, указав название темы (например, org.kde.название.desktop или org.kde.название).
Используются темы оформления рабочего стола, доступные в
/usr/share/kf5/plasma/look-and-feel/. Для добавления новых тем необходимо установить пакеты, включающие в себя эти темы
|
|
|
Тема заставки
|
Позволяет установить тему заставки, указав название темы (например, org.kde.название.desktop или org.kde.название).
Используются темы заставки, доступные в
/usr/share/kf5/plasma/look-and-feel/. Для добавления новых тем необходимо установить пакеты, включающие в себя эти темы
|
|
|
Тема значков
|
Позволяет установить тему значков, указав название темы (например, gnome).
Применение темы значков зависит от её наличия в системе. Используются темы значков, доступные в
/usr/share/icons/. Для добавления новых тем необходимо установить пакеты, включающие в себя эти темы
|
|
|
Тема курсора
|
Позволяет установить тему курсора мыши, указав название темы (например, Adwaita).
Применение темы курсора зависит от её наличия в системе. Используются темы курсоров, доступные в
/usr/share/icons/. Для добавления новых тем необходимо установить пакеты, включающие в себя эти темы
|
|
|
Цвета
|
Позволяет установить цветовую схему, указав название схемы (например, BreezeClassic).
Применение цветовой схемы зависит от её наличия в системе. Используются цветовые схемы, доступные в
/usr/share/kf5/color-schemes. Для добавления новых тем необходимо установить пакеты, включающие в себя эти темы
|
Варианты цветовых схем:
|
|
Пользовательские политики
|
||
|
Включение панели фильтрации в файловом менеджере Dolphin
|
Позволяет включить или отключить панель фильтрации в файловом менеджере Dolphin
|
—
|
|
Обои рабочего стола
|
Позволяет установить изображение в качестве фона рабочего стола, указав файл, содержащий изображение
|
В качестве значения должна быть указана строка, содержащая путь (с точки зрения клиента) к файлу изображения. Например:
|
Таблица 34.41. Поведение рабочей среды
|
Политика
|
Описание
|
Примечание
|
|---|---|---|
|
Блокировка экрана
|
Позволяет регулировать параметры блокировки экрана.
Позволяет определить, сколько времени должно проходить перед включением блокировки экрана, настроить период отсрочки для разблокировки экрана без пароля.
Настройка Время до блокировки экрана при отсутствии активности будет применена только в случае включения параметра Автоматически блокировать экран
|
Файлы конфигурации:
Пример файла конфигурации:
[Daemon] Autolock[$i]=1 Timeout[$i]=12 LockOnResume[$i]=1 LockGrace[$i]=11Где:
|
|
Графические эффекты
|
Позволяет настроить включение или отключение графических эффектов при входе в систему
|
Файлы конфигурации:
Пример файла конфигурации:
[Compositing] Enabled=1Возможные значения:
|
|
Задержка отрисовки
|
Позволяет установить уровень задержки и плавности анимации
|
Возможные значения:
Файлы конфигурации:
Пример файла конфигурации:
[Compositing] LatencyPolicy=Medium |
|
Открытие файла или каталога одним щелчком
|
Позволяет настроить открытие файла или каталога одним щелчком
|
Файлы конфигурации:
Пример файла конфигурации:
[KDE] SingleClick[$i]=1Возможные значения:
|
|
Режим активации окна
|
Позволяет определить как активируются окна при переключении фокуса
|
Возможные значения:
Файлы конфигурации:
Пример файла конфигурации:
[Windows] FocusPolicy=FocusFollowMouse NextFocusPrefersMouse=0 |
|
Пользовательские политики
|
||
|
Обновление графического окружения Plasma
|
Если политика включена, при изменении пути до файла изображения рабочего стола сервис графического окружения Plasma-plasmashell будет автоматически обновляться
|
|
/etc/xdg/powermanagementprofilesrc — машинная политика;
~/.config/powermanagementprofilesrc — пользовательская политика.
Таблица 34.42. Управление электропитанием
|
Политика
|
Описание
|
Файл конфигурации
|
|---|---|---|
|
Потухание экрана
|
Позволяет настроить время до угасания экрана (уменьшения яркости до нуля) в зависимости от режима электропитания
|
Для указания значения используется точное время в минутах, заданное в миллисекундах. Если время в миллисекундах указано неверно и не соответствует целому значению в минутах, то время автоматически округляется к ближайшему целому значению в меньшую сторону, например:
Пример файла конфигурации:
[AC][DimDisplay] idleTime=800000 [Battery][DimDisplay] idleTime=600000 [LowBattery][DimDisplay] idleTime=600000 |
|
Энергосбережение монитора
|
Позволяет настроить время до выключения монитора (при бездействии) в зависимости от режима электропитания
|
Для указания значения используется точное время в минутах, заданное в секундах. Если время в секундах указано неверно и не соответствует целому значению в минутах, то время автоматически округляется к ближайшему целому значению в меньшую сторону, например:
Пример файла конфигурации:
[AC][DPMSControl] idleTime=800 [Battery][DPMSControl] idleTime=600 [LowBattery][DPMSControl] idleTime[$i]=60 |
|
Яркость клавиатуры
|
Позволяет настроить яркость клавиатуры в зависимости от режима электропитания
|
Для указания значения используется число от 0 до 100, например:
Пример файла конфигурации:
[AC][KeyboardBrightnessControl] value=60 [Battery][KeyboardBrightnessControl] value=20 [LowBattery][KeyboardBrightnessControl] value[$i]=0 |
|
Яркость экрана
|
Позволяет настроить яркость экрана в зависимости от режима электропитания
|
Для указания значения используется число от 0 до 100, например:
Пример файла конфигурации:
[AC][BrightnessControl] value=80 [Battery][BrightnessControl] value=50 [LowBattery][BrightnessControl] value=30 |
Таблица 34.43. Настройки приложений
|
Политика
|
Описание
|
Значение
|
|---|---|---|
|
Браузер по умолчанию
|
Позволяет выбрать браузер по умолчанию
|
Возможные значения:
Примечание
Применение настроек доступно только в случае, если в системе установлен выбранный браузер
|
Примечание



Примечание

{GUID GPT}/Machine/Registry.pol и {GUID GPT}/User/Registry.pol.
Registry.pol:
PReg [Software\BaseALT\Policies\GPUpdate;GlobalExperimental;;;] [Software\BaseALT\Policies\Packages;Sync;;;] [Software\BaseALT\Policies\Packages\Install;gimp;;;gimp] [Software\BaseALT\Policies\Packages\Install;simple-scan;;;simple-scan] [Software\BaseALT\Policies\Packages\Remove;python3-tools;;;python3-tools]






Таблица 34.44. Групповые политики LAPS
|
Политика
|
Ключ
|
Описание
|
Значение
|
|---|---|---|---|
|
Действия после проверки подлинности
|
PostAuthenticationActions, PostAuthenticationResetDelay
|
Политика позволяет настроить автоматические действия, выполняемые после входа в систему под учетной записью, управляемой LAPS
|
Льготный период — время (в часах), в течение которого никакие действия не выполняются. Если значение больше 0, LAPS выполнит указанные действия по истечении указанного времени. Если значение равно 0, действия не выполняются. Если политика не настроена, испольуется значение по умолчанию — 24 часа;
Доступные действия:
Примечание
По умолчанию, если политика не настроена, применяется действие Сбросить пароль и выйти из системы через 24 часа
|
|
Имя учетной записи администратора
|
AdministratorAccountName
|
Позволяет указать имя локальной учётной записи, пароль которой будет управляться LAPS
|
Если политика включена, LAPS будет управлять паролем для локальной учётной записи с указанным именем.
Если политика отключена или не настроена, LAPS будет управлять паролем учётной записи root
|
|
Истечение срока действия пароля
|
PasswordExpirationProtectionEnabled
|
Определяет, разрешено ли превышение срока действия пароля, заданного в политике Параметры паролей
|
Если политика включена или не настроена, превышение срока действия запрещено. При обнаружении истечения срока пароль немедленно изменяется, а новый срок устанавливается в соответствии с политикой Параметры паролей.
Если политика отключена, срок действия может превышать заданный
|
|
Каталог резервного копирования паролей
|
BackupDirectory
|
Позволяет указать место резервного копирования пароля локальной учётной записи администратора
|
Возможные значения:
Примечание
Если для выбрано значение Active Directory, но управляемое устройство не присоединено к Active Directory, резервное копирование не выполняется.
Если политика отключена или не настроена, пароль не управляется LAPS.
|
|
Параметры паролей
|
PasswordAgeDays, PasswordComplexity, PasswordLength
|
Позволяет настроить сложность, длину и срок действия паролей
|
Сложность пароля — определяет допустимые символы при создании нового пароля:
Длина пароля — количество символов в пароле:
Срок действия пароля (в днях):
|
|
Размер журнала зашифрованных паролей
|
ADEncryptedPasswordHistorySize
|
Позволяет указать количество зашифрованных паролей, хранящихся в Active Directory
|
Допустимый диапазон: 0 — 12.
Если политика включена, указанное количество предыдущих паролей будет храниться в Active Directory.
Если политика отключена или не настроена, предыдущие пароли не сохраняются.
Примечание
Настройка политики не действует, если:
|
|
Расшифрование паролей
|
ADPasswordEncryptionPrincipal
|
Политика позволяет задать пользователя или группу, пользователям которой разрешено расшифровывать зашифрованные пароли
|
Если политика включена, зашифрованные пароли могут расшифровывать указанный пользователь или члены указанной группы.
Если политика отключена или не настроена, расшифровывать пароли могут только члены группы Администраторы домена
Примечание
Настройка не действует, если шифрование паролей не включено.
Примечание
Значение может быть:
|
|
Шифрование паролей
|
ADPasswordEncryptionEnabled
|
Позволяет включить шифрование пароля перед отправкой в Active Directory
|
Если политика отключена, пароль управляемой учётной записи не шифруется.
Если политика включена или не настроена, пароль управляемой учётной записи шифруется
Примечание
Пароль не будет зашифрован, если:
|
/etc/chromium/policies/managed/policies.json и применяет параметры групповых политик. Групповые политики на основе policies.json предоставляют кроссплатформенную совместимость, что позволяет управлять браузерами в любом дистрибутиве Альт с установленным окружением рабочего стола.
Примечание
/etc/chromium/policies/managed/policies_local.json и вносить изменения в него. При коллизиях будет применена последняя прочитанная настройка.
Примечание
Примечание
chrome://policy:




{GUID GPT}/Machine/Registry.pol. Пример файла Registry.pol:
PReg[Software\Policies\Google\Chrome;HomepageLocation;;;https://docs.altlinux.org]
chrome://policy и установив отметку на пункте Показывать правила, значения которых не заданы.
Таблица 34.45. Настройки веб-браузера Chromium
|
Политика
|
Ключ
|
Описание
|
|---|---|---|
|
Действие при запуске
|
RestoreOnStartup
|
Настройка процесса запуска Chromium.
При выборе значения Восстановить последний сеанс или «Открыть список URL и восстановить последний сеанс» будут отключены некоторые функции, такие как удаление данных о работе в браузере или сессионных файлов cookie при завершении работы.
Если для политики указано значение Открыть список URL и восстановить последний сеанс, браузер будет восстанавливать предыдущий сеанс и открывать URL, заданные в политике URL, открывающиеся при запуске, в отдельном окне. Если пользователь не закроет страницы с этими URL, они также будут восстановлены в новом сеансе.
Если политика находится в состоянии Включено, пользователи не смогут изменить эту настройку в Chromium
|
|
Настройка URL домашней страницы
|
HomepageLocation
|
Позволяет установить URL домашней страницы и запрещает пользователям его изменять.
Если политика находится в состоянии Включено, можно установить домашнюю страницу по умолчанию (открыть эту страницу в Chromium можно, нажав кнопку на панели инструментов). Пользователи при этом не смогут изменить домашнюю страницу.
Если политика находится в состоянии Отключено, пользователи не смогут установить домашнюю страницу.
Если политика находится в состоянии Не сконфигурировано, пользователь может сам установить и изменить домашнюю страницу.
Данная политика не будет работать, если пользователем или политикой «Сделать страницу быстрого доступа главной» в качестве главной страницы была задана страница быстрого доступа
|
|
Настройка URL страницы быстрого доступа
|
NewTabPageLocation
|
Позволяет установить URL страницы быстрого доступа по умолчанию и запрещает пользователям его изменять.
Страница быстрого доступа появляется, когда пользователь открывает новую вкладку или окно.
Политика не определяет, какие страницы открываются при запуске. Для этого применяется политика Действие при запуске. Но если страница быстрого доступа используется в качестве главной или стартовой страницы, эта политика также распространяется и на них.
Если политика находится в состоянии Не сконфигурировано или URL не указан, используется страница быстрого доступа, установленная по умолчанию
|
|
Отображать кнопку на панели инструментов
|
ShowHomeButton
|
Позволяет управлять отображением кнопки на панели инструментов.
Если политика находится в состоянии Включено, кнопка отображается на панели инструментов.
Если политика находится в состоянии Отключено, кнопка не будет отображаться.
Если эта политика настроена, пользователи не смогут изменить эту настройку в Chromium. В противном случае пользователи смогут добавить или скрыть кнопку главного экрана
|
|
Сделать страницу быстрого доступа главной
|
HomepageIsNewTabPage
|
Если политика находится в состоянии Включено, в качестве главной страницы используется страница быстрого доступа. Заданный URL главной страницы игнорируется.
Если политика находится в состоянии Отключено или Не сконфигурировано, страница быстрого доступа открывается, только когда в качестве URL главной страницы указан путь
chrome://newtab.
Если эта политика настроена, пользователи не смогут изменить главную страницу в Chromium. Если политика не сконфигурирована, пользователи смогут выбрать, устанавливать ли страницу быстрого доступа в качестве главной
|
|
URL, открывающиеся при запуске
|
RestoreOnStartupURLs
|
Если для политики Действие при запуске задано значение Открыть одну или несколько страниц, в данной политике можно настроить список URL-адресов.
В противном случае при запуске будет открываться страница быстрого доступа
|
|
Включить сохранение паролей
|
PasswordManagerEnabled
|
Если политика находится в состоянии Включено или Не сконфигурировано, Chromium будет предлагать запоминать введенные пароли (а также предлагать их при следующем входе).
Если политика находится в состоянии Отключено, пользователям будут доступны только ранее сохраненные пароли, а сохранить новые будет нельзя.
Если политика настроена, пользователи не могут изменить её в Chromium. В противном случае пользователи при желании смогут отключить функцию сохранения паролей
|
|
Включить поисковую систему по умолчанию
|
DefaultSearchProviderEnabled
|
Если политика находится в состоянии Включено, то при вводе в адресную строку текста (не URL) будет выполняться поиск в используемой по умолчанию поисковой системе.
Задать поисковую систему по умолчанию можно с помощью других политик. Если значения для этих политик не установлены, пользователь может сам выбрать поисковую систему по умолчанию.
Если политика находится в состоянии Отключено, то поиск текста, введенного в адресную строку, не выполняется
|
|
Название поисковой системы по умолчанию
|
DefaultSearchProviderName
|
Если политика Включить поисковую систему по умолчанию включена, то данная политика задает название поисковой системы по умолчанию.
Если параметр Включить поисковую систему по умолчанию не задан, то используется имя хоста, указанное в URL поискового запроса
|
|
Показ URL страницы быстрого доступа в поисковой системе по умолчанию
|
DefaultSearchProviderNewTabURL
|
Если политика Включить поисковую систему по умолчанию включена, то данная политика указывает URL поисковой системы, используемой для страницы быстрого доступа.
Если политика находится в состоянии Отключено или Не сконфигурировано, страница быстрого доступа не будет использоваться
|
|
URL поиска для поисковой системы по умолчанию
|
DefaultSearchProviderSearchURL
|
Если политика Включить поисковую систему по умолчанию включена, то данная политика содержит URL поисковой системы, используемой по умолчанию. В URL должна быть строка '{searchTerms}', которая во время отправки запроса заменяется на текст пользователя.
URL поисковой системы Google можно указать так: '{google:baseURL}search?q={searchTerms}&{google:RLZ}{google:originalQueryForSuggestion} {google:assistedQueryStats}{google:searchFieldtrialParameter} {google:searchClient}{google:sourceId}ie={inputEncoding}'
URL поисковой системы Яндекс можно указать так: https://yandex.ru/search/?text={searchTerms}
|
|
Включить панель закладок
|
BookmarkBarEnabled
|
Если политика находится в состоянии Включено, в Chromium будет видна панель закладок.
Если политика находится в состоянии Отключено, панель закладок будет всегда скрыта.
Если эта политика настроена, пользователи не смогут её изменить. Если политика находится в состоянии Не сконфигурировано, пользователи смогут самостоятельно решать, использовать эту функцию или нет
|
|
Разрешить пользователям менять фон на странице быстрого доступа
|
NTPCustomBackgroundEnabled
|
Если политика находится в состоянии Отключено, пользователи не смогут изменять фон страницы быстрого доступа. Уже используемые изображения удаляются без возможности восстановления.
Если политика находится в состоянии Включено или Не сконфигурировано, пользователи могут изменять фон страницы быстрого доступа
|
|
Блокировать изображения на этих сайтах
|
ImagesBlockedForUrls
|
Позволяет задать список шаблонов URL для указания сайтов (значение * не поддерживается для этой политики), на которых запрещен показ изображений.
Если политика находится в состоянии Включено, Chromium будет блокировать изображения на указанных сайтах.
Если политика находится в состоянии Не сконфигурировано, то действует политика Настройка изображений по умолчанию при условии, что оно задано. В противном случае применяются персональные настройки пользователя
|
|
Блокировка доступа к списку URL
|
URLBlocklist
|
Если политика находится в состоянии Включено, страницы с запрещенными URL не загружаются (задаются шаблоны запрещенных URL).
Если политика находится в состоянии Не сконфигурировано, браузер не блокирует URL.
Формат шаблона URL должен соответствовать требованиям, указанным на странице
https://www.chromium.org/administrators/url-blocklist-filter-format. В политике URLAllowlist можно задавать не более 1000 исключений
|
|
Всегда открывать PDF-файлы во внешнем приложении
|
AlwaysOpenPdfExternally
|
Если политика находится в состоянии Включено, встроенное средство просмотра PDF-файлов в Chromium отключается, они начинают обрабатываться как скачанный контент, а пользователю разрешается открывать их в приложении, установленном по умолчанию.
Если политика находится в состоянии Отключено, для просмотра PDF-файлов будет использоваться плагин PDF (если он не отключен пользователем).
Если политика находится в состоянии Не сконфигурировано, пользователи смогут настраивать этот параметр самостоятельно
|
|
Всегда указывать место для скачивания
|
PromptForDownloadLocation
|
Если политика находится в состоянии Включено, то при скачивании каждого файла пользователь должен указать, в какой каталог его сохранить.
Если политика находится в состоянии Отключено, скачивание выполняется без запроса каталога для сохранения.
Если политика находится в состоянии Не сконфигурировано, пользователи могут выбрать каталог, в который всегда будут сохраняться файлы
|
|
Выбор каталога для скачиваний
|
DownloadDirectory
|
В этой политике указывается каталог, в котором браузер Chromium сохраняет скачиваемые файлы. Данный каталог используется, даже если пользователь выбрал каталог для сохранения или установил флажок, позволяющий выбирать каталог при каждом скачивании файла.
Эта политика отменяет действие политики DefaultDownloadDirectory.
Если политика находится в состоянии Не сконфигурировано, браузер Chromium скачивает файлы в каталог по умолчанию, а пользователь может его изменить.
Список переменных можно посмотреть на странице
https://www.chromium.org/administrators/policy-list-3/user-data-directory-variables
|
|
Доступ к поисковой системе по умолчанию в контекстном меню
|
DefaultSearchProviderContextMenuAccessAllowed
|
Позволяет использовать поисковую систему по умолчанию в контекстном меню.
Если политика находится в состоянии Включено или Не сконфигурировано, поиск в системе по умолчанию будет доступен в контекстном меню.
Если политика находится в состоянии Отключено, поиск будет недоступен в контекстном меню.
Значение этой политики применяется только в том случае, если включена политика Включить поисковую систему по умолчанию
|
|
Доступность режима инкогнито
|
IncognitoModeAvailability
|
Определяет, может ли пользователь просматривать страницы в Chromium в режиме инкогнито.
Если политика находится в состоянии Включено или значение не задано, страницы можно открывать в режиме инкогнито.
Если политика находится в состоянии Отключено, пользователи не смогут открывать страницы в режиме инкогнито.
Если для политики выбрано значение Включить принудительно, страницы можно просматривать ТОЛЬКО в режиме инкогнито
|
|
Удаление истории просмотров и загрузок браузера
|
AllowDeletingBrowserHistory
|
Определяет, может ли пользователь удалять историю просмотров и скачиваний.
Если политика находится в состоянии Включено или Не сконфигурировано, то историю просмотров и скачиваний можно удалить.
Если политика находится в состоянии Отключено, то историю просмотров и скачиваний удалить нельзя
|
|
Разрешить вызов окна выбора файлов
|
AllowFileSelectionDialogs
|
Если политика находится в состоянии Включено или Не сконфигурировано, то пользователи смогут открывать в Chromium окна выбора файлов.
Если политика находится в состоянии Отключено, и пользователь выполняет действия, для которых нужно открыть окно выбора файлов (например, импортирует закладки, загружает файлы, сохраняет ссылки и т.д.), вместо окна отображается сообщение и предполагается, что пользователь нажал кнопку в окне выбора файлов
|
|
Включить поисковые подсказки
|
SearchSuggestEnabled
|
Если политика находится в состоянии Включено, в адресной строке Chromium при поиске будут появляться подсказки.
Если политика находится в состоянии Отключено, поисковые подсказки не отображаются.
Эта политика не влияет на показ в строке поиска закладок и страниц из истории просмотров.
Если политика настроена, пользователи не могут изменить её. Если политика не сконфигурирована, подсказки при поиске будут включены, но пользователи смогут отключить их в любое время
|
|
Настройка изображений по умолчанию
|
DefaultImagesSetting
|
Если политика находится в состоянии Включено и выбрано значение 1 — Разрешить показ изображений на всех сайтах, на всех сайтах могут показываться изображения. При значении 2 — Запретить показ изображений на всех сайтах, показ изображений на сайтах запрещен.
Если политика находится в состоянии Не сконфигурировано, показ изображений разрешен, но пользователи могут изменять этот параметр
|
|
Разрешить полноэкранный режим
|
FullscreenAllowed
|
Если политика находится в состоянии Включено или Не сконфигурировано, то при наличии необходимых разрешений пользователи, приложения и расширения смогут включать полноэкранный режим, в котором виден только контент веб-страниц.
Если политика находится в состоянии Отключено, то полноэкранный режим будет заблокирован для всех пользователей, приложений и расширений
|
|
Управляемые закладки
|
ManagedBookmarks
|
Политика позволяет установить список закладок в Chromium.
Если политика настроена, будет создан список закладок Каждая закладка представляет собой словарь, где ключам name и url соответствуют значения — название закладки и URL-адрес сайта ([{"name": "Документация","url": "docs.altlinux.org"},{"name": "Wiki","url": "altlinux.org"}]).
По умолчанию папка называется «Управляемые закладки». Чтобы изменить это название, необходимо добавить в правило дополнительный словарь с единственным ключом
toplevel_name и названием папки в качестве значения. Можно также задать подпапку для закладок. Для этого вместо ключа url следует использовать ключ children, а в качестве его значения указать список вложенных закладок или папок ([{"toplevel_name":"ALT"},{"name":"BaseALT","url":"basealt.ru"}, {"name":"ALT docs","children":[{"name": "Документация","url": "docs.altlinux.org"}, {"name": "Wiki","url": "altlinux.org"}]}]).
Chromium дополняет неполные URL так же, как при их вводе в адресной строке. Например, адрес altlinux.org будет преобразован в
https://altlinux.org/.
Пользователи не смогут изменять папки с закладками, а только скрывать их на панели. Управляемые закладки не синхронизируются с аккаунтом пользователя, а расширения не могут их изменять
|
|
Включить анонимный сбор данных о URL
|
UrlKeyedAnonymizedDataCollectionEnabled
|
Если политика находится в состоянии Включено, то всегда выполняется анонимный сбор данных о URL (эти сведения отправляются в Google с целью улучшить поиск и просмотр веб-страниц).
Если политика находится в состоянии Отключено, сбор данных о URL не выполняется.
Если политика находится в состоянии Не сконфигурировано, пользователь может разрешить или запретить анонимный сбор данных о URL
|
|
Удаление данных о работе в браузере при выходе
|
ClearBrowsingDataOnExitList
|
Политика позволяет настроить список данных о работе в браузере, которые должны удаляться, когда пользователь закрывает все окна браузера.
Можно указать следующие типы данных:
У этой политики нет приоритета над политикой Удаление истории просмотров и загрузок браузера.
Эта политика работает, если политика Отключить синхронизацию данных с Google находится в состоянии Включено. В противном случае политика игнорируется.
Если Chromium закрывается непредвиденно (например, из-за сбоя в работе браузера или ОС), данные о работе в браузере удаляются при следующей загрузке профиля.
Если политика находится в состоянии Отключено, то данные о работе, при закрытии браузера, не удаляются
|
|
Отключить синхронизацию данных с Google
|
SyncDisabled
|
Если политика находится в состоянии Включено, синхронизация данных в Chromium с помощью сервисов, размещенных в Google, отключается.
Полностью отключить сервис «Chrome Sync» можно через Google Admin console.
Если политика находится в состоянии Отключено или Не сконфигурировано, пользователи могут самостоятельно решать, использовать ли им сервис «Chrome Sync»
|
|
Включает гостевой режим в браузере
|
BrowserGuestModeEnabled
|
Если политика находится в состоянии Включено или Не сконфигурировано, разрешается использовать гостевой доступ. При гостевом доступе все окна для профилей Chromium открываются в режиме инкогнито.
При гостевом доступе все окна для профилей Chromium открываются в режиме инкогнито.
Если политика находится в состоянии Отключено, в браузере не разрешается использовать гостевые профили
|
|
Задать объем кеша в байтах
|
DiskCacheSize
|
Если для политики задано значение None, Chromium использует объем кеша по умолчанию для хранения кешированных файлов на диске. В этом случае пользователи не могут изменить правило.
Если политика находится в состоянии Включено Chromium будет использовать указанный размер кеша независимо от того, указали ли пользователи значение экспериментального параметра
--disk-cache-size. Объем кеша задается в байтах, например, чтобы задать размер кеша 300МБ, необходимо указать 314572800. Значения меньше нескольких мегабайтов округляются.
Если политика находится в состоянии Не сконфигурировано, Chromium использует объем по умолчанию. В этом случае пользователи могут менять размер кеша с помощью экспериментального параметра
--disk-cache-size.
Указанное в правиле значение используется различными подсистемами в браузере как справочное. Поэтому фактический объем используемого дискового пространства может превышать указанное значение, но будет иметь такой же порядок
|
|
Список разрешенных серверов для аутентификации
|
AuthServerAllowlist
|
Это правило указывает, какие серверы можно использовать для встроенной проверки подлинности Windows (IWA). Встроенная проверка подлинности включается, только когда Chromium получает запрос на аутентификацию от прокси-сервера или от сервера из списка разрешенных.
Если политика находится в состоянии Не сконфигурировано, Chromium отвечает на запросы IWA только после того, как определяет, находится ли сервер в интранете. Если сервер находится в Интернете, Chromium игнорирует поступающие от него IWA запросы (веб-сайту не разрешается использовать аутентификацию SPNEGO с помощью браузера).
Названия серверов нужно разделять запятыми. Допустимы подстановочные знаки (*)
|
|
Управление расширениями (Позволяет управлять расширениями)
|
ExtensionSettings
|
Это правило контролирует настройки управления расширениями в Chromium, включая те, которые заданы другими правилами. Оно заменяет любые ранее действовавшие правила.
Если политика находится в состоянии Отключено или Не сконфигурировано, пользователи могут самостоятельно настраивать расширения.
Если политика находится в состоянии Включено, настройки расширений задает администратор с помощью кода, указанного в параметрах политики:
Пример значения:
{
"hdokiejnpimakedhajhdlcegeplioahd": {
"installation_mode": "force_installed",
"update_url": "https://clients2.google.com/service/update2/crx"
},
"pioclpoplcdbaefihamjohnefbikjilc": {
"installation_mode": "force_installed",
"update_url": "https://clients2.google.com/service/update2/crx"
}
}
Параметры политики:
|
policies.json и применяет параметры групповых политик. Групповые политики на основе policies.json предоставляют кроссплатформенную совместимость, что позволяет управлять браузерами в любом дистрибутиве Альт с установленным окружением рабочего стола.
policies.json в зависимости от версии веб-браузера Firefox:
/etc/firefox/policies — новые версии;
/usr/lib64/firefox/distribution — старые версии.
Примечание
Примечание
about:policies#active:




{GUID GPT}/Machine/Registry.pol. Пример файла Registry.pol:
PReg[Software\Policies\Mozilla\Firefox\Homepage;URL;;;https://basealt.ru] [Software\Policies\Mozilla\Firefox\Homepage;Locked;;;]
about:policies#documentation.
Таблица 34.46. Настройки веб-браузера Mozilla Firefox
|
Политика
|
Ключ
|
Описание
|
|---|---|---|
|
Менеджер паролей
|
PasswordManagerEnabled
|
Позволяет запретить доступ к менеджеру паролей через настройки и блокирует about:logins.
Если эта политика находится в состоянии Включено или Не сконфигурировано, менеджер паролей доступен в настройках и на странице about:logins.
Если эта политика находится в состоянии Отключено, Firefox запрещает доступ к менеджеру паролей через настройки и блокирует about:logins
|
|
Отключить создание мастер-пароля
|
DisableMasterPasswordCreation
|
Позволяет отключить возможность установить мастер-пароль (основной пароль).
Если эта политика находится в состоянии Отключено или Не сконфигурировано, пользователи могут создать мастер-пароль.
Если эта политика находится в состоянии Включено, то она работает так же, как установка политики Основной (главный) пароль состояние Отключено, и пользователи не могут создать мастер-пароль.
Если используются и политика «Отключить создание мастер-пароля», и «Основной (главный) пароль», то политика Отключить создание мастер-пароля имеет приоритет
|
|
Предлагать сохранить логины
|
OfferToSaveLogins
|
Позволяет настроить будет ли Firefox предлагать запоминать сохранённые логины и пароли.
Если политика находится в состоянии Отключено, Firefox не будет предлагать сохранять логины и пароли веб-сайтов.
Если политика находится в состоянии Включено или Не сконфигурировано, Firefox будет предлагать сохранять логины и пароли веб-сайтов
|
|
Отключить инструменты разработчика
|
DisableDeveloperTools
|
Позволяет управлять доступом к инструментам разработчика.
Если политика находится в состоянии Включено, инструменты веб-разработчика недоступны в Firefox.
Если политика находится в состоянии Отключено или Не сконфигурировано, инструменты веб-разработчика доступны в Firefox
|
|
Отключить приватный просмотр
|
DisablePrivateBrowsing
|
Запрещает доступ к приватному просмотру.
Если политика находится в состоянии Включено, приватный просмотр запрещен.
Если политика находится в состоянии Отключено или Не сконфигурировано, приватный просмотр разрешен
|
|
Нет закладок по умолчанию
|
NoDefaultBookmarks
|
Отключает создание закладок по умолчанию (идущих вместе с Firefox), и смарт-закладки (часто посещаемые, недавние).
Если политика находится в состоянии Включено, закладки по умолчанию и смарт-закладки (наиболее посещаемые, недавние теги) не создаются.
Если политика находится в состоянии Отключено или Не сконфигурировано, создаются закладки по умолчанию и смарт-закладки (наиболее посещаемые, последние теги).
Примечание: эта политика эффективна только в том случае, если она используется до первого запуска профиля
|
|
Запрос места загрузки
|
PromptForDownloadLocation
|
Позволяет указать должен ли пользователь выбирать каталог для загружаемых файлов
Если политика находится в состоянии Отключено, файлы будут сохраняться в каталог, указанный в настройках (пользователю не предлагается указать место для загрузки файла).
Если политика находится в состоянии Включено, пользователю будет всегда выдаваться запрос на сохранение файла.
Если политика находится в состоянии Не сконфигурировано, пользователю будет выдаваться запрос на сохранение файла, но он может изменить значение по умолчанию
|
|
Отключить историю форм
|
DisableFormHistory
|
Отключает запоминание истории поиска и данных форм.
Если политика находится в состоянии Включено, Firefox не запоминает историю форм или поиска.
Если политика находится в состоянии Отключено или Не сконфигурировано, Firefox будет помнить историю форм и поиска
|
|
Блокировка редактора настроек (about:config)
|
BlockAboutConfig
|
Блокирует доступ к странице about:config.
Если эта политика находится в состоянии Включено, пользователь не может получить доступ к about:config.
Если политика находится в состоянии Отключено или Не сконфигурировано, пользователь может получить доступ к about:config
|
|
Блокировка страницы управления профилями (about:profiles)
|
BlockAboutProfiles
|
Блокирует доступ к странице управления профилями (about:profiles).
Если политика находится в состоянии Включено, пользователь не может получить доступ к профилям about:profiles.
Если политика находится в состоянии Отключено или Не сконфигурировано, пользователь может получить доступ к профилям about:profiles
|
|
Блокировка информации об устранении неполадок
|
BlockAboutSupport
|
Блокирует доступ к странице about:support.
Если политика находится в состоянии Включено, пользователь не может получить доступ к информации для устранения неполадок или about:support.
Если политика находится в состоянии Отключено или Не сконфигурировано, пользователь может получить доступ к информации для устранения неполадок или about:support
|
|
Captive Portal (портал захвата)
|
CaptivePortal
|
Включает или отключает тест соединения (поддержку перехватывающего портала).
Если политика находится в состоянии Отключено, то поддержка captive portal отключена.
Если политика находится в состоянии Включено или Не сконфигурировано, то поддержка captive portal включена.
Примечание: Браузер Mozilla Firefox при запуске проверяет, требует ли используемое сетевое соединение вход в систему. Во время теста Firefox пытается подключиться к
http://detectportal.firefox.com/success.txt, чтобы проверить возможность соединения с этим адресом. Этот адрес также используется для проверки поддержки активного сетевого соединения IPv6. Отключение этой функциональности уменьшает количество автоматических подключений и может немного ускорить запуск браузера
|
|
Отключить встроенную программу просмотра PDF (PDF.js)
|
DisableBuiltinPDFViewer
|
Отключает PDF.js, встроенный просмотрщик PDF в Firefox.
Если политика находится в состоянии Включено, файлы PDF не просматриваются в Firefox.
Если политика находится в состоянии Отключено или Не сконфигурировано, файлы PDF просматриваются в Firefox
|
|
Отключить команды обратной связи
|
DisableFeedbackCommands
|
Отключает команды отправки отзывов в меню ( и ).
Если политика находится в состоянии Включено, пункты меню и недоступны из меню .
Если политика находится в состоянии Отключено или Не сконфигурировано, пункты меню и доступны из меню
|
|
Отключить снимки экрана Firefox
|
DisableFirefoxScreenshots
|
Отключает функцию Firefox Screenshots.
Если политика находится в состоянии Включено, снимки экрана Firefox недоступны.
Если политика находится в состоянии Отключено или Не сконфигурировано, доступны снимки экрана Firefox
|
|
Отключить учетные записи Firefox
|
DisableFirefoxAccounts
|
Отключает службы, основанные на Аккаунте Firefox, включая синхронизацию.
Если политика находится в состоянии Включено, учетные записи Firefox отключены, в том числе отключена синхронизация.
Если политика находится в состоянии Отключено или Не сконфигурировано, доступны Аккаунты Firefox и синхронизация
|
|
Отключить исследования Firefox
|
DisableFirefoxStudies
|
Запрещает Firefox выполнять исследования.
Если политика находится в состоянии Включено, Firefox никогда не будет проводить исследования SHIELD или опросы Heartbeat.
Если политика находится в состоянии Отключено или Не сконфигурировано, пользователь может включить исследования SHIELD или опросы Heartbeat.
Для получения дополнительной информации см.
https://support.mozilla.org/en-US/kb/shield и https://wiki.mozilla.org/Firefox/Shield/Heartbeat
|
|
Отключить кнопку «Забыть»
|
DisableForgetButton
|
Закрывает доступ к кнопке .
Если политика находится в состоянии Включено, кнопка недоступна.
Если политика находится в состоянии Отключено или Не сконфигурировано, кнопка доступна
|
|
Запретить показывать пароли в сохраненных логинах
|
DisablePasswordReveal
|
Не позволяет просматривать пароли у сохранённых логинов.
Если политика находится в состоянии Включено, пользователи не могут отображать пароли в сохраненных логинах.
Если политика находится в состоянии Отключено или Не сконфигурировано, пользователи могут отображать пароли в сохраненных логинах
|
|
Отключить Pocket
|
DisablePocket
|
Отключает сохранение страниц в Pocket.
Если политика находится в состоянии Включено, Pocket недоступен.
Если политика находится в состоянии Отключено или Не сконфигурировано, Pocket доступен.
Примечание: Pocket — это специальный сервис для хранения различной информации, найденной в ходе веб-сёрфинга
|
|
Отключить импорт профиля
|
DisableProfileImport
|
Отключает команду меню для импорта данных из другого браузера.
Если политика находится в состоянии Включено, опция в окне закладок недоступна.
Если политика находится в состоянии Отключено или Не сконфигурировано, опция доступна
|
|
Отключить обновление профиля
|
DisableProfileRefresh
|
Отключает кнопку на странице about:support.
Если политика находится в состоянии Включено, кнопка будет недоступна на странице about:support.
Если эта политика отключена или не сконфигурирована, кнопка будет доступна
|
|
Отключить безопасный режим
|
DisableSafeMode
|
Отключает функцию для перезапуска в безопасном режиме.
Если политика находится в состоянии Включено, пользователь не может перезапустить браузер в безопасном режиме.
Если политика находится в состоянии Отключено или Не сконфигурировано, безопасный режим разрешен
|
|
Не проверять браузер по умолчанию
|
DontCheckDefaultBrowser
|
Отключает проверку браузера по умолчанию при запуске.
Если политика находится в состоянии Включено, Firefox не проверяет, является ли он браузером по умолчанию при запуске.
Если политика находится в состоянии Отключено или Не сконфигурировано, Firefox при запуске проверяет, является ли он браузером по умолчанию
|
|
Аппаратное ускорение
|
HardwareAcceleration
|
Отключает аппаратное ускорение.
Если политика находится в состоянии Отключено, аппаратное ускорение не может быть включено.
Если политика находится в состоянии Включено или Не сконфигурировано, включено аппаратное ускорение
|
|
Основной (главный) пароль
|
PrimaryPassword
|
Позволяет установить следует ли требовать или не давать использовать мастер-пароль.
Если политика находится в состоянии Отключено, пользователи не могут создать основной пароль.
Если политика находится в состоянии Включено или Не сконфигурировано, пользователи могут создать основной пароль
|
|
Прогнозирование сети
|
NetworkPrediction
|
Включает или отключает прогнозирование сети (предварительная выборка DNS).
Предварительная выборка DNS — это технология, используемая Firefox для ускорения загрузки новых веб-сайтов.
Если политика находится в состоянии Отключено, прогнозирование сети (предварительная выборка DNS) будет отключено.
Если политика находится в состоянии Включено или Не сконфигурировано, будет включено прогнозирование сети (предварительная выборка DNS)
|
|
Новая вкладка
|
NewTabPage
|
Включает или отключает страницу новой вкладки.
Если эта политика находится в состоянии Отключено, в новой вкладке будет загружена пустая страница.
Если эта политика в состоянии Включено или Не сконфигурировано, в новой вкладке будет загружена страница по умолчанию
|
|
Подсказки по поиску
|
SearchSuggestEnabled
|
Включает или отключает поисковые предложения.
Если эта политика находится в состоянии Отключено, поисковые подсказки будут отключены.
Если эта политика в состоянии Включено, поисковые подсказки будут включены.
Если эта политика в состоянии Не сконфигурировано, поисковые подсказки будут включены, но пользователь может отключить их
|
|
Показывать кнопку «Домашняя страница» на панели инструментов
|
ShowHomeButton
|
Включает кнопку на панели инструментов.
Если политика находится в состоянии Отключено, кнопка не будет отображаться на панели инструментов.
Если политика находится в состоянии Включено, кнопка отображается на панели инструментов
|
|
Блокировка менеджера дополнений (about:addons)
|
BlockAboutAddons
|
Блокирует доступ к менеджеру дополнений (about:addons).
Если политика находится в состоянии Отключено или Не сконфигурировано пользователь может получить доступ к менеджеру дополнений (about:addons).
Если политика находится в состоянии Включено, пользователь не может получить доступ к менеджеру дополнений (about:addons)
|
|
URL для домашней страницы
|
Homepage
|
Устанавливает URL домашней страницы при старте браузера и, если необходимо, блокирует её смену.
Если политика находится в состоянии Отключено или Не сконфигурировано, пользователь может установить и изменить домашнюю страницу.
Если политика находится в состоянии Включено, можно установить домашнюю страницу по умолчанию, а также заблокировать возможность изменения домашней страницы
|
|
SPNEGO
|
SPNEGO
|
Включает аутентификацию через SPNEGO/Kerberos.
Если политика находится в состоянии Отключено или Не сконфигурировано, никаким веб-сайтам не разрешается использовать аутентификацию SPNEGO с помощью браузера.
Если политика находится в состоянии Включено, указанным веб-сайтам разрешается использовать аутентификацию SPNEGO в браузере. Записи в списке имеют формат altlinux.org или https://altlinux.org
|
|
Не разрешать изменять настройки аутентификации
|
Authentication Locked
|
Блокирует настройки аутентификации от изменений пользователем.
Если политика находится в состоянии Включено или Не сконфигурировано, пользователь не может изменить параметры проверки подлинности.
Если политика находится в состоянии Отключено, пользователь может изменить параметры проверки подлинности
|
|
Разрешить неполное доменное имя (Non FQDN)
|
Authentication AllowNonFQDN
|
Разрешить SPNEGO или NTLM для неполных доменных имен (Non FQDN).
Если политика находится в состоянии Отключено или Не сконфигурировано, NTLM и SPNEGO не будут включены для неполных доменных имен.
Если политика находится в состоянии Включено (и флажки отмечены), SPNEGO или NTLM будут включены для неполных доменных имен (Non FQDN)
|
|
Расширения для установки
|
Extensions\Install
|
Задаёт список URL-адресов или собственных путей для устанавливаемых расширений.
Если политика находится в состоянии Отключено или Не сконфигурировано, расширения не устанавливаются.
Если политика находится в состоянии Включено, можно указать список URL-адресов или путей расширений, которые будут устанавливаться при запуске Firefox. При каждом изменении этого списка политики будут переустанавливаться.
URL политики необходимо задавать в формате *.xpi (например,
https://addons.mozilla.org/firefox/downloads/file/3450175/adapter_rutoken_plugin-1.0.5.0.xpi). Можно также указать путь на локальный каталог, в который политикой копирования файлов скопировать расширение в формате *.xpi
|
|
Управление расширениями
|
ExtensionSettings
|
Это правило позволяет управлять всеми аспектами расширений.
Политика сопоставляет идентификатор расширения с его конфигурацией. Если указан идентификатор расширения, конфигурация будет применяться только к указанному расширению. Конфигурация по умолчанию может быть установлена для специального идентификатора *, который будет применяться ко всем расширениям, для которых не задана пользовательская конфигурация в этой политике.
Чтобы получить идентификатор расширения, можно установите расширение и посмотреть идентификатор на странице about:support в разделе Расширения.
Если политика находится в состоянии Отключено или Не сконфигурировано, расширения не будут управляться.
Если политика находится в состоянии Включено, можно использовать JSON для описания политики управления расширениями.
Пример JSON:
{
"*": {
"blocked_install_message": "Custom error message"
},
"adblockultimate@adblockultimate.net": {
"installation_mode": "force_installed",
"install_url": "file:///home/user/file.xpi"
},
"rutokenplugin@rutoken.ru": {
"installation_mode": "force_installed",
"install_url": "https://addons.mozilla.org/…/plugin.xpi"
}
}
Конфигурация для каждого расширения — это еще один словарь, который может содержать следующие поля:
|
/etc/opt/yandex/browser/policies/managed/policies.json и применяет параметры групповых политик. Групповые политики на основе policies.json предоставляют кроссплатформенную совместимость, что позволяет управлять браузерами в любом дистрибутиве Альт с установленным окружением рабочего стола.
Примечание
/etc/opt/yandex/browser/policies/managed/policies_local.json и вносить изменения в него. При коллизиях будет применена последняя прочитанная настройка.
Примечание
browser://policy:




{GUID GPT}/Machine/Registry.pol. Пример файла Registry.pol:
Preg[Software\Policies\YandexBrowser;BlockExternalExtensions;;;] [Software\Policies\YandexBrowser\URLBlocklist;https://mail.ru;; ;https://mail.ru] [Software\Policies\YandexBrowser\AutoOpenFileTypes;pdf;;pdf] [Software\Policies\YandexBrowser;HomepageLocation;;4;https://docs.altlinux.org]
browser://policy/ и установив отметку на пункте Показывать правила, значения которых не заданы.
Таблица 34.47. Настройки «Яндекс.Браузера»
|
Политика
|
Ключ
|
Описание
|
|---|---|---|
|
Включить или отключить панель закладок
|
BookmarkBarEnabled
|
Политика позволяет принудительно включить или принудительно отключить панель закладок в «Яндекс.Браузере».
Если политика находится в состоянии Включено, панель закладок отображается.
Если политика находится в состоянии Отключено, панель закладок не отображается.
Если политика находится в состоянии Не сконфигурировано, пользователь может самостоятельно решать, включить или отключить панель закладок
|
|
Настроить закладки
|
EditBookmarksEnabled
|
Политика включает или отключает возможность изменения закладок.
Если политика находится в состоянии Включено или Не сконфигурировано, пользователи могут добавлять, изменять и удалять закладки.
Если политика находится в состоянии Отключено, пользователи не могут добавлять, изменять и удалять закладки. Закладки, созданные до отключения политики, останутся доступными
|
|
Задать форматы файлов, которые будут автоматически открываться после скачивания
|
AutoOpenFileTypes
|
Политика позволяет задать форматы файлов, которые будут автоматически открываться после скачивания.
Если политика находится в состоянии Включено, в ней можно перечислить форматы файлов (без точки), которые будут автоматически открываться после скачивания (например, txt, jpg).
Если политика находится в состоянии Отключено или Не сконфигурировано, после скачивания будут автоматически открываться файлы только тех форматов, которые выбрал пользователь в контекстном меню загруженного файла (например, «Открывать JPG автоматически»)
|
|
Запретить открывать файлы офисных форматов в браузере
|
CloudDocumentsDisabled
|
Политика запрещает пользователям открывать файлы офисных форматов в браузере.
Если политика находится в состоянии Отключено или Не сконфигурированно, пользователь может открывать в браузере файлы офисных форматов.
Если политика находится в состоянии Включено, пользователю запрещено открывать в браузере файлы офисных форматов
|
|
Настроить показ всплывающих окон
|
DefaultPopupsSetting
|
Политика разрешает или запрещает всплывающие окна на всех сайтах.
Если политика находится в состоянии Отключено или Не сконфигурировано, всплывающие окна блокируются на всех сайтах. Пользователи могут разрешать или блокировать всплывающие окна в настройках браузера.
Если политика находится в состоянии Включено, администратор может определить режим применения политики:
|
|
Разрешить полноэкранный режим
|
FullscreenAllowed
|
Политика разрешает или запрещает активацию полноэкранного режима. В этом режиме все элементы интерфейса «Яндекс.Браузера» скрыты, и на экране отображается только содержимое сайта.
Если политика находится в состоянии Включено или Не сконфигурировано, пользователи могут активировать полноэкранный режим, нажав F11. Полноэкранный режим может быть активирован приложениями и расширениями, если у них есть на это разрешения.
Если политика находится в состоянии Отключено, полноэкранный режим отключен для всех пользователей, приложений и расширений
|
|
Задать URL домашней страницы
|
HomepageLocation
|
Политика задает URL домашней страницы. Если в качестве домашней страницы задана страница быстрого доступа, политика не будет работать.
Если политика находится в состоянии Отключено или Не сконфигурировано, пользователи могут сами установить URL домашней страницы в настройках браузера.
Если политика находится в состоянии Включено, можно установить домашнюю страницу по умолчанию. URL должен иметь стандартный вид (например,
https://altlinux.org).
Домашняя страница откроется, если в последний раз браузер был закрыт без вкладок или сочетанием клавиш Alt+Home. Пользователи не могут менять домашнюю страницу в браузере
|
|
Отключить контекстное меню для выделенного текста
|
InstaserpDisabled
|
Политика позволяет отключить контекстное меню, всплывающее при выделении текста на странице.
Если политика находится в состоянии Включено, контекстное меню не показывается, пользователи не могут включить его в настройках (опция При выделении текста показывать кнопки «Найти» и «Копировать» неактивна).
Если политика находится в состоянии Отключено, контекстное меню показывается, пользователи не могут отключить его в настройках.
Если политика находится в состоянии Не сконфигурировано, контекстное меню показывается, пользователи могут отключить его в настройках
|
|
Отображать боковую панель
|
SidePanelMode
|
Политика позволяет настроить режим отображения боковой панели и запретить пользователям его менять.
Если политика находится в состоянии Отключено или Не сконфигурировано, пользователи могут самостоятельно настроить режим отображения боковой панели.
Если политика находится в состоянии Включено, администратор может выбрать режим отображения боковой панели:
|
|
Включить автозаполнение адресов
|
AutofillAddressEnabled
|
Политика разрешает пользователям автозаполнение адресов.
Если политика находится в состоянии Включено или Не сконфигурировано, автозаполнение адресов включено.
Если политика находится в состоянии Отключено, автозаполнение адресов отключено, введенные адреса не сохраняются
|
|
Настроить режим Инкогнито
|
IncognitoModeAvailability
|
Политика определяет, могут ли пользователи включать режим «Инкогнито».
Если политика находится в состоянии Не сконфигурировано, пользователи могут открывать страницы в режиме Инкогнито.
Если политика находится в состоянии Включено, администратор может определить режим применения политики:
Если политика находится в состоянии Отключено, пользователи могут просматривать страницы только в обычном режиме
|
|
Запретить использовать мастер-пароль
|
MasterPasswordDisabled
|
Политика запрещает пользователям использовать мастер-пароль.
Если политика находится в состоянии Отключено или Не сконфигурировано, пользователь может использовать мастер-пароль.
Если политика находится в состоянии Включено, мастер-пароль в браузере отключен
|
|
Разрешить сохранять пароли
|
PasswordManagerEnabled
|
Политика разрешает сохранять пароли в браузере и автоматически подставлять их при авторизации на сайтах.
Если политика находится в состоянии Не сконфигурировано, сохранение паролей в браузере включено. Пользователи могут включать и отключать сохранение паролей.
Если политика находится в состоянии Включено, сохранение паролей включено. Пользователи не могут включать и отключать сохранение паролей.
Если политика находится в состоянии Отключено, сохранение новых паролей отключено. Пользователи могут использовать уже сохраненные пароли. Пользователи не могут включать и отключать сохранение паролей
|
|
Запретить сохранять историю просмотров
|
SavingBrowserHistoryDisabled
|
Политика запрещает сохранять историю просмотров и синхронизировать открытые вкладки. При синхронизации информация передается на сервер Яндекса по защищенному каналу.
Если политика находится в состоянии Отключено или Не сконфигурировано, история посещенных страниц сохраняется в журнале браузера. Вкладки и Табло синхронизируются с сервером Яндекса. Пользователи могут импортировать историю из других браузеров.
Если политика находится в состоянии Включено, история посещенных страниц не сохраняется в журнале браузера. Пользователи не могут включить сохранение истории посещенных страниц. Только Табло синхронизируются с сервером Яндекса. Возможность переноса истории вручную отключена
|
|
Выбрать папку кеша на диске
|
DiskCacheDir
|
Политика определяет место хранения данных кеша. Чтобы не потерять данные, не следует указывать в политике корневую папку или папку, которая используется в других целях.
Если политика находится в состоянии Отключено или Не сконфигурировано, браузер использует папку по умолчанию, однако пользователи могут ее изменить с помощью параметра
disk-cache-dir.
Если политика находится в состоянии Включено, браузер хранит кеш на диске в заданной администратором папке. Пользователи не могут ее изменить с помощью параметра
disk-cache-dir
|
|
Задать объём кеша в байтах
|
DiskCacheSize
|
Политика позволяет задать объем кеша в байтах. Значение используется различными подсистемами в браузере как справочное. Поэтому фактический объем используемого дискового пространства может превышать указанное значение, но будет иметь такой же порядок.
Если политика находится в состоянии Не сконфигурировано, браузер использует объем кеша по умолчанию.
Если политика находится в состоянии Включено, браузер использует заданный размер кеша независимо от параметра
--disk-cache-size. Указывается максимальный размер кеша в байтах. Например, 104857600 — это 100 МБ.
Если политика находится в состоянии Отключено, браузер использует объем кеша по умолчанию, но пользователи могут менять размер кеша с помощью параметра
--disk-cache-size
|
|
Блокировать внешние расширения
|
BlockExternalExtensions
|
Политика позволяет запретить установку внешних расширений.
Если политика находится в состоянии Отключено или Не сконфигурировано, установка внешних расширений разрешена.
Если политика находится в состоянии Включено, установка внешних расширений запрещена
|
|
Блокировать URL'ы из заданного списка
|
URLBlocklist
|
Политика блокирует доступ к URL и локальным файлам, которые внесены в черный список.
Если политика находится в состоянии Отключено или Не сконфигурировано, браузер не блокирует URL.
Если политика находится в состоянии Включено, страницы запрещенных URL не загружаются. В политике можно перечислить шаблоны запрещенных URL. Политика не действует на URL со встроенным кодом JavaScript и динамически загружаемые данные.
Общий формат шаблона URL: scheme://host:port/path, где:
Общий формат шаблона локального файла file://path, где:
|
|
Задать исключения для политики URLBlocklist (Разрешить доступ к списку URL)
|
URLAllowlist
|
Политика позволяет внести в белый список URL или локальный файл. Белый список разрешает доступ к явно перечисленным в нем URL и файлам, даже если они попадают под действие шаблонов из черного списка (см. описание политики Блокировать URL'ы из заданного списка).
Если политика находится в состоянии Отключено или Не сконфигурировано, исключений из правила URLBlocklist нет.
Если политика находится в состоянии Включено, указанные URL становятся доступны пользователям и считаются исключениями из правила URLBlocklist. Политика позволяет настроить исключения для определенных протоколов, субдоменов, отдельных доменов, портов или путей. Политика URLAllowlist имеет приоритет над правилом URLBlocklist. В этом правиле можно указать не более 1000 URL.
Форматы шаблонов см. в описании политики Блокировать URL'ы из заданного списка
|
|
Разрешить вызывать окно выбора файлов
|
AllowFileSelectionDialogs
|
Политика разрешает или запрещает отображать окно выбора файлов и управляет настройками загрузки.
Если политика находится в состоянии Включено или Не сконфигурировано, пользователи могут открывать окна выбора файлов (импорт закладок или паролей, загрузка файлов, сохранение ссылок и т.д.). Пользователи также могут сохранить файл с помощью контекстного меню и изменять настройки в разделе Загруженные файлы ( → → ).
Если политика находится в состоянии Отключено и пользователь выполняет действия, для которых нужно открыть окно выбора файла (например, импорт закладок, загрузка файлов, сохранение ссылок и т.д.), вместо окна отображается сообщение и имитируется нажатие пользователем кнопки в окне выбора файлов. Пользователи также не смогут сохранить файл из контекстного меню и изменять настройки в разделе Загруженные файлы
|
|
Ограничить инструменты разработчика
|
DeveloperToolsAvailability
|
Политика ограничивает использование инструментов разработчика.
Если политика находится в состоянии Отключено или Не сконфигурировано, инструменты разработчика и консоль JavaScript запрещены только для расширений, ограниченных корпоративной политикой.
Если политика находится в состоянии Включено можно установить ограничение на использование инструментов разработчика. Доступны следующие параметры:
|
|
Управлять настройками расширений
|
ExtensionSettings
|
Политика управляет настройками расширений в «Яндекс.Браузере». Заменяет любые другие политики по настройке расширений.
Если политика находится в состоянии Отключено или Не сконфигурировано, пользователи могут самостоятельно настраивать расширения.
Если политика находится в состоянии Включено, настройки расширений задает администратор с помощью кода, указанного в параметрах политики:
Пример значения:
{
"hdokiejnpimakedhajhdlcegeplioahd": {
"installation_mode": "force_installed",
"update_url": "https://clients2.google.com/service/update2/crx"
},
"pioclpoplcdbaefihamjohnefbikjilc": {
"installation_mode": "force_installed",
"update_url": "https://clients2.google.com/service/update2/crx"
}
}
Параметры политики:
|
Примечание
gpupdate, начиная с версии 0.12.0.
policies.json и применяет параметры групповых политик. Для Thunderbird файл policies.json расположен по адресу /etc/thunderbird/policies/. Групповые политики на основе policies.json предоставляют кроссплатформенную совместимость, что позволяет управлять почтовым клиентом в любом дистрибутиве «Альт» с установленным окружением рабочего стола.
Примечание
Примечание





{GUID GPT}/Machine/Registry.pol. Пример файла Registry.pol:
PReg [Software\Policies\Mozilla\Thunderbird;PrimaryPassword;;;] [Software\Policies\Mozilla\Thunderbird\Proxy;Mode;;;none] [Software\Policies\Mozilla\Thunderbird\Authentication;Locked;;;] [Software\Policies\Mozilla\Thunderbird;BlockAboutAddons;;;]
Таблица 34.48. Настройки почтового клиента Thunderbird
|
Политика
|
Ключ
|
Описание
|
|---|---|---|
|
Блокировка редактора настроек (about:config)
|
BlockAboutConfig
|
Блокирует доступ к странице about:config.
Если эта политика находится в состоянии Отключено или Не сконфигурировано, пользователь может получить доступ к about:config:
![]()
Если эта политика находится в состоянии Включено, пользователь не может получить доступ к редактору настроек about:config:
![]() |
|
Блокировка менеджера дополнений (about:addons)
|
BlockAboutAddons
|
Блокирует доступ к странице about:addons.
Если эта политика находится в состоянии Отключено или Не сконфигурировано, пользователь может получить доступ к менеджеру дополнений и к about:addons:
![]()
Если эта политика находится в состоянии Включено, пользователь не может получить доступ к менеджеру дополнений или к about:addons:
![]() |
|
Блокировка страницы управления профилями (about:profiles)
|
BlockAboutProfiles
|
Блокирует доступ к странице about:profiles.
Если политика находится в состоянии Отключено или Не сконфигурировано, пользователь может получить доступ к about:profiles:
![]()
Если политика находится в состоянии Включено, пользователь не может получить доступ к about:profiles
|
|
Отключить инструменты разработчика
|
DisableDeveloperTools
|
Блокирует доступ к инструментам разработчика.
Если политика находится в состоянии Включено, инструменты веб-разработчика недоступны в Thunderbird.
Если политика находится в состоянии Отключено или Не сконфигурировано, инструменты веб-разработчика доступны в Thunderbird
|
|
Каталог загрузки по умолчанию
|
DefaultDownloadDirectory
|
Устанавливает каталог для загрузок по умолчанию (переменную ${home} можно использовать для указания домашнего каталога пользователя).
Если политика находится в состоянии Включено, можно установить каталог по умолчанию для загрузок:
![]()
Если политика находится в состоянии Отключено или Не сконфигурировано, используется каталог загрузки Thunderbird по умолчанию:
![]() |
|
Каталог загрузки
|
DownloadDirectory
|
Устанавливает и фиксирует каталог для загрузок (переменную ${home} можно использовать для указания домашнего каталога пользователя).
Если политика находится в состоянии Включено, можно установить и заблокировать каталог для загрузок:
![]()
Если политика находится в состоянии Отключено или Не сконфигурировано, используется каталог загрузки Thunderbird по умолчанию, и пользователь может его изменить:
![]() |
|
Запрос места загрузки
|
PromptForDownloadLocation
|
Позволяет указать должен ли пользователь выбирать каталог для загружаемых файлов.
Если политика находится в состоянии Отключено, файлы будут сохраняться в каталог, указанный в настройках (пользователю не предлагается указать место для загрузки файла):
![]()
Если политика находится в состоянии Включено, пользователю будет всегда выдаваться запрос на сохранение файла:
![]()
Если политика находится в состоянии Не сконфигурировано, пользователю будет выдаваться запрос на сохранение файла, но он может изменить значение по умолчанию
|
|
Основной (главный) пароль
|
PrimaryPassword
|
Позволяет установить следует ли требовать или не давать использовать мастер-пароль.
Если политика находится в состоянии Включено, требуется основной пароль.
Если политика находится в состоянии Отключено пользователи не могут создать основной пароль.
Если политика находится в состоянии Не сконфигурировано, пользователи могут создать основной пароль
|
|
Отключить создание мастер-пароля
|
DisableMasterPasswordCreation
|
Позволяет отключить возможность установить мастер-пароль (основной пароль).
Если эта политика находится в состоянии Включено, пользователи не могут создать мастер-пароль:
![]()
Если политика находится в состоянии Отключено или Не сконфигурировано, пользователи могут создать мастер-пароль.
Если используются и политика «Отключить создание мастер-пароля», и «Основной (главный) пароль», то политика Отключить создание мастер-пароля имеет приоритет
|
|
Менеджер паролей
|
PasswordManagerEnabled
|
Позволяет запретить доступ к менеджеру паролей через настройки и блокировать about:logins.
Если политика находится в состоянии Отключено, менеджер паролей недоступен в настройках:
![]()
Если политика находится в состоянии Включено или Не сконфигурировано, менеджер паролей доступен в настройках
|
|
Отключить встроенную программу просмотра PDF (PDF.js)
|
DisableBuiltinPDFViewer
|
Отключает PDF.js, встроенный просмотрщик PDF в Thunderbird.
Если политика находится в состоянии Включено, файлы PDF не просматриваются в Thunderbird. Встроенный просмотрщик PDF отключается, PDF-файлы загружаются и отправляются во внешнюю среду.
Если политика находится в состоянии Отключено или Не сконфигурировано, файлы PDF просматриваются в Thunderbird:
![]() |
|
Настройка параметров прокси-сервера
|
||
|
Connection Type (Тип подключения)
|
Proxy/Mode
|
Позволяет указать тип подключения.
Если политика находится в состоянии Отключено или Не сконфигурировано, Thunderbird по умолчанию использует системный прокси-сервер.
Если политика находится в состоянии Включено, можно задать тип подключения:
|
|
HTTP Proxy
|
Proxy/HTTPProxy
|
Позволяет указать настройки HTTP Proxy.
Если политика находится в состоянии Включено, можно задать HTTP-прокси, используемый при указании ручной конфигурации прокси.
Если политика находится в состоянии Отключено или Не сконфигурировано, Thunderbird не использует HTTP-прокси
|
|
HTTPS Proxy
|
Proxy/HTTPSProxy
|
Позволяет указать настройки HTTPS Proxy.
Если политика находится в состоянии Включено, можно задать HTTPS-прокси, используемый при указании ручной конфигурации прокси.
Если политика находится в состоянии Отключено или Не сконфигурировано, Thunderbird не использует HTTPS-прокси
|
|
Do not allow proxy settings to be changed (Не разрешать изменять настройки прокси-сервера)
|
Proxy/Locked
|
Позволяет заблокировать настройки прокси-сервера.
Если политика находится в состоянии Включено, настройки прокси-сервера не могут быть изменены пользователем:
![]()
Если политика находится в состоянии Отключено или Не сконфигурировано, настройки прокси-сервера могут быть изменены пользователем
|
|
Use HTTP proxy for HTTPS (Использовать HTTP-прокси для HTTPS)
|
Proxy/UseHTTPProxyForAllProtocols
|
Позволяет указать, что для HTTPS следует использовать настройки HTTP-прокси.
Если политика находится в состоянии Включено, HTTP-прокси используется для HTTPS, когда указана ручная настройка прокси.
Если политика находится в состоянии Отключено или Не сконфигурировано, Thunderbird не использует HTTPS-прокси, если не указано иное
|
|
Do not prompt for authentication if password is saved (Не запрашивать аутентификацию, если пароль сохранен)
|
Proxy/AutoLogin
|
Позволяет указать не запрашивать аутентификацию, если пароль сохранен.
Если политика находится в состоянии Включено, Thunderbird не будет запрашивать аутентификацию прокси при сохранении пароля.
Если политика находится в состоянии Отключено или Не сконфигурировано, Thunderbird всегда будет запрашивать аутентификацию прокси
|
|
Proxy Passthrough
|
Proxy/Passthrough
|
Позволяет указать исключения (адреса, для которых не используется прокси).
Если политика находится в состоянии Включено, для указанных адресов настройки прокси-сервера не используются.
Если политика находится в состоянии Отключено или Не сконфигурировано, исключения не используются
|

Примечание

Примечание


Ярлыки в Program Files, необходимо ввести %ProgramFilesDir%\Ярлыки\Почта). Чтобы разместить ярлык в подпапке для выбранного размещения из списка, следует указать <название подпапки>\<имя ярлыка> в поле Название, например, чтобы разместить ярлык с именем Почта в подпапке Ярлыки в размещении Рабочий стол, необходимо ввести Ярлыки/Почта в поле Название и выбрать Рабочий стол в поле Место нахождения:


Предупреждение
{GUID GPT}/Machine/Preferences/Shortcuts/Shortcuts.xml
{GUID GPT}/User/Preferences/Shortcuts/Shortcuts.xml
Shortcuts.xml:
<?xml version="1.0" encoding="utf-8"?>
<Shortcuts clsid="{872ECB34-B2EC-401b-A585-D32574AA90EE}">
<Shortcut bypassErrors="0"
changed="2025-06-28 10:27:35"
clsid="{4F2F7C55-2790-433e-8127-0739D1CFA327}"
desc=""
image="0"
name="Почта"
removePolicy="0"
status=""
uid="{dfd45a36-4634-47d9-8a22-5f702fba21bc}"
userContext="0">
<Properties
action="U"
arguments=""
comment=""
iconPath="/usr/lib64/thunderbird/chrome/icons/default/default32.png"
pidl=""
shortcutPath="%DesktopDir%\Почта"
startIn=""
targetPath="/usr/bin/thunderbird"
targetType="FILESYSTEM"
window=""/>
</Shortcut>
</Shortcuts>


Примечание
/etc/skel;
/);
/usr/share/applications;
get_homedir(username));
get_desktop(username, variables['HOME'])).
Примечание
{GUID GPT}/Machine/Preferences/Folders/Folders.xml
{GUID GPT}/User/Preferences/Folders/Folders.xml
Folders.xml:
<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<Folders clsid="{77CC39E7-3D16-4f8f-AF86-EC0BBEE2C861}">
<Folder clsid="{07DA02F5-F9CD-4397-A550-4AE21B6B4BD3}"
bypassErrors="0"
changed="2025-06-11 10:28:23"
desc=""
image="0"
name="New"
removePolicy="0"
status=""
uid="{aa0c57c5-2b0a-4795-bc46-c1bd270c085c}" userContext="0">
<Properties action="C"
archive="0"
hidden="0"
path="%DesktopDir%/New"
readOnly="0"/>
</Folder>
</Folders>
[sectionA] var01=value01 [sectionB] var01=value01 var02=value02


{GUID GPT}/Machine/Preferences/Inifiles/Inifiles.xml
{GUID GPT}/User/Preferences/Inifiles/Inifiles.xml
Inifiles.xml:
<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<IniFiles clsid="{694C651A-08F2-47fa-A427-34C4F62BA207}">
<Ini changed="2025-06-11 10:45:13"
clsid="{EEFACE84-D3D8-4680-8D4B-BF103E759448}"
image="3"
name="version.ini"
status="version.ini"
uid="{ADAA9BCF-C2EA-4004-980F-CEDA823E3B91}"
bypassErrors="1">
<Properties path="C:\tmp\version.ini"
section=""
value=""
property="BP"
action="D"/>
</Ini>
<Ini clsid="{EEFACE84-D3D8-4680-8D4B-BF103E759448}"
name="BP"
status="BP"
image="2" changed="2025-06-11 09:45:23"
uid="{A7C4BF09-0032-41C0-8AA2-1B30DF8484DF}">
<Properties path="C:\Users\%LogonUser%\tmp\test.ini"
section="Version"
value="7.05"
property="BP"
action="U"/>
</Ini>
</IniFiles>


{GUID GPT}/Machine/Preferences/EnvironmentVariables/EnvironmentVariables.xml
{GUID GPT}/User/Preferences/EnvironmentVariables/EnvironmentVariables.xml
EnvironmentVariables.xml:
<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<EnvironmentVariables clsid="{BF141A63-327B-438a-B9BF-2C188F13B7AD}">
<EnvironmentVariable clsid="{78570023-8373-4a19-BA80-2F150738EA19}"
name="VAR"
status="VAR = value_1"
image="0"
changed="2025-06-11 10:56:23"
uid="{6738058D-5455-4D9A-9B84-78E87DDD18D7}"
desc="environment variable example"
bypassErrors="1">
<Properties
action="C"
name="VAR"
value="value_1"
user="1"
partial="0"/>
</EnvironmentVariable>
<EnvironmentVariable clsid="{78570023-8373-4a19-BA80-2F150738EA19}"
name="PATH"
status="PATH = value_2"
image="2"
changed="2025-06-11 10:56:55"
uid="{15E854D6-C338-4AD2-BF8D-72292B364BA3}">
<Properties
action="U"
name="PATH"
value="value_2"
user="0"
partial="1"/>
</EnvironmentVariable>
</EnvironmentVariables>
Примечание
$ env |grep имя_переменной
/etc/gpupdate/environment:
TEMP DEFAULT="C:\tmp" Var DEFAULT="Value1" HTTPS_PROXY DEFAULT="https://10.0.66.52:3128"
Примечание


Примечание
/etc/skel;
/);
/usr/share/applications;
get_homedir(username));
get_desktop(username, variables['HOME'])).
Примечание


Примечание
Примечание



chmod +x).
{GUID GPT}/Machine/Preferences/Files/Files.xml
{GUID GPT}/User/Preferences/Files/Files.xml
Files.xml:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Files clsid="{215B2E53-57CE-475c-80FE-9EEC14635851}">
<File bypassErrors="0"
changed="2025-06-11 10:28:23"
clsid="{50BE44C8-567A-4ed1-B1D0-9234FE1F38AF}"
desc="Файл с сервера"
image="0"
name="Задание.txt"
removePolicy="0"
status=""
uid="{cd0d3cba-8698-4612-9c76-5e21da62cc48}"
userContext="0">
<Properties
action="C"
archive="0"
executable="0"
fromPath="\\dc1.test.alt\sysvol\test.alt\newfile"
hidden="0"
readOnly="0"
suppress="0"
targetPath="%DesktopDir%\New\Задание.txt"/>
</File>
</Files>
Примечание
Примечание
control smb-conf-usershares установлен в enabled;
/etc/samba/smb.conf в секции [global] подключен файл /etc/samba/usershares.conf (include = /etc/samba/usershares.conf).
Примечание


{GUID GPT}/Machine/Preferences/NetworkShares/NetworkShares.xml
{GUID GPT}/User/Preferences/NetworkShares/NetworkShares.xml
NetworkShares.xml:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<NetworkShareSettings clsid="{520870D8-A6E7-47e8-A8D8-E6A4E76EAEC2}">
<NetShare changed="2025-06-11 10:28:23"
clsid="{2888C5E7-94FC-4739-90AA-2C1536D68BC0}"
image="0"
name="share2"
status=""
uid="{cd0d3cba-8698-4612-9c76-5e21da62cc48}"
userContext="0"
removePolicy="0">
<Properties
action="C"
name="share2"
path="/var/share2"
comment=""
limitUsers="NO_CHANGE"
abe="NO_CHANGE"/>
</NetShare>
</NetworkShareSettings>
/media/gpupdate/drives.system — для системных ресурсов;
/media/gpupdate/.drives.system — для скрытых системных ресурсов;
/run/media/USERNAME/drives — для общих ресурсов пользователя;
/run/media/USERNAME/.drives — для скрытых общих ресурсов пользователя.
Примечание
/etc/auto.master.gpupdate.d/<имя>.autofs и /etc/auto.master.gpupdate.d/<имя>.conf — для отображаемых ресурсов;
/etc/auto.master.gpupdate.d/<имя>_hide.autofs и /etc/auto.master.gpupdate.d/<имя>_hide.conf — для скрытых ресурсов.


\\server\sharename, \\server\hiddenshare$ или \\server\sharename\foldername). Это поле может содержать переменные. Чтобы изменить существующий сетевой диск (определяемый по букве диска), следует оставить это поле пустым;
Примечание
/etc/skel;
/);
/usr/share/applications;
get_homedir(username));
get_desktop(username, variables['HOME'])).
Примечание
Примечание
Примечание
/etc/auto.master.gpupdate.d/<имя>.autofs) добавляется опция --browse. В этом случае для данной точки монтирования будет создан пустой каталог, независимо от того, смонтирована ли какая-либо файловая система в него или нет.


~/net.drives.system — ссылка на /media/gpupdate/drives.system;
~/.net.drives.system — ссылка на /media/gpupdate/.drives.system;
~/net.drives — ссылка на /run/media/USERNAME/drives;
~/.net.drives — ссылка на /run/media/USERNAME/.drives.
net. из имён символических ссылок:

net.:
~/net.drives — ссылка на /run/media/USERNAME/drives для общих ресурсов пользователя;
~/.net.drives — ссылка на /run/media/USERNAME/.drives для скрытых общих ресурсов пользователя.
net. в именах символических ссылок на каталоги монтирования не будет:
~/drives — ссылка на /run/media/USERNAME/drives для общих ресурсов пользователя;
~/.drives — ссылка на /run/media/USERNAME/.drives для скрытых общих ресурсов пользователя.
Примечание


/media/gpupdate/drives.system — для системных сетевых дисков;
/media/gpupdate/.drives.system — для скрытых системных сетевых дисков;
~/net.drives.system — для системных сетевых дисков (при включенной политике Отображение сетевых дисков машины в домашнем каталоге);
~/.net.drives.system — для скрытых системных сетевых дисков (при включенной политике Отображение сетевых дисков машины в домашнем каталоге).
/media/gpupdate/<имя>.system — для системных сетевых дисков;
/media/gpupdate/.<имя>.system — для скрытых системных сетевых дисков;
~/net.<имя>.system — для системных сетевых дисков (при включенной политике Отображение сетевых дисков машины в домашнем каталоге);
~/.net.<имя>.system — для скрытых системных сетевых дисков (при включенной политике Отображение сетевых дисков машины в домашнем каталоге);
~/<имя>.system — для системных сетевых дисков (при включенных политиках Отображение сетевых дисков машины в домашнем каталоге и Префикс имени каталога монтирования сетевых дисков);
~/.<имя>.system — для скрытых системных сетевых дисков (при включенных политиках Отображение сетевых дисков машины в домашнем каталоге и Префикс имени каталога монтирования сетевых дисков).

/run/media/USERNAME/drives — для общих ресурсов пользователя;
/run/media/USERNAME/.drives — для скрытых общих ресурсов пользователя;
~/net.drives — для общих ресурсов пользователя (при включенной политике Отображение сетевых дисков машины в домашнем каталоге);
~/.net.drives — для скрытых общих ресурсов пользователя (при включенной политике Отображение сетевых дисков машины в домашнем каталоге).
/run/media/USERNAME/<имя> — для общих ресурсов пользователя;
/run/media/USERNAME/.<имя> — для скрытых общих ресурсов пользователя;
~/net.<имя> — для общих ресурсов пользователя (при включенной политике Отображение сетевых дисков пользователя в домашнем каталоге);
~/.net.<имя> — для скрытых общих ресурсов пользователя (при включенной политике Отображение сетевых дисков пользователя в домашнем каталоге);
~/<имя> — для общих ресурсов пользователя (при включенных политиках Отображение сетевых дисков пользователя в домашнем каталоге и Префикс имени каталога монтирования сетевых дисков);
~/.<имя> — для скрытых общих ресурсов пользователя (при включенных политиках Отображение сетевых дисков пользователя в домашнем каталоге и Префикс имени каталога монтирования сетевых дисков).
cifsacl из команды монтирования при использовании autofs для подключения сетевых дисков через групповые политики:

Примечание
cifsacl используется драйвером CIFS для передачи ACL (списков контроля доступа) между клиентом и сервером. Однако в некоторых конфигурациях его использование может вызывать ошибки монтирования или снижать производительность. Отключение этого аргумента повышает совместимость, но отключает поддержку ACL на уровне файловой системы.


~/net.drives.system — ссылка на /media/gpupdate/drives.system;
~/.net.drives.system — ссылка на /media/gpupdate/.drives.system;
~/net.drives — ссылка на /run/media/USERNAME/drives;
~/.net.drives — ссылка на /run/media/USERNAME/.drives


Примечание
net.my_share -> /media/gpupdate/my_share share -> /run/media/<пользователь>/share
{GUID GPT}/Machine/Preferences/Drives/Drives.xml
{GUID GPT}/User/Preferences/Drives/Drives.xml
Drives.xml с двумя сетевыми дисками:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Drives clsid="{8FDDCC1A-0C3C-43cd-A6B4-71A6DF20DA8C}">
<Drive bypassErrors="0"
changed="2025-06-19 08:28:32"
clsid="{935D1B74-9CB8-4e3c-9914-7DD559B7A417}"
desc=""
image="2"
name="\\dc1.test.alt\Free"
removePolicy="0"
status="O:"
uid="{D070D4D6-DEB5-4DDE-9A53-6AB33C90352A}"
userContext="0">
<Properties action="U"
allDrives="SHOW"
cpassword=""
label=""
letter="O"
path="\\dc1.test.alt\Free"
persistent="1"
thisDrive="SHOW"
useLetter="1"
userName=""/>
</Drive>
<Drive bypassErrors="0"
changed="2025-06-19 08:28:32"
clsid="{935D1B74-9CB8-4e3c-9914-7DD559B7A417}"
desc=""
image="2"
name="I:"
status="I:"
uid="{4BDA1724-4BBF-4B4D-B299-E81080D9A4B5}"
userContext="0">
<Properties action="U"
thisDrive="SHOW"
allDrives="SHOW"
userName=""
path="\\dc1.test.alt\sysvol"
label=""
persistent="1"
useLetter="0"
letter="I"/>
</Drive>
</Drives>


{GUID GPT}/Machine/Preferences/Registry/Registry.xml
{GUID GPT}/User/Preferences/Registry/Registry.xml
Registry.xml:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<RegistrySettings clsid="{A3CCFC41-DFDB-43a5-8D26-0FE8B954DA51}">
<Registry changed="2025-06-19 08:28:32"
clsid="{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}"
image="12"
name="failed_count"
status="failed_count"
uid="{D5855321-D2BA-4595-BD28-4DF452BFF65F}"
bypassErrors="1">
<Properties
action="U"
displayDecimal="0"
hive="HKEY_CURRENT_USER"
key="Software\Google\Chrome\BLBeacon"
name="failed_count"
type="REG_DWORD"
value="00000001">
<SubProp id="" mask="0" value="0"/">
</Properties>
</Registry>
</RegistrySettings>
Примечание
/etc/sysconfig/network удалить строки:
HTTP_PROXY= HTTPS_PROXY= FTP_PROXY= NO_PROXY=

http://username:password@address:port
$ gpupdate
$ env |grep PROXY
HTTP_PROXY=http://10.0.66.52:3128
HTTPS_PROXY=http://10.0.66.52:3128
FTP_PROXY=http://10.0.66.52:3128
/etc/systemd/user/gpupdate-user.timer.d/override.conf — изменение пользовательского таймера;
/etc/systemd/system/gpupdate.timer.d/override.conf — изменение системного таймера.
[Timer] OnUnitActiveSec = 10minгде 10min — периодичность запроса конфигураций.

/etc/systemd/system/gpupdate.timer.d (или /etc/systemd/system/gpupdate-user.timer.d для пользовательского таймера).

/etc/systemd/system/gpupdate.timer.d/override.conf (или /etc/systemd/system/gpupdate-user.timer.d/override.conf для пользовательского таймера);
Timer;
OnUnitActiveSec;
10min.
$ gpupdate
# systemctl daemon-reload
$cat /etc/systemd/system/gpupdate.timer.d/override.conf[Timer] OnUnitActiveSec = 10min $systemctl status gpupdate.timer… Active: active (waiting) since Wed 2025-06-11 09:46:46 MSK; 52s ago Trigger: Wed 2025-06-11 09:56:46 MSK; 9min left
Примечание
$ systemctl --user daemon-reload
Примечание
override.conf подменяет настройки системной библиотеки в файле /lib/systemd/system/gpupdate.timer только если значение секции Timer в файле override.conf меньше, чем значение аналогичной секции в gpupdate.timer.
Примечание
Примечание
User\Scripts\Logon (например, \\test.alt\sysvol\test.alt\Policies\{20DDB816-421B-4861-8AC5-007E56CB67D0}\User\Scripts\Logon) или User\Scripts\Logoff соответствующей политики.



Примечание
gpupdate версии 0.9.11. В версиях ниже скрипты для ОС «Альт» должны находиться в GPT настраиваемого объекта групповой политики.


*.ps1.
Machine\Scripts\Startup (например, \\test.alt\sysvol\test.alt\Policies\{20DDB816-421B-4861-8AC5-007E56CB67D0}\Machine\Scripts\Startup) или Machine\Scripts\Shutdown соответствующей политики.



Примечание

*.ps1.

{GUID GPT}/User/Scripts/Logon и {GUID GPT}/User/Scripts/Logoff. Настройки политики для сценариев входа и выхода пользователя хранятся в файле {GUID GPT}/User/Scripts/scripts.ini. В файле scripts.ini перечисляются все скрипты, выполняемые в сценариях входа и выхода пользователя из системы. Сценарии входа начинаются с преамбулы [Logon], сценарии выхода начинаются с преамбулы [Logoff].
scripts.ini:
[Logon] 0CmdLine=date.sh 0Parameters=test 1CmdLine=test.sh 1Parameters=new [Logoff] 0CmdLine=touch.sh 0Parameters= 1CmdLine=Logoff.bat 1Parameters=1.txt 2CmdLine=C:\share\Logon.bat 2Parameters=
{GUID GPT}/Machine/Scripts/Shutdown и {GUID GPT}/Machine/Scripts/Startup. Настройки политики для сценариев запуска и завершения работы компьютера хранятся в файле {GUID GPT}/Machine/Scripts/scripts.ini. В файле scripts.ini перечисляются все скрипты, выполняемые в сценариях запуска и завершения работы компьютера. Сценарии запуска компьютера начинаются с преамбулы [Startup], сценарии завершения работы начинаются с преамбулы [Shutdown].
scripts.ini:
[Startup] 0CmdLine=hello.bat 0Parameters= 1CmdLine=notescript.vbs 1Parameters= 2CmdLine=notescript2.vbs 2Parameters= 3CmdLine=touch.bat 3Parameters= [Shutdown] 0CmdLine=touch.bat 0Parameters=
scripts.ini закодирован в формате UTF-16LE (little-endian).
Примечание
{GUID GPT}/User/Scripts/pgscripts.ini (для сценариев входа и выхода пользователя) и {GUID GPT}/Machine/Scripts/pgscripts.ini (для запуска и завершения работы компьютера).

<?xml version="<версия>" encoding="<кодировка"?>где:
Примечание
<policyDefinitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="<MajorVerison.MinorVersion>" schemaVersion="<MajorVerison.MinorVersion>" xmlns=" http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" > <policyNamespaces> … </policyNamespaces> <supersededAdm> … </supersededAdm> <resources> … </resources> <supportedOn> … </supportedOn> <categories> … </categories> <policies> … </policies> </policyDefinitions>
Таблица 35.1. Атрибуты элемента policyDefinitions
|
Атрибут
|
Обязательный
|
Описание
|
|---|---|---|
|
xmlns:xsd
|
Нет
|
Обозначение элементов и типов данных, используемых в схеме пространства имен
|
|
xmlns:xsi
|
Нет
|
Обозначение пространства имён экземпляра XML-схемы, предоставленной в самом пространстве
|
|
revision
|
Да
|
Версия ADMX-файла, которая в большинстве случаев предназначена для отслеживания внесенных изменений.
Синтаксис:
revision="<MajorVerison.MinorVersion>"где MajorVersion и MinorVersion являются номерами версии, например, revision="1.0" |
|
schemaVersion
|
Да
|
Указывает версию схемы, используемую средствами работы с ГП для определения того, поддерживается ли ими формат конкретных ADMX-файлов. Синтаксис этой команды идентичен синтаксису revision
|
|
xmlns
|
Нет
|
Пространство имен схемы ГП
|
Примечание
Таблица 35.2. Дочерние элементы policyDefinitions
|
Элемент
|
Обязательный
|
Описание
|
|---|---|---|
|
policyNamespaces
|
Да
|
Определяет уникальное имя пространства имен политики в файле ADMX, а также любых пространств имен, на которые оно ссылается в других файлах ADMX.
Синтаксис:
<policyNamespaces> <target> … </target> <using> … </using> </policyNamespaces>где:
|
|
supersededAdm
|
Нет
|
Данный элемент ссылается на имя ADM-файла, заменяемого ADMX-файлом
|
|
resources
|
Да
|
Определяет требования для ресурсов определенного языка и минимальную необходимую версию связанного ADML-файла.
Синтаксис:
<resources minRequiredRevision="<MajorVerison.MinorVersion>" fallbackCulture="<language name>"/>где:
|
|
supportedOn
|
Нет
|
Определяет сопоставление ссылки на локализированные строки текста с ОС или приложениями, на которые влияют конкретные параметры политики.
Синтаксис:
<supportedOn> <definitions> … </definitions> </supportedOn>Элементы definitions содержат информацию о поддерживаемой версии |
|
categories
|
Нет
|
Содержит список категорий, в которых параметр политики текущего ADMX-файла будет отображаться в редакторе управления групповыми политиками.
Синтаксис:
<categories> <category> … </category> </categories>Элемент category указывает имя уникальной категории, которая будет отображаться в редакторе объектов групповой политики |
|
policies
|
Нет
|
Содержит список определений параметров политики.
Синтаксис:
<policies> <policy> … </policy> </policies>Дочерний элемент policy соответствует одному параметру ГП, отображаемому в редакторе объектов групповой политики. Элемент policy описывает всю информацию о параметре политики, но включает ссылку на определение параметра |
<category name="<logical or friendly name>" displayName="$(string.<category text>)" explainText="$(string.<help text>)"> <parentCategory> … </parentCategory> <seeAlso> … </seeAlso> <keywords> … </keywords> </category>
Таблица 35.3. Атрибуты элемента category
|
Атрибут
|
Обязательный
|
Описание
|
|---|---|---|
|
name
|
Да
|
Имя, которое будет использоваться для конкретного поддерживаемого приложения и версии
|
|
displayName
|
Да
|
Ссылка на текстовую строку категории, расположенную в таблице строк ADML-файла
|
|
explainText
|
Нет
|
Текст объяснения или справки, связанный с конкретной категорией
|
Таблица 35.4. Дочерние элементы category
|
Элемент
|
Обязательный
|
Описание
|
|---|---|---|
|
parentCategory
|
Да
|
Ссылка на родительскую категорию
|
|
seeAlso
|
Нет
|
Ссылка на другой элемент, который может быть связан с этим. Этот элемент не поддерживается и будет игнорироваться текущей ГП
|
|
keywords
|
Нет
|
Содержит индексные слова, которые можно использовать для поиска элементов. Этот элемент не поддерживается и будет игнорироваться текущей ГП
|
<policy name="<logical or friendly name>" class="Machine|User|Both" displayName="$(string.<category text>)" explainText="$(string.<help text>)" presentation="$(presentation.<parameter>)" key="<registry key>" valueName="<registry valuename>"> <parentCategory> … </parentCategory> <supportedOn> … </supportedOn> <enabledValue> … </enabledValue> <disabledValue> … </disabledValue> <enabledList> … </enabledList> <disabledList> … </disabledList> <elements> … </elements> </policy>
Таблица 35.5. Атрибуты элемента policy
|
Атрибут
|
Обязательный
|
Описание
|
|---|---|---|
|
name
|
Да
|
Уникальное имя элемента политики (строка, желательно без пробелов и специальных символов)
|
|
class
|
Да
|
Определяет, в каком разделе редактора ГП будет размещён элемент политики: компьютере, пользователе или в обоих узлах. Может принимать значения: «User», «Machine» или «Both»
|
|
displayName
|
Да
|
Имя, отображаемое в GPUI или оснастке консоли управления ГП. Ссылка на строку, расположенную в ADML-файле
|
|
explainText
|
Нет
|
Текст объяснения или справки, связанный с элементом политики. Ссылка на строку, расположенную в ADML-файле
|
|
presentation
|
Нет
|
Подписи параметров политики. Ссылка на строки, расположенные в ADML-файле
|
|
key
|
Да
|
Местоположение ключа реестра, в котором будет создан параметр реестра
|
|
valueName
|
Нет
|
Значение реестра, которое будет настроено для этого конкретного элемента политики
|
Таблица 35.6. Дочерние элементы policy
|
Элемент
|
Обязательный
|
Описание
|
|---|---|---|
|
parentCategory
|
Да
|
Ссылка на родительскую категорию (раздел, в котором будет отображаться политика)
|
|
supportedOn
|
Нет
|
Логическое имя supportOn, определенное в элементе supportOn для этого файла (ссылка на поддерживаемые продукты)
|
|
enabledValue
|
Нет
|
Значение, которое раздел реестра примет, если политика включена.
Синтаксис:
<enabledValue> <delete /> | <decimal> … </decimal> | <string> … </string> </enabledValue>где:
|
|
disabledValue
|
Нет
|
Значение, которое раздел реестра примет, если политика отключена. См. описание enabledValue
|
|
enabledList
|
Нет
|
Набор значений и ключей реестра, представляющих включенное состояние элемента политики.
Синтаксис:
<enabledList defaultKey="<registry subkey>"> <item> … </item> </enabledList>где:
|
|
disabledList
|
Нет
|
Набор значений и ключей реестра, представляющих отключенное состояние элемента политики. См. описание enabledList
|
|
elements
|
Нет
|
Один из пяти типов параметров (см.ниже), которые можно задать в настройке политики
|
<elements> <boolean> … </boolean> <decimal> … </decimal> <text> … </text> <enum> … </enum> <list> … </list> </elements>
Таблица 35.7. Дочерние элементы elements
|
Элемент
|
Обязательный
|
Описание
|
|---|---|---|
|
boolean
|
Нет
|
Представляет логический элемент в политике.
Синтаксис:
<boolean id="<ID>" clientExtension="<GUID>" key="<RegKey>" valueName="<Name>"> <trueValue> … </trueValue> <falseValue> … </falseValue> <trueList> … </trueList> <falseList> … </falseList> </boolean>где:
<boolean id="OrgXfceThunar_blocker" key="Software\BaseALT\Policies\PolkitLocks" valueName="org.xfce.thunar">
<trueValue>
<decimal value="1" />
</trueValue>
<falseValue>
<decimal value="0" />
</falseValue>
</boolean>
Для элемента boolean в ADMX-файле требуется элемент checkBox с соответствующим идентификатором в ADML-файле
|
|
decimal
|
Нет
|
Представляет числовой/десятичный элемент в политике. Число может быть определено для хранения в виде числового или строкового репрезентативного значения
Синтаксис:
<decimal id="<ID>" clientExtension="<GUID>" key="<RegKey>" valueName="<Name>" required="true|false" minValue="<MinValue>" maxValue="<MaxValue>" storeAsText="true|false" soft="true|false" />где:
<decimal id="OrgMateSessionIdleDelay_setter" valueName="org.mate.session.idle-delay" minValue="1" maxValue="2147483647" />
Для элемента decimal требуется элемент decimalTextBox с соответствующим идентификатором в ADML-файле
|
|
text
|
Нет
|
Представляет текстовый элемент в политике.
Синтаксис:
<text id="<ID>" clientExtension="<GUID>" key="<RegKey>" valueName="<Name>" required="true|false" maxLength="<maxLength>" expandable="true|false" soft="true|false" />где:
<text id="OrgMateBackgroundSecondaryColor_setter" valueName="org.mate.background.secondary-color" />
Элемент text допускает строковые значения длиной до 1023 символов.
|
|
enum
|
Нет
|
Представляет элемент перечисления.
Синтаксис:
<enum id="<ID>" clientExtension="<GUID>" key="<RegKey>" valueName="<Name>" required="true|false"> <item> … </item> </enum>где:
<enum id="OrgMateColorShadingType_setter" required="true" valueName="org.mate.background.color-shading-type">
<item displayName="$(string.org-mate-background-color-shading-type-horizontal-gradient)">
<value>
<string>horizontal-gradient</string>
</value>
</item>
<item displayName="$(string.org-mate-background-color-shading-type-vertical-gradient)">
<value>
<string>vertical-gradient</string>
</value>
</item>
<item displayName="$(string.org-mate-background-color-shading-type-solid)">
<value>
<string>solid</string>
</value>
</item>
</enum>
Элемент enum обычно связан с элементом раскрывающегося списка в редакторе объектов групповой политики.
Для элемента enum требуется элемент dropdownList с соответствующим идентификатором в ADML-файле
|
|
list
|
Нет
|
Представляет элемент списка в политике.
Синтаксис:
<list id="<ID>" clientExtension="<GUID>" key="<RegKey>" valuePrefix="<Name>"> additive="true|false" expandable="true|false" explicitValue="true|false" > </ list>где:
Пример:
<list id="InstallPackagesList" key="Software\BaseALT\Policies\Packages\Install" additive="true"/>
Для элемента list требуется элемент listBox с соответствующим идентификатором в ADML-файле
|
Примечание

<policyDefinitionResources xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="<MajorVerison.MinorVersion>" schemaVersion="<MajorVerison.MinorVersion>" xmlns=" http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions" > <displayName> … </displayName> <description> … </description> <annotation> … </annotation> <resources> … </resources> </policyDefinitionResources>
Таблица 35.8. Атрибуты элемента policyDefinitionResources
|
Атрибут
|
Обязательный
|
Описание
|
|---|---|---|
|
xmlns:xsd
|
Нет
|
Обозначение элементов и типов данных, используемых в схеме пространства имен
|
|
xmlns:xsi
|
Нет
|
Обозначение пространства имён экземпляра XML-схемы, предоставленной в самом пространстве
|
|
revision
|
Да
|
Версия ADMX-файла.
Синтаксис:
revision="<MajorVerison.MinorVersion>"где MajorVersion и MinorVersion являются номерами версии, например, revision="1.0" |
|
schemaVersion
|
Да
|
Указывает версию схемы, используемую средствами работы с ГП. Синтаксис этой команды идентичен синтаксису revision
|
|
xmlns
|
Нет
|
Пространство имен схемы ГП
|
Таблица 35.9. Дочерние элементы policyDefinitionResources
|
Элемент
|
Обязательный
|
Описание
|
|---|---|---|
|
displayName
|
Да
|
Локализованное название политики, содержащееся в ADML-файле
|
|
description
|
Нет
|
Описание параметров политики, содержащееся в ADML-файле
|
|
annotation
|
Да
|
Локализованный комментарий
|
|
resources
|
Нет
|
Содержит элементы stringTable и presentationTable для указанного языка.
Синтаксис:
<resources> <stringTable> … </stringTable> <presentationTable> … </presentationTable> </resources> |
Таблица 35.10. Дочерние элементы resources
|
Элемент
|
Обязательный
|
Описание
|
|---|---|---|
|
stringTable
|
Нет
|
Содержит отображаемые строки для следующих видов информации:
Синтаксис:
<stringTable> <string> … </string> </stringTable>
Элемент stringTable нельзя объявлять более одного раза
|
|
presentationTable
|
Нет
|
Таблица элементов представления, представляющая структуру элементов управления параметрами для отдельных параметров групповой политики. Расположение элементов управления параметрами включает в себя: тип элемента ввода параметров (поле редактирования, ползунок, выпадающий список, флажки, переключатели); подписи и текст подсказки для ввода параметров; а также значения по умолчанию и диапазон возможных значений для каждого параметра.
Синтаксис:
<presentationTable> <presentation> … </presentation> </presentationTable>
Если в ADML-файле нет элементов представления, элемент PresentationTable можно опустить. Если элемент PresentationTable включен в ADML-файл, необходимо определить хотя бы один элемент представления. Элемент PresentationTable определяется в ADML-файле не более одного раза
|
<presentation id="<logical or friendly name>"> <text> … </text> <decimalTextBox> … </decimalTextBox> <textBox> … </textBox> <checkBox> … </checkBox> <comboBox> … </comboBox> <dropdownList> … </dropdownList> <listBox> … </listBox> </presentation>
Таблица 35.11. Атрибуты элемента presentation
|
Атрибут
|
Обязательный
|
Описание
|
|---|---|---|
|
id
|
Да
|
Указывает логическое имя при ссылке на информацию о представлении для определенного параметра политики
|
Таблица 35.12. Дочерние элементы presentation
|
Элемент
|
Обязательный
|
Описание
|
|---|---|---|
|
text
|
Да
|
Локализованная строка. Используется для определения текста, расположенного выше и ниже поля ввода параметра.
Синтаксис:
<text>Локализованная строка</text> |
|
decimalTextBox
|
Нет
|
Текстовое поле с элементом управления прокруткой или без него для ввода десятичных чисел в качестве параметра настройки политики. Должен быть связан с элементом decimal, определенным в элементе elements.
Синтаксис:
<decimalTextBox refId="Sample_NumericTextLabel">Метка:</decimalTextBox>где:
Пример:
<decimalTextBox refId="OrgMateScreensaverLockDelay_setter" defaultValue="3"> Скорость повтора </decimalTextBox> ![]() |
|
textBox
|
Нет
|
Синтаксис:
<textBox refId="<ID>"> <label> … </label> <defaultValue> … </defaultValue> </textBox>где:
Пример:
<textBox refId="OrgMateFilename_setter"> <label>Файл:</label> </textBox> ![]() |
|
checkBox
|
Нет
|
Синтаксис:
<checkBox refId="<ID> defaultChecked="true|false"> Placeholder label: </checkBox>где:
Пример:
<checkBox refId="OrgXfceThunar_blocker"> Блокировать </checkBox> ![]() |
|
comboBox
|
Нет
|
Поле со списком со значениями по умолчанию или предлагаемыми записями. Должно быть связано с элементом text, определенным в элементе elements.
Синтаксис:
<comboBox refId="<ID> noSort="true|false"> <label> … </label> <default> … </default> <suggestion> … </suggestion> </comboBox>где:
Пример:
<comboBox refId="OrgMateFilename_setter"> <label>Файл</label> <default>None</default> <suggestion>testA</suggestion> <suggestion>testB</suggestion> <suggestion>testC</suggestion> </comboBox> ![]() |
|
dropdownList
|
Нет
|
Раскрывающийся список, с помощью которого пользователь может выбрать одну из отображаемых записей. Должен быть связан с элементом enum, определенным в элементе elements.
Синтаксис:
<dropdownList refId="<ID>" noSort="true|false"> defaultItem="<NumericValue>"> Placeholder label: </dropdownList>где:
Пример:
<dropdownList noSort="true" defaultItem="0" refId="OrgMateColorShadingType_setter"> Тип градиента: </dropdownList> ![]() |
|
listBox
|
Нет
|
Представляет параметр списка с кнопками «Добавить» и «Удалить». Это единственный параметр, который можно использовать для управления несколькими значениями под одним ключом. Должен быть связан с элементом list, определенным в элементе elements.
Синтаксис:
<listBox refId="ID">Описание:</listBox>где:
Пример:
<listBox refId="InstallPackagesList"> Список пакетов для установки </listBox> ![]() |
Примечание
example.admx с элементом policy, который содержит два элемента флажка (checkbox):
<policy name="Sample_Checkbox" class="User"
displayName="$(string.Sample_Checkbox)"
explainText="$(string.Sample_Checkbox_Help)"
presentation="$(presentation.Sample_Checkbox)"
key="Software\BaseALT\Policies\gsettings">
<parentCategory ref="system:ALT_Background_Mate" />
<supportedOn ref="system:SUPPORTED_AltP9" />
<elements>
<boolean id="Checkbox_1" valueName="ExampleCheckbox1">
<trueValue>
<decimal value="1" />
</trueValue>
<falseValue>
<decimal value="0" />
</falseValue>
</boolean>
<boolean id="Checkbox_2" valueName="ExampleCheckbox2">
<trueValue>
<decimal value="0" />
</trueValue>
<falseValue>
<decimal value="1" />
</falseValue>
</boolean>
</elements>
</policy>
example.admx с элементом policy, который содержит два элемента флажка (checkbox):
<presentation id="Sample_Checkbox"> <checkBox refId="Checkbox_1">Первый параметр</checkBox> <checkBox refId="Checkbox_2" defaultChecked="true">Второй параметр — отмечен по умолчанию</checkBox> </presentation>
Примечание
<elements>
<boolean id="Checkbox_1" valueName="ExampleCheckbox1">
…
</boolean>
<boolean id="Checkbox_2" valueName="ExampleCheckbox2">
…
</boolean>
</elements>
Элемент presentation содержит два элемента checkBox:
<presentation id="Sample_Checkbox"> <checkBox refId="Checkbox_1">…</checkBox> <checkBox refId="Checkbox_2" defaultChecked="true">…</checkBox> </presentation>Атрибут id элемента boolean используется для соответствия связанному элементу checkBox, на который ссылается атрибут refId.
Таблица 35.13. Сопоставление
|
Тип данных в ADMX-файле
|
Определение параметра в ADML-файле
|
|---|---|
|
boolean
|
checkBox
|
|
text
|
textBox
|
|
decimal
|
decimalTextBox
|
|
text
|
comboBox
|
|
enum или item
|
dropdownList
|
|
list
|
listBox
|
MyCompany.admx с определением категории MyCompany:
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitions xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
revision="1.0" schemaVersion="1.0"
xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<policyNamespaces>
<target prefix="mycompany" namespace="MyCompany.Policies.MyCompany" />
</policyNamespaces>
<resources minRequiredRevision="1.0" />
<categories>
<category name="MyCompany"
displayName="$(string.MyCompany)"
explainText="$(string.MyCompany_Help)" />
</categories>
</policyDefinitions>
ru-RU/MyCompany.adml, который будет содержать локализованное название категории:
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitionResources xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
revision="1.0" schemaVersion="1.0"
xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<displayName>Определение базовой категории</displayName>
<description>Этот файл содержит определение базовой категории организации.
</description>
<resources>
<stringTable>
<string id="MyCompany">Моя организация</string>
<string id="MyCompany_Help">Содержит параметры конфигурации,
специфичные для организации.</string>
</stringTable>
</resources>
</policyDefinitionResources>
using в элемент policyNamespaces. Атрибут пространства имен должен соответствовать пространству имен, определенному в пользовательском базовом файле (в примере MyCompany.Policies.MyCompany). Атрибутом префикса может быть любое имя, уникальное для ADMX-файла. Рекомендуется по возможности использовать строку атрибута префикса из пользовательского базового файла, чтобы избежать путаницы. Например, следующий фрагмент файла example.admx определяет пространство имен и ссылается на базовый файл MyCompany в элементе policyNamespaces:
<policyNamespaces> <target prefix="example" namespace="MyCompany.Policies.Example" /> <using prefix="mycompany" namespace="MyCompany.Policies.MyCompany" /> </policyNamespaces>
Примечание
Примечание
$ systemctl list-units --type service --all
Получить список всех установленных файлов модулей можно, выполнив команду:
$ systemctl list-unit-files
MySystemd.admx:
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitions xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="1.0"
schemaVersion="1.0" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<policyNamespaces>
<target prefix="systemdunits" namespace="BaseALT.Policies.MySystemdUnits" />
<using prefix="system" namespace="BaseALT.Policies.System" />
</policyNamespaces>
<resources minRequiredRevision="1.0" />
<policies>
<policy class="Machine" displayName="$(string.httpd2_service)"
explainText="$(string.httpd2_service_help)" key="Software\BaseALT\Policies\SystemdUnits"
valueName="httpd2.service" name="httpd2.service">
<parentCategory ref="system:ALT_Systemd"/>
<supportedOn ref="system:SUPPORTED_AltP9"/>
<enabledValue>
<decimal value="1"/>
</enabledValue>
<disabledValue>
<decimal value="0"/>
</disabledValue>
</policy>
</policies>
</policyDefinitions>
ru-RU/MySystemd.adml:
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitionResources xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions"
revision="1.0" schemaVersion="1.0">
<displayName>Определения служб</displayName>
<description>Этот файл содержит дополнительные определения systemd-служб</description>
<resources>
<stringTable>
<string id="httpd2_service">Веб-сервер Apache</string>
<string id="httpd2_service_help">Эта политика определяет, включен ли systemd юнит веб-сервера Apache.
</string>
</stringTable>
</resources>
</policyDefinitionResources>
en-US/MySystemd.adml:
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitionResources xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions"
revision="1.0" schemaVersion="1.0">
<displayName>Services definitions</displayName>
<description>This file contains the systemd services definitions</description>
<resources>
<stringTable>
<string id="httpd2_service"e>Apache Web Server</string>
<string id="httpd2_service_help"e>This policy determines whether the systemd unit of Apache Web Server is enabled.
</string>
</stringTable>
</resources>
</policyDefinitionResources>
MySystemd.admx в каталог \\test.alt\sysvol\test.alt\Policies\PolicyDefinitions
ru-RU/MySystemd.adml в каталог \\test.alt\sysvol\test.alt\Policies\PolicyDefinitions\ru-RU
en-US/MySystemd.adml в каталог \\test.alt\sysvol\test.alt\Policies\PolicyDefinitions\en-US
MySystemd.admx в каталог /usr/share/PolicyDefinitions
ru-RU/MySystemd.adml в каталог /usr/share/PolicyDefinitions/ru-RU
en-US/MySystemd.adml в каталог /usr/share/PolicyDefinitions/en-US

/var/lib/samba/sysvol/<DOMAIN>/Policies/).
Примечание
# control
Примечание
# control osec-send help
mail: Mail root
journal: Write to systemd journal
MyControl.admx:
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitions xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="1.0" schemaVersion="1.0"
xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<policyNamespaces>
<target prefix="control" namespace="BaseALT.Policies.MyControl" />
<using prefix="system" namespace="BaseALT.Policies.System" />
</policyNamespaces>
<resources minRequiredRevision="1.0" />
<policies>
<policy class="Machine" displayName="$(string.osec-send)"
explainText="$(string.osec-send_help)" key="Software\BaseALT\Policies\Control"
name="osec-send" presentation="$(presentation.osec-send)">
<parentCategory ref="system:ALT_Services"/>
<supportedOn ref="system:SUPPORTED_AltP9"/>
<elements>
<enum id="osec-send_setter" required="true" valueName="osec-send">
<item displayName="$(string.osec-send_mail)">
<value>
<string>mail</string>
</value>
</item>
<item displayName="$(string.osec-send_journal)">
<value>
<string>journal</string>
</value>
</item>
</enum>
</elements>
</policy>
</policies>
</policyDefinitions>
ru-RU/MyControl.adml:
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitionResources xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions"
revision="1.0" schemaVersion="1.0">
<displayName>Определения политик управления системными компонентами</displayName>
<description>Этот файл содержит определения политик управления системными компонентами.</description>
<resources>
<stringTable>
<string id="osec-send">Отчет подсистемы osec</string>
<string id="osec-send_help">Политика позволяет определить куда отправлять ежедневный отчёт:
Почта — отправлять отчёт на почтовый ящик пользователя root
Журнал — записывать отчёт в системный журнал
</string>
<string id="osec-send_mail">Почта</string>
<string id="osec-send_journal">Журнал</string>
</stringTable>
<presentationTable>
<presentation id="osec-send">
<dropdownList noSort="true" defaultItem="0" refId="osec-send_setter">Куда отправлять отчёт:
</dropdownList>
</presentation>
</presentationTable>
</resources>
</policyDefinitionResources>
en-US/MyControl.adml:
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitionResources xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions"
revision="1.0" schemaVersion="1.0">
<displayName>Control installed facilities definitions</displayName>
<description>This file contains the control installed facilities definitions.</description>
<resources>
<stringTable>
<string id="osec-send">Osec Subsystem Report</string>
<string id="osec-send_help">The policy allows you to determine where to send the daily report:
Mail — Mail root
Journal — Write to systemd journal
</string>
<string id="osec-send_mail">Mail</string>
<string id="osec-send_journal">Journal</string>
</stringTable>
<presentationTable>
<presentation id="osec-send">
<dropdownList noSort="true" defaultItem="0" refId="osec-send_setter">Where to send the report:
</dropdownList>
</presentation>
</presentationTable>
</resources>
</policyDefinitionResources>
MyControl.admx в каталог \\test.alt\sysvol\test.alt\Policies\PolicyDefinitions
ru-RU/MyControl.adml в каталог \\test.alt\sysvol\test.alt\Policies\PolicyDefinitions\ru-RU
en-US/MyControl.adml в каталог \\test.alt\sysvol\test.alt\Policies\PolicyDefinitions\en-US
MyControl.admx в каталог /usr/share/PolicyDefinitions
ru-RU/MyControl.adml в каталог /usr/share/PolicyDefinitions/ru-RU
en-US/MyControl.adml в каталог /usr/share/PolicyDefinitions/en-US

/var/lib/samba/sysvol/<DOMAIN>/Policies/).
Примечание
$ gsettings list-schemas
Посмотреть все ключи Gsettings можно, выполнив команду:
$ gsettings list-recursively
Примечание
$Ключ idle-delay позволяет управлять настройкой «Считать компьютер простаивающим через».gsettings list-keys org.mate.sessiongnome-compat-startup show-hidden-apps idle-delay required-components-list default-session auto-save-session logout-prompt logout-timeout session-start $gsettings get org.mate.session idle-delay5
MyGsettings.admx:
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitions xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="1.0" schemaVersion="1.0"
xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<policyNamespaces>
<target prefix="gsettings" namespace="BaseALT.Policies.MyGsettings" />
<using prefix="system" namespace="BaseALT.Policies.System" />
</policyNamespaces>
<resources minRequiredRevision="1.0" />
<policies>
<policy name="OrgMateSessionIdleDelayUser" class="User"
displayName="$(string.org-mate-session-idle-delay)"
explainText="$(string.org-mate-session-idle-delay_help)"
key="Software\BaseALT\Policies\gsettings"
presentation="$(presentation.OrgMateSessionIdleDelayUser-pr)">
<parentCategory ref="system:ALT_Screensaver_Mate" />
<supportedOn ref="system:SUPPORTED_AltP9" />
<elements>
<decimal id="OrgMateSessionIdleDelay_setter" valueName="org.mate.session.idle-delay"
minValue="1" maxValue="2147483647" />
</elements>
</policy>
<policy name="OrgMateSessionIdleDelayMachine" class="Machine"
displayName="$(string.org-mate-session-idle-delay)"
explainText="$(string.org-mate-session-idle-delay_help)"
key="Software\BaseALT\Policies\gsettings"
presentation="$(presentation.OrgMateSessionIdleDelayMachine-pr)">
<parentCategory ref="system:ALT_Screensaver_Mate" />
<supportedOn ref="system:SUPPORTED_AltP9" />
<elements>
<decimal id="OrgMateSessionIdleDelay_setter" valueName="org.mate.session.idle-delay"
minValue="1" maxValue="2147483647" />
<boolean id="OrgMateSessionIdleDelay_setter_blocker" key="Software\BaseALT\Policies\GSettingsLocks"
valueName="org.mate.session.idle-delay">
<trueValue>
<decimal value="1" />
</trueValue>
<falseValue>
<decimal value="0" />
</falseValue>
</boolean>
</elements>
</policy>
</policies>
</policyDefinitions>
ru-RU/MyGsettings.adml:
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitionResources xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions"
revision="1.0" schemaVersion="1.0">
<displayNamee>Определения списка настроек рабочего окружения MATE</displayName>
<description>Этот файл содержит определения настроек рабочего окружения MATE.</description>
<resources>
<stringTable>
<string id="org-mate-session-idle-delay">Считать компьютер простаивающим через</string>
<string id="org-mate-session-idle-delay_help">Устанавливает количество минут,
по истечении которых компьютер будет считаться простаивающим.
Опция «Блокировать» — (доступна только для машинной политики) запрещает изменение
данной настройки пользователем. Блокировка политики делает её приоритетнее аналогичной политики для пользователя.
</string>
</stringTable>
<presentationTable>
<presentation id="OrgMateSessionIdleDelayUser-pr">
<text>Количество минут, по истечении которого компьютер будет считаться простаивающим</text>
<decimalTextBox refId="OrgMateSessionIdleDelay_setter" defaultValue="1">Время в минутах</decimalTextBox>
</presentation>
<presentation id="OrgMateSessionIdleDelayMachine-pr">
<text>Количество минут, по истечении которого компьютер будет считаться простаивающим</text>
<decimalTextBox refId="OrgMateSessionIdleDelay_setter" defaultValue="1">Время в минутах:</decimalTextBox>
<checkBox refId="OrgMateSessionIdleDelay_setter_blocker">Блокировать</checkBox>
</presentation>
</presentationTable>
</resources>
</policyDefinitionResources>
en-US/MyGsettings.adml:
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitionResources xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions"
revision="1.0" schemaVersion="1.0">
<displayName>MATE desktop configurations definitions</displayName>
<description>This file contains the desktop MATE configurations definitions.</description>
<resources>
<stringTable>
<string id="org-mate-session-idle-delay">Consider the computer idle after</string>
<string id="org-mate-session-idle-delay_help">Sets the number of minutes after which the computer will be considered idle.
The "Block" option — (available only for machine policy) prevents the user
from changing this setting. Blocking a policy makes it a priority over a similar policy for the user.
</string>
</stringTable>
<presentationTable>
<presentation id="OrgMateSessionIdleDelayUser-pr">
<text>Number of minutes after which the computer will be considered idle</text>
<decimalTextBox refId="OrgMateSessionIdleDelay_setter" defaultValue="1">Time in minutes</decimalTextBox>
</presentation>
<presentation id="OrgMateSessionIdleDelayMachine-pr">
<text>Number of minutes after which the computer will be considered idle</text>
<decimalTextBox refId="OrgMateSessionIdleDelay_setter" defaultValue="1">Time in minutes:</decimalTextBox>
<checkBox refId="OrgMateSessionIdleDelay_setter_blocker">Блокировать</checkBox>
</presentation>
</presentationTable>
</resources>
</policyDefinitionResources>
MyGsettings.admx в каталог \\test.alt\sysvol\test.alt\Policies\PolicyDefinitions
ru-RU/MyGsettings.adml в каталог \\test.alt\sysvol\test.alt\Policies\PolicyDefinitions\ru-RU
en-US/MyGsettings.adml в каталог \\test.alt\sysvol\test.alt\Policies\PolicyDefinitions\en-US
MyGsettings.admx в каталог /usr/share/PolicyDefinitions
ru-RU/MyGsettings.adml в каталог /usr/share/PolicyDefinitions/ru-RU
en-US/MyGsettings.adml в каталог /usr/share/PolicyDefinitions/en-US

/var/lib/samba/sysvol/<DOMAIN>/Policies/).
Примечание
/usr/share/polkit-1/actions/ в формате *.policy Каждая политика представляет собой xml-файл, в котором описываются запросы к polkit.
/usr/share/polkit-1/actions/ можно, выполнив команду
$ pkaction
MyPolkit.admx:
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitions xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="1.0" schemaVersion="1.0"
xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<policyNamespaces>
<target prefix="xfce" namespace="BaseALT.Policies.MyPolkit" />
<using prefix="system" namespace="BaseALT.Policies.System" />
</policyNamespaces>
<resources minRequiredRevision="1.0" />
<policies>
<policy class="Machine" displayName="$(string.org-xfce-thunar)"
explainText="$(string.org-xfce-thunar_help)"
key="Software\BaseALT\Policies\Polkit"
name="org.xfce.thunar"
valuename="org.xfce.thunar"
presentation="$(presentation.OrgXfceThunar-pr)">
<parentCategory ref="system:ALT_Polkit" />
<supportedOn ref="system:SUPPORTED_AltP10" />
<elements>
<enum id="OrgXfceThunar_setter" valueName="org.xfce.thunar" required="true">
<item displayName="$(string.org-xfce-thunar-No)">
<value>
<string>No</string>
</value>
</item>
<item displayName="$(string.org-xfce-thunar-Yes)">
<value>
<string>Yes</string>
</value>
</item>
<item displayName="$(string.org-xfce-thunar-Auth-self)">
<value>
<string>Auth_self</string>
</value>
</item>
<item displayName="$(string.org-xfce-thunar-Auth-admin)">
<value>
<string>Auth_admin</string>
</value>
</item>
<item displayName="$(string.org-xfce-thunar-Auth-self-keep)">
<value>
<string>Auth_self_keep</string>
</value>
</item>
<item displayName="$(string.org-xfce-thunar-Auth-admin-keep)">
<value>
<string>Auth_admin_keep</string>
</value>
</item>
</enum>
<boolean id="OrgXfceThunar_blocker" key="Software\BaseALT\Policies\PolkitLocks" valueName="org.xfce.thunar">
<trueValue>
<decimal value="1" />
</trueValue>
<falseValue>
<decimal value="0" />
</falseValue>
</boolean>
</elements>
</policy>
</policies>
</policyDefinitions>
ru-RU/MyPolkit.adml:
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitionResources xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions"
revision="1.0" schemaVersion="1.0">
<displayName>Определения политик Xfce</displayName>
<description>Этот файл содержит определения политик для управления Xfce.</description>
<resources>
<stringTable>
<string id="org-xfce-thunar">Ограничение возможности запуска Thunar от суперпользователя</string>
<string id="org-xfce-thunar_help">Политика управляет ограничением возможности запуска Thunar от суперпользователя
Отключено/Не сконфигурировано — ограничения определяются системными параметрами.
Включено — ограничение с установленными правами;
Возможные значения:
«No» — установить ограничение с запретом действия (пользователю не разрешено выполнять действие);
«Yes» — снять ограничение (пользователь может выполнять действие без какой-либо аутентификации);
«Auth_self» — пользователь должен ввести свой пароль для аутентификации.
Обратите внимание, этого уровня ограничения недостаточно для большинства
применений в многопользовательских системах, обычно рекомендуется «Auth_admin»;
«Auth_admin» — пользователь должен ввести пароль администратора при каждом запросе.
Требуется аутентификация пользователя с правами администратора;
«Auth_self_keep» — подобно «Auth_self», но авторизация сохраняется в течение
короткого периода времени (например, пять минут). Обратите внимание, этого уровня
ограничения недостаточно для большинства применений в многопользовательских системах, обычно рекомендуется «Auth_admin_keep»;
«Auth_admin_keep» — аналогично «Auth_admin», но авторизация сохраняется в течение
короткого периода времени (например, пять минут);
Примечание: обладание административными правами в контексте PolicyKit определяются его правилами.
По умолчанию в Альт запрашивается пароль пользователя, находящегося в группе «wheel».
Опция «Блокировать» — запрещает изменение данной настройки пользователем.
Блокировка политики делает её приоритетнее аналогичной политики для пользователя.
</string>
<string id="org-xfce-thunar-No">No</string>
<string id="org-xfce-thunar-Yes">Yes</string>
<string id="org-xfce-thunar-Auth-self">Auth_self</string>
<string id="org-xfce-thunar-Auth-admin">Auth_admin</string>
<string id="org-xfce-thunar-Auth-self-keep">Auth_self_keep</string>
<string id="org-xfce-thunar-Auth-admin-keep">Auth_admin_keep</string>
</stringTable>
<presentationTable>
<presentation id="OrgXfceThunar-pr">
<dropdownList noSort="true" defaultItem="1" refId="OrgXfceThunar_setter">Варианты ограничений
на запуск Thunar от суперпользователя:</dropdownList>
<checkBox refId="OrgXfceThunar_blocker">Блокировать настройку ограничений</checkBox>
</presentation>
</presentationTable>
</resources>
</policyDefinitionResources>
en-US/MyPolkit.adml:
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitionResources xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions"
revision="1.0" schemaVersion="1.0">
<displayName>ALT Xfce policies definitions</displayName>
<description>This file contains the Xfce service policies definitions used by ALT operating system.</description>
<resources>
<stringTable>
<string id="org-xfce-thunar">Run Thunar as root</string>
<string id="org-xfce-thunar_help">This policy grants or restricts permissions to run Thunar as root
Disabled/Not configured — Permissions are determined by system settings. Default is «Auth_admin»
Enabled — permission to mount with set rights;
Possible values:
"No" — block permissions (the user is not allowed to perform the action);
"Yes" — grant permissions (the user can perform the action without any authentication);
"Auth_self" — The user must enter their password to authenticate.
Note that this permission is not sufficient for most uses on multi-user systems,
the "Auth_admin" permission is generally recommended;
"Auth_admin" — The user must enter an administrator password on each request.
Requires user authentication with administrator rights;
"Auth_self_keep" — Similar to "Auth_self", but the authorization is kept for
a short period of time (for example, five minutes). Note that this permission
is not sufficient for most uses on multi-user systems, the "Auth_admin_keep" permission is generally recommended;
"Auth_admin_keep" — similar to "Auth_admin", but the authorization
is kept for a short period of time (for example, five minutes);
Note: the possession of administrative rights in the context of PolicyKit
is determined by its rules. By default, Alt asks for the password of the user in the "wheel" group.
The "Block" option prevents the user from changing this setting.
Blocking a policy makes it a priority over a similar policy for the user.
</string>
<string id="org-xfce-thunar-No">No</string>
<string id="org-xfce-thunar-Yes">Yes</string>
<string id="org-xfce-thunar-Auth-self">Auth_self</string>
<string id="org-xfce-thunar-Auth-admin">Auth_admin</string>
<string id="org-xfce-thunar-Auth-self-keep">Auth_self_keep</string>
<string id="org-xfce-thunar-Auth-admin-keep">Auth_admin_keep</string>
</stringTable>
<presentationTable>
<presentation id="OrgXfceThunar-pr">
<dropdownList noSort="true" defaultItem="1" refId="OrgXfceThunar_setter">Restriction options:</dropdownList>
<checkBox refId="OrgXfceThunar_blocker">Block</checkBox>
</presentation>
</presentationTable>
</resources>
</policyDefinitionResources>
MyPolkit.admx в каталог \\test.alt\sysvol\test.alt\Policies\PolicyDefinitions
ru-RU/MyPolkit.adml в каталог \\test.alt\sysvol\test.alt\Policies\PolicyDefinitions\ru-RU
en-US/MyPolkit.adml в каталог \\test.alt\sysvol\test.alt\Policies\PolicyDefinitions\en-US
MyPolkit.admx в каталог /usr/share/PolicyDefinitions
ru-RU/MyPolkit.adml в каталог /usr/share/PolicyDefinitions/ru-RU
en-US/MyPolkit.adml в каталог /usr/share/PolicyDefinitions/en-US

/var/lib/samba/sysvol/<DOMAIN>/Policies/).
[root@dc /]# samba-tool ntacl sysvolcheck
В случае ошибок, восстановить права:
[root@dc /]# samba-tool ntacl sysvolreset
Важно
Примечание




Примечание



Примечание

gpresult (на машинах Windows).
$ gpresult -v
# gpoa --loglevel 0
# gpoa --loglevel 0 <имя_пользователя>
Таблица 36.1. Коды ошибок
|
Код
|
Описание
|
Решение
|
|---|---|---|
|
E00001
|
Недостаточно прав для запуска программы
gpupdate
|
Необходимо повысить уровень привилегий. Может помочь запуск программы от имени администратора
|
|
E00002
|
Программа
gpupdate не будет запущена из-за предыдущих ошибок
|
|
|
E00003
|
Ошибка работы бэкэнда, которая привела к досрочному прекращению обработки групповых политик. Этот код характеризует серьёзные ошибки, которые обрабатываются на самом высоком уровне
|
Возможно, это ошибка в коде и необходимо создать отчет об ошибке, чтобы разработчики узнали о ней
|
|
E00004
|
Ошибка во время работы фронтенда
|
Высокоуровневая ошибка при инициализации фронтенда или во время работы appliers. С большой вероятностью может оказаться ошибкой в коде
|
|
E00005
|
Не получилось запустить appliers политик для обновления групповых политик компьютера
|
Необходимо проверить, что машина всё ещё в домене, демон oddjobd доступен через D-Bus и у пользователя достаточно прав для запуска ПО
|
|
E00006
|
Показать список доступных бэкэндов
|
Необходимо проверить, что машина всё ещё в домене, демон oddjobd доступен через D-Bus и у пользователя достаточно прав для запуска ПО
|
|
E00007
|
Невозможно инициализировать бэкэнд Samba в силу неполадок компонентов, связанных с Samba
|
Необходимо проверить инсталляцию Samba на машине, убедиться, что машина введена в домен и домен доступен
|
|
E00008
|
Невозможно инициализировать бэкэнд no-domain для выполнения процедуры бутстрапа групповых политик
|
Возможно, было произведено вмешательство в локальную политику или произошёл misconfiguration. Необходимо проверить целостность пакета local-policy и настройки домена в Alterator
|
|
E00009
|
Произошла ошибка при попытке запуска
adp
|
Необходимо обратиться к руководству по устранению неполадок проекта ADP
|
|
E00010
|
Произошёл сбой при попытке получить имя домена Active Directory
|
Необходимо проверить работу доменной службы имён (DNS), а также доступность доменного LDAP. Для доступа к LDAP необходим работоспособный Kerberos, так что стоит проверить и его конфигурацию
|
|
E00011
|
Во время работы applier с пониженным уровнем привилегий произошла неполадка
|
Возможно, что в используемой групповой политике заданы параметры, для установки которых требуются права администратора. Это необходимо проверить и исправить объект групповой политики соответственно
|
|
E00012
|
Высокоуровневая ошибка инициализации бэкэнда
|
Необходимо проверить наличие условий для запуска бэкэнда. В случае с Samba — удостовериться, что машина введена в домен
|
|
E00013
|
У пользователя, запустившего программу, недостаточно прав для обновления настроек машины
|
Необходимо запустить программу с правами администратора
|
|
E00014
|
Не прошла проверка наличия билета Kerberos. Билет Kerberos нужен для доступа к сервисам домена
|
Необходимо проверить конфигурацию Kerberos в файле
/etc/krb5.conf. Попытаться получить билет Kerberos вручную
|
|
E00015
|
Запрос на получение имени домена Active Directory через LDAP не прошёл
|
Необходимо проверить возможность получения Kerberos ticket для машины. Проверить работу DNS и возможность обратиться к доменному LDAP
|
|
E00016
|
Утилита
wbinfo не отдаёт SID для пользователя, для которого выполняется обновление групповых политик
|
Необходимо проверить целостность программы
wbinfo. Проверить, что машина введена в домен
|
|
E00017
|
Невозможно получить список групповых политик для репликации на используемое имя пользователя
|
Следует удостовериться, что пользователь для которого происходит попытка получить список групповых политик, существует в домене. Необходимо также удостовериться, что проблема не вызвана misconfiguration домена
|
|
E00018
|
Не получилось прочитать содержимое настройки XDG_DESKTOP_DIR
|
Необходимо удостовериться, что XDG в системе сконфигурирован корректно и пользователь, для которого вычитывается настройка, существует
|
|
E00019
|
Произошла ошибка во время работы applier для пользователя
|
Необходимо удостовериться, что это не misconfiguration в используемой GPO. Возможно это ошибка. В таком случае необходимо создать отчет об ошибке, чтобы разработчики узнали о ней
|
|
E00020
|
Произошла ошибка во время работы applier для пользователя с пониженными привилегиями
|
Необходимо удостовериться, что это не misconfiguration в используемой GPO. Возможно это ошибка. В таком случае необходимо создать отчет об ошибке, чтобы разработчики узнали о ней
|
|
E00021
|
Не был получен ответ от D-Bus при попытке запустить
gpoa для текущего пользователя
|
Следует удостовериться, что D-Bus работает корректно и демон oddjobd запущен. Необходимо удостовериться, что у текущего пользователя достаточно прав для обращения к D-Bus
|
|
E00022
|
Не был получен ответ от D-Bus при попытке запустить
gpoa для машины
|
Необходимо удостовериться, что D-Bus работает корректно и демон oddjobd запущен
|
|
E00023
|
Не был получен ответ от D-Bus при попытке запустить
gpoa для пользователя
|
Следует удостовериться, что D-Bus работает корректно и демон oddjobd запущен. Необходимо удостовериться, что у текущего пользователя достаточно прав для обращения к D-Bus
|
|
E00024
|
Ошибка во время работы машинного applier
|
Необходимо проверить настройки applier вручную, чтобы убедиться, что соответствующая часть ОС не поломана
|
|
E00025
|
Ошибка во время инициализации пользовательского applier
|
Необходимо проверить, что машина является частью домена и контроллер домена доступен. Следует удостовериться, что пользователь существует и что соответствующая часть ОС не поломана
|
|
E00026
|
Ошибка слияния машинной групповой политики
|
Необходимо очистить кеш gpupdate
|
|
E00027
|
Ошибка слияния пользовательской групповой политики
|
Необходимо очистить кеш gpupdate
|
|
E00028
|
Ошибка слияния машинной части групповой политики
|
Необходимо очистить кеш gpupdate
|
|
E00029
|
Ошибка слияния пользовательской части групповой политики
|
Необходимо очистить кеш gpupdate
|
|
E00030
|
Ошибка при запуске процесса с пониженным уровнем привилегий в контексте пользователя
|
Необходимо проверить наличие домашнего каталога пользователя, для которого выполняется
gpupdate
|
|
E00042
|
Не входит в возможные значения для control
|
Ошибка возникает в случае некорректного целочисленного типа данных, прописанного в шаблонах групповых политик (ADMX-файлах)
|
|
E00055
|
Ошибка при запуске
pkcon_runner синхронно для компьютера
|
Необходимо проверить наличие в системе и корректность файла
pkcon_runner
|
|
E00056
|
Ошибка запуска
apt-get update
|
Необходимо проверить подключение к сети и корректность репозиториев, отсутствие подключённых дополнительных репозиториев
|
|
E00057
|
Ошибка установки пакета
|
Необходимо проверить наличие пакета в репозиториях, правильность имени пакета, наличие подключения к сети и наличие в системе пакета packagekit
|
|
E00058
|
Ошибка удаления пакета
|
Вероятно, пакет не установлен в систему или в системе отсутствует пакет packagekit
|
|
E00059
|
Не входит в возможные значения для control
|
Ошибка возникает в случае некорректного строкового типа данных, прописанного в шаблонах групповых политик (ADMX-файлах)
|
|
E00060
|
Ошибка при запуске
pkcon_runner синхронно для пользователя
|
Необходимо проверить наличие в системе и корректность файла
pkcon_runner
|
|
E00061
|
Ошибка при запуске
pkcon_runner асинхронно для компьютера
|
Необходимо проверить наличие в системе и корректность файла
pkcon_runner
|
|
E00062
|
Ошибка при запуске
pkcon_runner асинхронно для пользователя
|
Необходимо проверить наличие в системе и корректность файла
pkcon_runner
|
|
E00067
|
Ошибка создания переменных среды
|
Необходимо убедиться в наличии переменных окружения: XDG_DATA_DIRS, XDG_RUNTIME_DIR, DBUS_SESSION_BUS_ADDRESS, PATH
|
|
E00068
|
Ошибка выполнения команды
kwriteconfig5
|
Необходимо убедиться, что установлен пакет kf5-kconfig
|
# gpupdate-setup status
# systemctl status gpupdate-scripts-run.service
# ls -Rl /var/cache/gpupdate_scripts_cache/
$ systemctl --user status gpupdate-scripts-run-user.service
# gpoa --loglevel 0
Предупреждение

foreignSecurityPrincipal для всех добавленных пользователей и групп из доверенного домена. Таким образом Microsoft показывает, что пользователь или группа являются частью доверенного домена;
[global] в файла smb.conf на Linux-клиентах, подключенных через Winbind, добавить опцию:
winbind scan trusted domains = yesи перезапустить сервис winbind:
# systemctl restart winbind.service
samba-tool domain trust validate);
Примечание
samba-tool.
Таблица 37.1. Команды управления доверием
|
Команда
|
Описание
|
Примечание
|
|---|---|---|
|
domain trust create <домен>
|
Создать доверие домена или леса
|
Можно использовать следующие опции:
|
|
domain trust modify <домен>
|
Изменить доверие домена или леса
|
|
|
domain trust delete <домен>
|
Удалить доверие домена или леса
|
Можно использовать следующие опции:
|
|
domain trust list
|
Вывести список доверительных отношений домена
|
|
|
domain trust show <домен>
|
Показать сведения о доверенном домене
|
|
|
domain trust validate <домен>
|
Проверить доверие к домену
|
Можно использовать следующие опции:
|
Примечание
/etc/bind/options.conf:
options {
forwarders { 8.8.8.8; };
};
/etc/bind/options.conf:
zone "trust.dom" {
type forward;
forwarders { 10.64.224.10; };
};
Таблица 38.1. Исходные данные
| |
Имя домена
|
Контроллер домена
|
IP-адрес
|
ОС контроллера домена
|
Версия Samba
|
|---|---|---|---|---|---|
|
Домен Linux
|
TEST.ALT
|
dc1.test.alt
|
192.168.0.132
|
ALT Server 11
|
4.21.7-alt4
|
|
Домен Linux
|
EXAMPLE.ALT
|
s1.example.alt
|
192.168.0.172
|
ALT Server 11
|
4.21.7-alt4
|
|
Выделенный DNS-сервер
|
|
|
192.168.0.150
|
ALT Server 11
|
|
/etc/bind/options.conf:
zone "example.alt" {
type forward;
forwarders { 192.168.0.172; };
};
zone "test.alt" {
type forward;
forwarders { 192.168.0.132; };
};
# systemctl restart bind.service
Примечание
/etc/bind/options.conf в секцию options добавить параметр:
dnssec-validation no;И перезапустить службу DNS:
# systemctl restart bind.service
/etc/samba/smb.conf (в параметре dns forwarder). Например:
dns forwarder = 192.168.0.150 8.8.8.8
# systemctl restart samba
/etc/bind/options.conf:
options добавить параметр:
dnssec-validation no;
/etc/bind/options.conf (или /etc/bind/ddns.conf) добавить информацию о зонах:
zone "example.alt" {
type forward;
forwarders { 192.168.0.172; };
};
zone "test.alt" {
type forward;
forwarders { 192.168.0.132; };
};
# systemctl restart bind.service
#host -t srv _kerberos._tcp.example.alt_kerberos._tcp.example.alt has SRV record 0 100 88 s1.example.alt. #host -t srv _kerberos._tcp.test.alt_kerberos._tcp.test.alt has SRV record 0 100 88 dc1.test.alt.
#host -t srv _kerberos._tcp.example.alt_kerberos._tcp.example.alt has SRV record 0 100 88 s1.example.alt. #host -t srv _kerberos._tcp.test.alt_kerberos._tcp.test.alt has SRV record 0 100 88 dc1.test.alt.
#kinit administrator@EXAMPLE.ALTPassword for administrator@EXAMPLE.ALT: #klistTicket cache: KEYRING:persistent:0:krb_ccache_eFyZ8Tr Default principal: administrator@EXAMPLE.ALT Valid starting Expires Service principal 16.06.2025 12:12:06 16.06.2025 22:12:06 krbtgt/EXAMPLE.ALT@EXAMPLE.ALT renew until 23.06.2025 12:12:02
#kinit administrator@TEST.ALTPassword for administrator@TEST.ALT: #klistTicket cache: FILE:/tmp/krb5cc_0 Default principal: administrator@TEST.ALT Valid starting Expires Service principal 16.06.2025 12:13:30 16.06.2025 22:13:30 krbtgt/TEST.ALT@TEST.ALT renew until 23.06.2025 12:13:26
Важно
Таблица 38.2. Исходные данные
| |
Имя домена
|
Контроллер домена
|
IP-адрес
|
ОС
|
Уровень работы домена
|
Версия Samba
|
|---|---|---|---|---|---|---|
|
Домен Linux
|
TEST.ALT
|
dc1.test.alt
|
192.168.0.132
|
ALT Server 11
|
2012_R2
|
4.21.7-alt4
|
|
Домен Windows
|
WIN.ALT
|
DC1.win.alt
|
192.168.0.190
|
Windows Server 2012
|
2012R2
|
|
|
Выделенный DNS-сервер
|
|
|
192.168.0.150
|
ALT Server 11
|
|
|

C:\> dnscmd 127.0.0.1 /ZoneAdd test.alt /Forwarder 192.168.0.132
DNS Server 127.0.0.1 created zone test.alt:
Command completed successfully
Или выполнить следующую команду в сеансе PowerShell для настройки пересылки DNS:
PS C:\Windows\system32> Add-DnsServerConditionalForwarderZone -Name test.alt -MasterServers 192.168.0.132 -ReplicationScope Forest
/etc/bind/options.conf (или /etc/bind/ddns.conf) строки:
zone "win.alt" {
type forward;
forwarders { 192.168.0.190; };
};
И перезапустить службу DNS:
# systemctl restart bind.service
Примечание
/etc/bind/options.conf в секцию options добавить параметр:
dnssec-validation no;И перезапустить службу DNS:
# systemctl restart bind.service
/etc/samba/smb.conf (в параметре dns forwarder), например:
dns forwarder = 192.168.0.150 8.8.8.8
# systemctl restart samba
/etc/bind/options.conf:
options добавить параметр:
dnssec-validation no;
zone "win.alt" {
type forward;
forwarders { 192.168.0.190; };
};
# systemctl restart bind.service
#dig +short -t SRV _kerberos._udp.test.alt0 100 88 dc1.test.alt. #dig +short -t SRV _ldap._tcp.test.alt0 100 389 dc1.test.alt.
#dig +short -t SRV _kerberos._tcp.dc._msdcs.win.alt0 100 88 dc1.win.alt. #dig +short -t SRV _ldap._tcp.dc._msdcs.win.alt0 100 389 dc1.win.alt.
#kinit administrator@WIN.ALTPassword for administrator@WIN.ALT: #klistTicket cache: FILE:/tmp/krb5cc_0 Default principal: administrator@WIN.ALT Valid starting Expires Service principal 17.06.2025 11:55:15 17.06.2025 21:55:15 krbtgt/WIN.ALT@WIN.ALT renew until 24.06.2025 11:55:08
C:\>nslookup.exe>set type=SRV
>_kerberos._udp.test.alt_kerberos._udp.test.alt SRV service location: priority = 0 weight = 100 port = 88 svr hostname = dc1.test.alt … test.alt primary name server = dc1.test.alt responsible mail addr = hostmaster.test.alt serial = 7 refresh = 900 (15 mins) retry = 600 (10 mins) expire = 86400 (1 days) default TTL = 3600 (1 hours) >_ldap._tcp.test.alt_ldap._tcp.test.alt SRV service location: priority = 0 weight = 100 port = 389 svr hostname = dc1.test.alt …
# samba-tool domain trust create <домен> --type=<тип доверия>
--direction=<направление> --create-location=<место создания> -U <пользователь>
Где:
<домен> — имя удалённого домена, с которым создаётся доверие;
<тип доверия> — определяет тип доверия:
external — используется для внешнего доверия между доменами, не находящимися в одном лесу. Рекомендуется, если для Linux-клиентов используется SSSD;
forest — используется для создания доверия между лесами доменов, включая все их дочерние домены. Рекомендуется, если для Linux-клиентов используется Winbind;
--direction=<направление> — определяет направление доверия:
incoming — доверие только со стороны удалённого домена к текущему;
outgoing — доверие только от текущего домена к удалённому;
both — двустороннее доверие;
--create-location=<место создания> — указывает место создания доверительного отношения:
local — объект доверенного домена будет создан только в локальном домене, доверительные отношения будут зарегистрированы и настроены только со стороны текущего домена, без внесения изменений в конфигурацию удаленного домена;
both — объект доверенного домена будет создан в обоих доменах;
-U <пользователь> — имя пользователя с правами администратора для удалённого домена.
# samba-tool domain trust create EXAMPLE.ALT --type=forest \
--direction=both --create-location=both -U administrator@EXAMPLE.ALT
LocalDomain Netbios[TEST] DNS[test.alt] SID[S-1-5-21-1455776928-3410124986-2843404052]
RemoteDC Netbios[S1] DNS[s1.example.alt] ServerType[PDC,GC,LDAP,DS,KDC,TIMESERV,CLOSEST,WRITABLE,GOOD_TIMESERV,FULL_SECRET_DOMAIN_6]
Password for [administrator@EXAMPLE.ALT]:
RemoteDomain Netbios[EXAMPLE] DNS[example.alt] SID[S-1-5-21-3274802069-598906262-3677769431]
Creating remote TDO.
Remote TDO created.
Setting supported encryption types on remote TDO.
Creating local TDO.
Local TDO created
Setting supported encryption types on local TDO.
Setup local forest trust information...
Namespaces[2] TDO[example.alt]:
TLN: Status[Enabled] DNS[*.example.alt]
DOM: Status[Enabled] DNS[example.alt] Netbios[EXAMPLE] SID[S-1-5-21-3274802069-598906262-3677769431]
Setup remote forest trust information...
Namespaces[2] TDO[test.alt]:
TLN: Status[Enabled] DNS[*.test.alt]
DOM: Status[Enabled] DNS[test.alt] Netbios[TEST] SID[S-1-5-21-1455776928-3410124986-2843404052]
Validating outgoing trust...
OK: LocalValidation: DC[\\s1.example.alt] CONNECTION[WERR_OK] TRUST[WERR_OK] VERIFY_STATUS_RETURNED
Validating incoming trust...
OK: RemoteValidation: DC[\\dc1.test.alt] CONNECTION[WERR_OK] TRUST[WERR_OK] VERIFY_STATUS_RETURNED
Success
Важно
external, а не forest.
[root@dc1 ~]# samba-tool domain trust show EXAMPLE.ALT
LocalDomain Netbios[TEST] DNS[test.alt] SID[S-1-5-21-1455776928-3410124986-2843404052]
TrustedDomain:
NetbiosName: EXAMPLE
DnsName: example.alt
SID: S-1-5-21-3274802069-598906262-3677769431
Type: 0x2 (UPLEVEL)
Direction: 0x3 (BOTH)
Attributes: 0x8 (FOREST_TRANSITIVE)
PosixOffset: 0x00000000 (0)
kerb_EncTypes: 0x18 (AES128_CTS_HMAC_SHA1_96,AES256_CTS_HMAC_SHA1_96)
Namespaces[2] TDO[example.alt]:
TLN: Status[Enabled] DNS[*.example.alt]
DOM: Status[Enabled] DNS[example.alt] Netbios[EXAMPLE] SID[S-1-5-21-3274802069-598906262-3677769431]
[root@s1 ~]# samba-tool domain trust show TEST.ALT
LocalDomain Netbios[EXAMPLE] DNS[example.alt] SID[S-1-5-21-3274802069-598906262-3677769431]
TrustedDomain:
NetbiosName: TEST
DnsName: test.alt
SID: S-1-5-21-1455776928-3410124986-2843404052
Type: 0x2 (UPLEVEL)
Direction: 0x3 (BOTH)
Attributes: 0x8 (FOREST_TRANSITIVE)
PosixOffset: 0x00000000 (0)
kerb_EncTypes: 0x18 (AES128_CTS_HMAC_SHA1_96,AES256_CTS_HMAC_SHA1_96)
Namespaces[2] TDO[test.alt]:
TLN: Status[Enabled] DNS[*.test.alt]
DOM: Status[Enabled] DNS[test.alt] Netbios[TEST] SID[S-1-5-21-1455776928-3410124986-2843404052]
[root@dc1 ~]# samba-tool domain trust list
Type[Forest] Transitive[Yes] Direction[BOTH] Name[example.alt]
[root@dc1 ~]# samba-tool domain trust validate EXAMPLE.ALT -Uadministrator@EXAMPLE.ALT
LocalDomain Netbios[TEST] DNS[test.alt] SID[S-1-5-21-1455776928-3410124986-2843404052]
LocalTDO Netbios[EXAMPLE] DNS[example.alt] SID[S-1-5-21-3274802069-598906262-3677769431]
OK: LocalValidation: DC[\\s1.example.alt] CONNECTION[WERR_OK] TRUST[WERR_OK] VERIFY_STATUS_RETURNED
OK: LocalRediscover: DC[\\s1.example.alt] CONNECTION[WERR_OK]
RemoteDC Netbios[S1] DNS[s1.example.alt] ServerType[PDC,GC,LDAP,DS,KDC,TIMESERV,CLOSEST,WRITABLE,GOOD_TIMESERV,FULL_SECRET_DOMAIN_6]
Password for [administrator@EXAMPLE.ALT]:
OK: RemoteValidation: DC[\\dc1.test.alt] CONNECTION[WERR_OK] TRUST[WERR_OK] VERIFY_STATUS_RETURNED
OK: RemoteRediscover: DC[\\dc1.test.alt] CONNECTION[WERR_OK]
--create-location=both в samba-tool), оно настраивается сразу на обеих сторонах. В этом случае достаточно выполнить настройку только на одной стороне.
samba-tool domain trust create.








Примечание







# samba-tool domain trust create win.alt --type=forest \
--direction=both --create-location=both -Uadministrator@WIN
При появлении запроса необходимо ввести пароль администратора.
Важно
external, а не forest.
LocalDomain Netbios[TEST] DNS[test.alt] SID[S-1-5-21-3848605173-1839566900-710408900] RemoteDC Netbios[DC1] DNS[DC1.win.alt] ServerType[PDC,GC,LDAP,DS,KDC,TIMESERV,CLOSEST,WRITABLE,GOOD_TIMESERV,FULL_SECRET_DOMAIN_6,ADS_WEB_SERVICE,DS_8,__unknown_00008000__] Password for [administrator@WIN]: RemoteDomain Netbios[WIN] DNS[win.alt] SID[S-1-5-21-212759798-1661061060-862600140] Creating local TDO. Local TDO created Setting supported encryption types on local TDO. Setup local forest trust information... Namespaces[2] TDO[win.alt]: TLN: Status[Enabled] DNS[*.win.alt] DOM: Status[Enabled] DNS[win.alt] Netbios[WIN] SID[S-1-5-21-212759798-1661061060-862600140] Validating outgoing trust... OK: LocalValidation: DC[\\DC1.win.alt] CONNECTION[WERR_OK] TRUST[WERR_OK] VERIFY_STATUS_RETURNED Validating incoming trust… OK: RemoteValidation: DC[\\dc1.test.alt] CONNECTION[WERR_OK] TRUST[WERR_OK] VERIFY_STATUS_RETURNED Success.
--create-location=both на --create-location=local. В этом случае Samba DC сначала запросит пароли доверия (Incoming и Outgoing Trust Password), созданные ранее в Windows:
# samba-tool domain trust create win.alt --type=forest \
--direction=both --create-location=local -Uadministrator@WIN
New Incoming Trust Password:
Retype Incoming Trust Password:
New Outgoing Trust Password:
Retype Outgoing Trust Password:
LocalDomain Netbios[TEST] DNS[test.alt] SID[S-1-5-21-3848605173-1839566900-710408900]
RemoteDC Netbios[DC1] DNS[DC1.win.alt] ServerType[PDC,GC,LDAP,DS,KDC,TIMESERV,…]
Password for [administrator@WIN]:
…
# samba-tool domain trust show WIN.ALT
LocalDomain Netbios[TEST] DNS[test.alt] SID[S-1-5-21-3848605173-1839566900-710408900]
TrustedDomain:
NetbiosName: WIN
DnsName: win.alt
SID: S-1-5-21-212759798-1661061060-862600140
Type: 0x2 (UPLEVEL)
Direction: 0x3 (BOTH)
Attributes: 0x8 (FOREST_TRANSITIVE)
PosixOffset: 0x00000000 (0)
kerb_EncTypes: 0x18 (AES128_CTS_HMAC_SHA1_96,AES256_CTS_HMAC_SHA1_96)
Namespaces[2] TDO[win.alt]:
TLN: Status[Enabled] DNS[*.win.alt]
DOM: Status[Enabled] DNS[win.alt] Netbios[WIN] SID[S-1-5-21-212759798-1661061060-862600140]
# samba-tool domain trust list
Type[Forest] Transitive[Yes] Direction[BOTH] Name[win.alt]
# samba-tool domain trust validate win.alt -Uadministrator@WIN
LocalDomain Netbios[TEST] DNS[test.alt] SID[S-1-5-21-3848605173-1839566900-710408900]
LocalTDO Netbios[WIN] DNS[win.alt] SID[S-1-5-21-212759798-1661061060-862600140]
OK: LocalValidation: DC[\\DC1.win.alt] CONNECTION[WERR_OK] TRUST[WERR_OK] VERIFY_STATUS_RETURNED
OK: LocalRediscover: DC[\\DC1.win.alt] CONNECTION[WERR_OK]
RemoteDC Netbios[DC1] DNS[DC1.win.alt] ServerType[PDC,GC,LDAP,DS,KDC,TIMESERV,CLOSEST,WRITABLE,GOOD_TIMESERV,FULL_SECRET_DOMAIN_6,ADS_WEB_SERVICE,DS_8,__unknown_00008000__]
Password for [administrator@WIN]:
OK: RemoteValidation: DC[\\dc2.test.alt] CONNECTION[WERR_OK] TRUST[WERR_OK] VERIFY_STATUS_RETURNED
OK: RemoteRediscover: DC[\\dc2.test.alt] CONNECTION[WERR_OK]
Примечание
wbinfo нельзя получить список пользователей и групп из доверяющего домена, можно получить список пользователей и групп только из своего домена. Пример получения списка пользователей:
#wbinfo -u --domain=EXAMPLE.ALT#wbinfo -u --domain=TEST.ALTTEST\administrator TEST\guest TEST\krbtgt TEST\dns-dc1 TEST\ivanov
#wbinfo -u --domain=EXAMPLE.ALTEXAMPLE\administrator EXAMPLE\guest EXAMPLE\krbtgt EXAMPLE\dns-s1 EXAMPLE\kim #wbinfo -u --domain=TEST.ALT
samba-tool. Пример получения списка пользователей из обоих доменов на контроллере домена dc1.test.alt:
#samba-tool user list -H ldap://s1 -Uadministrator@EXAMPLE.ALTPassword for [administrator@EXAMPLE.ALT]: dns-s1 krbtgt Administrator Guest kim #samba-tool user list -H ldap://dc1 -Uadministrator@TEST.ALTPassword for [administrator@TEST.ALT]: dns-dc1 krbtgt Guest Administrator ivanov
# wbinfo --all-domains
BUILTIN
TEST
EXAMPLE
# wbinfo --own-domain
TEST
# wbinfo --trusted-domains
BUILTIN
TEST
EXAMPLE
# wbinfo --online-status
BUILTIN : active connection
TEST : active connection
EXAMPLE : active connection
#wbinfo -n TEST\\ivanovS-1-5-21-1455776928-3410124986-2843404052-1105 SID_USER (1) #wbinfo -n EXAMPLE\\kimS-1-5-21-3274802069-598906262-3677769431-1104 SID_USER (1) #wbinfo -n TEST\\officeS-1-5-21-1455776928-3410124986-2843404052-1107 SID_DOM_GROUP (2) #wbinfo -n EXAMPLE\\office2S-1-5-21-3274802069-598906262-3677769431-1107 SID_DOM_GROUP (2) #wbinfo -i TEST\\ivanovTEST.ALT\ivanov:*:3000022:100::/home/TEST.ALT/ivanov:/bin/false #wbinfo -i EXAMPLE\\kimEXAMPLE\kim:*:3000020:3000021::/home/EXAMPLE/kim:/bin/false
wbinfo можно протестировать процесс аутентификации разных пользователей из обоих доменов.
wbinfo попытается авторизовать пользователя. Первой проверкой будет аутентификация по паролю с открытым текстом. Этот тип аутентификации применяется, когда пользователь входит в систему локально (plaintext не означает, что пароль будет отправлен без шифрования, это просто название процесса входа в систему). Вторая проверка — аутентификация по паролю запрос/ответ. Этот тип аутентификации использует NTLM или Kerberos.
#wbinfo -a TEST\\ivanovEnter TEST\ivanov's password: plaintext password authentication succeeded Enter TEST\ivanov's password: challenge/response password authentication succeeded #wbinfo -a EXAMPLE\\kimEnter EXAMPLE\kim's password: plaintext password authentication succeeded Enter EXAMPLE\kim's password: challenge/response password authentication succeeded
#wbinfo --ping-dcchecking the NETLOGON for domain[TEST] dc connection to "dc1.test.alt" succeeded #wbinfo --ping-dc --domain=EXAMPLE.ALTchecking the NETLOGON for domain[EXAMPLE.ALT] dc connection to "s1.example.alt" succeeded
#wbinfo -n EXAMPLE\\kimS-1-5-21-3274802069-598906262-3677769431-1104 SID_USER (1) #samba-tool group addmembers office S-1-5-21-3274802069-598906262-3677769431-1104Added members to group office #wbinfo -n EXAMPLE\\office2S-1-5-21-3274802069-598906262-3677769431-1107 SID_DOM_GROUP (2) #samba-tool group addmembers office S-1-5-21-3274802069-598906262-3677769431-1107Added members to group office #samba-tool group listmembers officeS-1-5-21-3274802069-598906262-3677769431-1104 ivanov S-1-5-21-3274802069-598906262-3677769431-1107


Лес), то рабочую станцию с ОС Альт следует вводить в домен через Winbind (см. Подключение к домену с использованием Winbind).
smb.conf установить ID-маппинг для обоих доменов (backend = rid/tdb).
smb.conf на машине введённой в домен example.alt:
[global]
security = ads
realm = EXAMPLE.ALT
workgroup = EXAMPLE
netbios name = WORK1
template shell = /bin/bash
kerberos method = system keytab
wins support = no
winbind use default domain = yes
winbind enum users = no
winbind enum groups = no
template homedir = /home/EXAMPLE.ALT/%U
winbind refresh tickets = yes
winbind offline logon = yes
idmap config * : range = 3000-7999
idmap config * : backend = tdb
idmap config EXAMPLE : backend = rid
idmap config EXAMPLE : range = 10000-999999
idmap config TEST : backend = rid
idmap config TEST : range = 1000000-9999999
smbd и winbind можно проверить, есть ли возможность просматривать пользователей из обоих доменов:
# net rpc trustdom list -Uadministrator
Password for [EXAMPLE\administrator]:
Trusted domains list:
TEST S-1-5-21-1455776928-3410124986-2843404052
Trusting domains list:
TEST S-1-5-21-1455776928-3410124986-2843404052
winbind можно получить информацию о пользователях из обоих доменов и проверить доступность доменов:
#wbinfo -n TEST\\ivanovS-1-5-21-1455776928-3410124986-2843404052-1105 SID_USER (1) #wbinfo -n EXAMPLE\\kimS-1-5-21-3274802069-598906262-3677769431-1104 SID_USER (1)
getent:
#getent group TEST\\officeTEST\office:*:1001106: #getent group EXAMPLE\\office2office2:*:11107: #getent passwd TEST\\ivanovTEST\ivanov:*:1001105:1000513::/home/EXAMPLE.ALT/ivanov:/bin/bash #getent passwd EXAMPLE\\kimkim:*:11125:10001:Олег Ким:/home/EXAMPLE.ALT/kim:/bin/bash
Примечание

$ssh TEST\\ivanov@192.168.0.126TEST\ivanov@192.168.0.126's password: [TEST\ivanov@work1 ~]$ exit выход Connection to 192.168.0.126 closed. $ssh EXAMPLE\\kim@192.168.0.126EXAMPLE\kim@192.168.0.126's password: [kim@work1 ~]$ exit выход Connection to 192.168.0.126 closed.
/etc/sssd/sssd.conf);
# samba-tool domain trust list
Type[External] Transitive[No] Direction[BOTH] Name[example.alt]
ldap_idmap_range_min — нижняя граница диапазона идентификаторов (включительно);
ldap_idmap_range_max — верхняя граница диапазона идентификаторов (не включительно);
ldap_idmap_range_size — количество идентификаторов, доступных для каждого среза. Значение должно быть не меньше максимального RID пользователя, планируемого к использованию в домене AD.
EXAMPLE.ALT необходимо добавить в файл /etc/sssd/sssd.conf строки:
[domain/TEST.ALT/EXAMPLE.ALT] use_fully_qualified_names = falseПосле внесения изменений перезапустить службу SSSD:
# systemctl restart sssd
Примечание
[domain/ОСНОВНОЙ_ДОМЕН/ДОВЕРЕННЫЙ_ДОМЕН] для переопределения параметров конкретного доверенного домена. Такой формат поддерживается при наличии настроенного доверия между доменами.
[domain/TEST.ALT/EXAMPLE.ALT]:
Примечание
use_fully_qualified_names определяет формат имён, возвращаемых NSS:
пользователь@домен;
sssd можно проверить возможность получения информации о пользователях из обоих доменов:
#getent passwd ivanovivanov:*:1855401105:1855400513:Иван Иванов:/home/TEST.ALT/ivanov:/bin/bash #getent passwd kimkim@example.alt:*:829801104:829801104:Виталий Ким:/home/example.alt/kim:/bin/bash
sssctl можно вывести список всех доменов, с которыми клиентская машина может взаимодействовать, а также их статусы:
#sssctl domain-listEXAMPLE.ALT TEST.ALT #sssctl domain-status EXAMPLE.ALTOnline status: Online Active servers: AD Global Catalog: s1.example.alt AD Domain Controller: s1.example.alt Discovered AD Global Catalog servers: - s1.example.alt Discovered AD Domain Controller servers: - s1.example.alt
/etc/sssd/sssd.conf в секцию основного домена можно вписать:
krb5_validate = false
Важно
krb5_validate = false) снижает безопасность и должно использоваться только для диагностики.
#samba-tool user create --random-password sssd-trust#samba-tool user setexpiry sssd-trust --noexpiry
# samba-tool domain exportkeytab /tmp/sssd-trust.keytab --principal=sssd-trust
keytab на клиентские машины, например, с помощью групповой политики Управление файлами.
Важно
keytab не на контроллере домена, а на выделенном файловом сервере или доменной клиентской машине, чтобы минимизировать риски.
/etc/sssd/sssd.conf параметры:
ldap_sasl_authid = sssd-trust@REALM ldap_krb5_keytab = /path/to/keytab krb5_keytab = /path/to/keytabЭти параметры можно также задать через групповую политику Управление INI-файлами.
Таблица 41.1. Исходные данные
|
Домен
|
Контроллер домена
|
Клиентская машина
|
|---|---|---|
|
TEST.ALT
|
dc1.test.alt
|
ws.test.alt
|
|
EXAMPLE.ALT
|
s1.example.alt
|
ws.example.alt
|
# samba-tool domain trust list
Type[External] Transitive[No] Direction[OUTGOING] Name[example.alt]
Домен TEST.ALT доверяет домену EXAMPLE.ALT и пользователи из EXAMPLE.ALT должны иметь возможность проходить аутентификацию на клиентах, входящих в домен TEST.ALT.
#samba-tool user create --random-password sssd-trust#samba-tool user setexpiry sssd-trust --noexpiry#samba-tool domain exportkeytab /tmp/sssd-trust.keytab --principal=sssd-trust
sssd-trust.keytab на машину ws.example.alt.
sssd-trust.keytab с машины ws.example.alt на все клиентские машины домена TEST.ALT:

Примечание
[global] файла /etc/samba/smb.conf было указано:
map to guest = Bad UserЭто позволит клиентам из TEST.ALT подключаться к общей папке без аутентификации.
/etc/sssd/sssd.conf на всех клиентах TEST.ALT параметров:
ldap_sasl_authid = sssd-trust@EXAMPLE.ALT ldap_krb5_keytab = /etc/sssd-trust.keytab krb5_keytab = /etc/sssd-trust.keytabПример настройки параметра
ldap_sasl_authid:

sssd-trust.keytab и соответствующие параметры в /etc/sssd/sssd.conf.
#systemctl restart sssd.service#getent passwd EXAMPLE\\kimkim@example.alt:*:915401106:915401106:kim:/home/example.alt/kim:/bin/bash
# systemctl stop sssd.service
#rm -f /var/lib/sss/db/*#rm -f /var/lib/sss/mc/*#rm -f /var/lib/sss/pubconf/krb5.include.d/*#rm -f /var/lib/sss/pubconf/*#rm -f /var/lib/sss/secrets/*
# systemctl start sssd.service
# net ads keytab create
# systemctl restart sssd.service
# id EXAMPLE\\kim uid=1001103(EXAMPLE\kim) gid=1000513(EXAMPLE\domain users) группы=1000513(EXAMPLE\domain users),1001103(EXAMPLE\kim)Пользователь не состоит в группе users, поэтому лишён доступа к периферийным устройствам.
Примечание
# roleadd "EXAMPLE\\domain users" users # roleadd "EXAMPLE\\domain admins" localadminsПроверка:
# id EXAMPLE\\kim uid=1001103(EXAMPLE\kim) gid=1000513(EXAMPLE\domain users) группы=1000513(EXAMPLE\domain users),1001103(EXAMPLE\kim),100(users),36(vmusers),948(usershares),80(cdwriter),22(cdrom),81(audio),995(video),19(proc),83(radio),970(camera),71(floppy),961(xgrp),962(scanner),14(uucp),974(fuse),959(vboxadd),958(vboxsf)Теперь пользователь состоит в группе users и имеет доступ к устройствам.
Важно
roleadd используется имя группы в том виде, в котором оно отображается в домене (учитывая локализацию, если необходимо).
# roleadd "пользователи домена" users # roleadd "администраторы домена" localadmins
# roleadd "WIN\\пользователи домена" users # roleadd "WIN\\администраторы домена" localadmins
# samba-tool domain trust delete EXAMPLE.ALT -U administrator@EXAMPLE.ALT
LocalDomain Netbios[TEST] DNS[test.alt] SID[S-1-5-21-1455776928-3410124986-2843404052]
RemoteDC Netbios[S1] DNS[s1.example.alt] ServerType[PDC,GC,LDAP,DS,KDC,TIMESERV,CLOSEST,WRITABLE,GOOD_TIMESERV,FULL_SECRET_DOMAIN_6]
Password for [administrator@EXAMPLE.ALT]:
RemoteDomain Netbios[EXAMPLE] DNS[example.alt] SID[S-1-5-21-3274802069-598906262-3677769431]
RemoteTDO deleted.
# samba-tool domain trust list




Содержание
user и group утилиты samba-tool.
Примечание
-H или --URL= с указанием URI LDAP-сервера. Например:
# samba-tool user add domainuser Qwerty1 -H ldap://<DC> -Uadministrator
По умолчанию в качестве значения опции -H передается текущий узел в формате ldap://<имя узла>.
Таблица 43.1. Команды samba-tool для управления пользователями домена
|
Команда
|
Описание
|
Примечание
|
|---|---|---|
|
user add <имя пользователя> [<пароль>] [опции]
|
Создать нового пользователя
|
Переданное в команде значение <имя пользователя> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName). Оно должно быть уникальным.
Некоторые опции:
|
|
user create <имя пользователя> [<пароль>] [опции]
|
Создать нового пользователя
|
Команда доступна только в целях совместимости. Вместо этой команды рекомендуется использовать команду
samba-tool user add
|
|
user delete <имя пользователя> [опции]
|
Удалить существующего пользователя
|
При удалении учетной записи также удаляются все связанные с нею разрешения, права и членства в группах
|
|
user disable (<имя пользователя>| --filter <фильтр>) [опции]
|
Отключить пользовательский аккаунт
|
Параметры вызова:
|
|
user edit <имя пользователя> [опции]
|
Редактировать объект пользовательского аккаунта
|
В опции
--editor=<редактор> можно указать редактор (по умолчанию vi)
|
|
user enable (<имя пользователя>| --filter <фильтр>) [опции]
|
Включить пользовательский аккаунт
|
Параметры вызова:
|
|
user list [опции]
|
Вывести список пользователей
|
По умолчанию выводятся sAMAccountNames пользователей.
Можно использовать следующие опции:
|
|
user setprimarygroup <имя пользователя> <имя группы> [опции]
|
Установить основную группу для учётной записи пользователя
|
|
|
user getgroups <имя пользователя> [опции]
|
Вывести список групп, в которые входит учётная запись пользователя напрямую
|
Можно использовать следующие опции:
|
|
user show <имя пользователя> [опции]
|
Вывести атрибуты учетной записи
|
В опции
--attributes=USER_ATTRS можно указать разделённый запятыми список атрибутов, значения которых требуется отобразить. Для вывода скрытых атрибутов, их необходимо явно указать в параметре --attributes
|
|
user move <имя пользователя> <контейнер> [опции]
|
Переместить учётную запись пользователя в указанную организационную единицу или контейнер
|
Имя пользователя указывается в команде в формате sAMAccountName.
Имя организационной единицы или контейнера можно указать как полное DN, так и без компонента domainDN
|
|
user password [опции]
|
Изменить пароль текущей учетной записи (пользователя, прошедшего аутентификацию)
|
Если пароль не передается в открытом виде в значении параметра
--newpassword, пользователь получит запрос на ввод пароля в командной строке
|
|
user rename <имя пользователя> [опции]
|
Переименовать пользователя и изменить его атрибуты
|
По умолчанию выводятся sAMAccountNames пользователей.
Для удаления атрибута следует использовать пустое значение атрибута.
Имя пользователя указывается в команде в формате sAMAccountName.
Некоторые опции:
|
|
user setexpiry (<имя пользователя>| --filter <фильтр>) [опции]
|
Установить срок действия для учётной записи пользователя
|
По истечении заданного периода учетная запись отключается; пользователь не может получать доступ к ресурсам домена. При этом сохраняются связанные с учетной записью разрешения, права и членства.
Параметры вызова:
|
|
user setpassword (<имя пользователя>| --filter <фильтр>) [опции]
|
Установить или сбросить пароль учетной записи пользователя
|
Если пароль не передается в открытом виде в значении параметра
--newpassword, пользователь получит запрос на ввод пароля в командной строке.
Параметры вызова:
|
|
user unlock (<имя пользователя>| --filter <фильтр>) [опции]
|
Разблокировать учётную запись пользователя в домене
|
Параметры вызова:
|
|
user getpassword (<имя пользователя>| --filter <фильтр>) [опции]
|
Получить атрибуты пароля учётной записи пользователя
|
Параметры вызова:
|
|
user syncpasswords [--cache-ldb-initialize] [опции]
|
Синхронизировать пароли всех учётных записей пользователей с помощью дополнительного сценария
|
Эта команда должна выполняться только на одном контроллере домена (обычно на PDC).
В первый раз команда должна выполняться с параметром, обеспечивающим инициализацию кеша:
--cache-ldb-initialize. Для корректной инициализации кеша требуется передать список атрибутов в параметре --attributes
|
Примечание
# samba-tool user add --help
# samba-tool user add ivanov --given-name='Иван' \
--surname='Иванов' --mail-address='ivanov@test.alt' \
--userou='OU=KDE' --must-change-at-next-login
New Password:
Retype Password:
User 'ivanov' added successfully
# samba-tool user add kim --given-name='Виталий' \
--surname='Ким' --mail-address='kim@test.alt' \
--must-change-at-next-login --random-password \
-H ldap://dc2.test.alt -U administrator
Password for [TEST\administrator]:
User 'kim' added successfully
# samba-tool user setexpiry ivanov --noexpiry
Expiry for user 'ivanov' disabled.
# samba-tool user setexpiry kim --days=20
Expiry for user 'kim' set to 20 days.
# samba-tool user list
Guest
ivanov
Administrator
krbtgt
kim
# samba-tool user disable ivanov
# samba-tool user enable --filter=mail=k*
Enabled user 'mail=k*'
# samba-tool user setpassword ivanov
New Password:
Retype Password:
Changed password OK
# samba-tool user move kim 'OU=KDE'
Moved user "kim" into "OU=KDE,DC=test,DC=alt"
# samba-tool user getpassword ivanov \
--attributes=pwdLastSet,virtualClearTextUTF8
dn: CN=Иван Иванов,OU=TEST,DC=test,DC=alt
pwdLastSet: 133628348830281440
Got password OK
# samba-tool user delete ivanov
Deleted user ivanov
Предупреждение
pdbedit -x -m имя
Примечание
Таблица 43.2. Команды samba-tool для управления группами
|
Команда
|
Описание
|
Примечание
|
|---|---|---|
|
group add <имя группы> [опции]
|
Создать новую группу
|
Переданное в команде значение <имя группы> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName). Оно должно быть уникальным.
Некоторые опции:
|
|
group create <имя группы> [опции]
|
Создать новую группу
|
Доступна только в целях совместимости. Рекомендуется вместо этой команды использовать команду
samba-tool group add
|
|
group addmembers <имя группы> (<список участников>|--member-dn=<member-dn>) [опции]
|
Добавить участников в группу
|
Команда позволяет добавить в группу одного или нескольких участников (указанных через запятую). В качестве участника группы может выступать учетная запись пользователя, учетная запись компьютера или другая группа, существующая в домене.
Некоторые опции:
|
|
group delete <имя группы> [опции]
|
Удалить группу
|
Операция удаления является необратимой.
При удалении группы также удаляются все связанные с нею разрешения и права, а также унаследованные от нее разрешения и права участников
|
|
group edit <имя группы> [опции]
|
Редактировать объект группы
|
В опции
--editor=<редактор> можно указать редактор (по умолчанию vi)
|
|
group addunixattrs <имя группы> <gidnumber> [опции]
|
Добавить атрибуты Unix/RFC 2307 для группы
|
Для использования этих атрибутов для сопоставления UID/GID в конфигурации (
smb.conf) должен быть задан параметр idmap_ldp:use rfc2307 = Yes
|
|
group list [опции]
|
Вывести список групп
|
По умолчанию выводится список имен учетных записей SAM (sAMAccountName).
Можно использовать следующие опции:
|
|
group listmembers <имя группы> [опции]
|
Вывести список участников данной группы
|
По умолчанию выводятся sAMAccountNames участников. Если sAMAccountName недоступен, будет использоваться CN.
Можно использовать следующие опции:
|
|
group move <имя группы> <контейнер> [опции]
|
Переместить группу в указанную организационную единицу или контейнер
|
Имя группы указывается в команде в формате sAMAccountName.
Имя организационной единицы или контейнера можно указать как полное DN или без компонента domainDN
|
|
group removemembers <имя группы> (<список участников>|--member-dn=<member-dn>) [опции]
|
Удалить участников из группы
|
Команда позволяет удалить из группы одного или нескольких участников (указанных через запятую).
При удалении из группы участник теряет все унаследованные от нее разрешения и права.
Некоторые опции:
|
|
group show <имя группы> [опции]
|
Вывести группу и её атрибуты
|
В опции
--attributes=USER_ATTRS можно указать список атрибутов (через запятую)
|
|
group stats [опции]
|
Показать статистику для общих групп и членства в группах
|
В результате выполнения команды выводятся следующие сведения:
|
|
group rename <имя группы> [опции]
|
Переименовать группу и изменить её атрибуты
|
Для удаления атрибута следует использовать пустое значение атрибута.
Имя группы указывается в команде в формате sAMAccountName.
Можно использовать следующие опции:
|
Примечание
# samba-tool group add --help
--group-type=Distribution.
# samba-tool group add office --description='Simple group'
Added group office
# samba-tool group add manager --group-type=Distribution \
-H ldap://dc2.test.alt -U administrator
Added group manager
# samba-tool group add mygroup --nis-domain=samdom --gid-number=12345
Added group mygroup
# samba-tool group delete office
Deleted group office
# samba-tool group addmembers "Domain Users" ivanov
# samba-tool group addmembers mygroup manager,kim,ivanov
# samba-tool group removemembers "Domain Users" ivanov
# samba-tool group move manager 'OU=OU'
Moved group "manager" into "OU=OU,DC=test,DC=alt"
# samba-tool group listmembers "Domain Users"
# samba-tool group show manager --attributes=member,objectGUID
dn: CN=test2,CN=Users,DC=test,DC=alt
objectGUID: 2f708ea2-f42c-4344-af22-bc243301c777
member: CN=Иван Иванов,OU=KDE,DC=test,DC=alt
# samba-tool group stats
Group membership statistics*
-------------------------------------------------
Total groups: 48
Total memberships: 32
Average members per group: 0.67
Max members: 8 (Denied RODC Password Replication Group)
Median members per group: 0.0
Members Number of Groups
-------------------------------------------------
0-1 42
2-4 5
5-9 1
* Note this does not include nested group membership
Примечание
--special:
# samba-tool group add 'Protected Users' --special
work.test.alt. IN A 192.168.0.55Эта запись будет храниться в DNS-зоне прямого просмотра домена и использоваться для разрешения имени work.test.alt в IP-адрес 192.168.0.55.
$ samba-tool dns add dc1.test.alt 0.168.192.in-addr.arpa 55 PTR work.test.alt -U administrator
Password for [TEST\administrator]:
Record added successfully
При этом будет создана DNS-запись:
55.0.168.192.in-addr.arpa. 3600 IN PTR work.test.alt.Проверить наличие записи можно, выполнив команду:
$ host -t PTR 192.168.0.55 dc1.test.alt
Using domain server:
Name: dc1.test.alt
Address: 192.168.0.132#53
Aliases:
55.0.168.192.in-addr.arpa domain name pointer work.test.alt.
Примечание
$ samba-tool dns zonecreate dc1.test.alt 0.168.192.in-addr.arpa -U administrator
Password for [TEST\administrator]:
Zone 0.168.192.in-addr.arpa created successfully
samba-tool.
Таблица 44.1. Команды управления DNS-записями samba-tool
|
Команда
|
Описание
|
Примечание
|
|---|---|---|
|
dns add <сервер> <зона> <имя> <A|AAAA|PTR|CNAME|NS|MX|SRV|TXT> <данные>
|
Добавить новую запись
|
Параметры вызова:
|
|
dns delete <сервер> <зона> <имя> <A|AAAA|PTR|CNAME|NS|MX|SRV|TXT> <данные>
|
Удалить DNS-запись
|
|
|
dns edit <сервер> <зона> <имя> <A|AAAA|PTR|CNAME|NS|MX|SOA|SRV|TXT> <текущие данные> <новые данные>
|
Изменить DNS-запись
|
Дополнительно для изменения доступен тип записи SOA (Start of Authority), являющейся начальной записью зоны, со следующими данными (порядок пунктов в списке ниже соответствует порядку следования параметров в строке):
|
|
dns cleanup <сервер> <имя узла> [опции]
|
Очистить DNS-записи указанного DNS-узла
|
Во многих случаях данная подкоманда только устанавливает значение true в атрибуте dNSTombstoned DNS-записей. После этого при запросе таких записей информация о них возвращаться не будет, но в базе данных могут оставаться соответствующие им записи-заполнители
|
|
dns query <сервер> <зона> <имя> <A|AAAA|PTR|CNAME|NS|MX|SOA|SRV|TXT|ALL> [опции]
|
Вывести информацию о DNS-записях
|
Можно использовать следующие опции:
|
Примечание
$ samba-tool dns add --help
Примечание
samba-tool dns указание аутентифицирующей информации (имени пользователя и пароля) обязательно!
$ samba-tool dns add 192.168.0.132 test.alt \
DC2 A 192.168.0.133 -Uadministrator
Password for [TEST\administrator]:
Record added successfully
$ samba-tool dns add dc1.test.alt 0.168.192.in-addr.arpa \
55 PTR demo.test.alt -U administrator
Password for [TEST\administrator]:
Record added successfully
$ samba-tool dns delete dc1.test.alt test.alt \
DC2 A 192.168.0.133 -U administrator
Password for [TEST\administrator]:
Record deleted successfully
$ samba-tool dns update dc1.test.alt test.alt DC2 \
A 192.168.0.133 192.168.0.149 -U administrator
Password for [TEST\administrator]:
Record updated succefully
$ samba-tool dns update dc1.test.alt test.alt @ SOA \
"dc1.test.alt admin.test.alt 63 900 600 86400 3600" \
"dc1.test.alt new.test.alt 64 900 600 86400 3600" \
-U administrator
Password for [TEST\administrator]:
Record updated succefully
$ samba-tool dns query dc1.test.alt 0.168.192.in-addr.arpa \
@ ALL -U administrator
Таблица 44.2. Команды samba-tool для управления зонами DNS
|
Команда
|
Описание
|
Примечание
|
|---|---|---|
|
dns zonecreate <сервер> <зона> [опции]
|
Создать зону DNS
|
Дополнительно с помощью параметра
--client-version можно указать версию DNS-клиента. Возможные значения: w2k, dotnet, longhorn (по умолчанию)
|
|
dns zonedelete <сервер> <зона> [опции]
|
Удалить зону DNS
|
|
|
dns zoneinfo <сервер> <зона> [опции]
|
Вывести информацию о зоне DNS
|
|
|
dns zonelist <сервер> [опции]
|
Вывести список зон DNS
|
Можно использовать следующие опции:
|
|
dns zoneoptions <сервер> <зона> [опции]
|
Изменить настройки очистки от устаревших записей для зоны DNS
|
Можно использовать следующие опции:
|
Примечание
$ samba-tool dns zoneoptions --help
Примечание
samba-tool dns указание аутентифицирующей информации (имени пользователя и пароля) обязательно!
$ samba-tool dns zonecreate 192.168.0.132 \
0.168.192.in-addr.arpa -U administrator
$ samba-tool dns zoneinfo dc1.test.alt \
0.168.192.in-addr.arpa -U administrator
$ samba-tool dns zoneoptions dc1.test.alt \
test.alt --aging=1 --refreshinterval=43800 -U administrator
Примечание
smb.conf хотя бы на одном контроллере домена должен быть задан параметр dns zone scavenging = yes.
Таблица 44.3. Команды samba-tool для получения информации о DNS-серверах
|
Команда
|
Описание
|
Примечание
|
|---|---|---|
|
dns serverinfo <сервер> [опции]
|
Вывести информацию о DNS-сервере
|
Дополнительно с помощью параметра
--client-version можно указать версию DNS-клиента. Возможные значения: w2k, dotnet, longhorn (по умолчанию)
|
|
dns roothints <сервер> [<имя>] [опции]
|
Вывести информацию о корневых серверах DNS
|
|
Примечание
$ samba-tool dns roothints --help
$ samba-tool dns serverinfo dc1.test.alt -U administrator
$ samba-tool dns zoneinfo dc1.test.alt \
0.168.192.in-addr.arpa -U administrator
Данная команда возвращает структуру DNS_RPC_SERVER_INFO, содержащую информацию о состоянии и конфигурации DNS-сервера, в формате, соответствующем версии DNS-клиента.
$ samba-tool dns roothints dc1.test.alt -U administrator
nsupdate используется для отправки запросов на обновление динамического DNS серверу имен в соответствии со стандартом RFC 2136. С ее помощью можно добавлять или удалять записи ресурсов из зоны без необходимости правки зонного файла вручную. Один запрос на обновление может содержать запросы на добавление или удаление нескольких записей ресурсов.
nsupdate:
nsupdate [-dDi] [-L level] [-l][-g | -o | -y keyname:secret | -k keyfile] [-v] [-V] [-P] [-T] [-4 | -6] [filename]
Таблица 44.4. Опции команды nsupdate
|
Ключ
|
Описание
|
|---|---|
|
-4
|
Использовать только IPv4
|
|
-6
|
Использовать только IPv6
|
|
-d
|
Включить режим отладки
|
|
-D
|
Включить дополнительный режим отладки
|
|
-i
|
Принудительно включить интерактивный режим, даже если стандартный ввод не является терминалом
|
|
-k keyfile
|
Позволяет указать файл, содержащий ключ аутентификации TSIG. Файлы могут быть в двух форматах: один файл, содержащий оператор ключа named.conf-format, который может быть автоматически сгенерирован ddns-confgen; или пара файлов, имена которых имеют формат K{name}.+157.+{random}.key и K{name}.+157.+{random}.private, которые могут быть сгенерированы dnssec-keygen. Параметр
-k также может использоваться для указания ключа SIG(0), используемого для аутентификации запросов на обновление Dynamic DNS. В этом случае указанный ключ не является ключом HMAC-MD5
|
|
-l
|
Установить режим локального хоста. Адрес сервера будет установлен на localhost (отключая сервер, чтобы адрес сервера не мог быть переопределен). Подключения к локальному серверу используют ключ TSIG, найденный в
/var/run/named/session.key, который автоматически генерируется named, если какая-либо локальная первичная зона установила update-policy на local. Расположение этого файла ключа можно переопределить с помощью опции -k
|
|
-L level
|
Установить уровень отладки ведения журнала. Если 0, ведение журнала отключено
|
|
-p port
|
Установить порт для подключения к серверу имен. Значение по умолчанию — 53
|
|
-P
|
Вывести список частных типов записей ресурсов BIND, формат которых понимает nsupdate
|
|
-r udpretries
|
Установить количество повторных попыток UDP. Значение по умолчанию — 3. Если 0, выполняется только один запрос на обновление
|
|
-t timeout
|
Установить максимальное время, которое может занять запрос на обновление, прежде чем он будет прерван. Значение по умолчанию — 300 секунд. Если 0, тайм-аут отключен
|
|
-T
|
Вывести список стандартных типов записей ресурсов IANA, формат которых понимает nsupdate. nsupdate завершает работу после вывода списков. Параметр
-T можно комбинировать с параметром -P.
Другие типы можно ввести с помощью TYPEXXXXX, где XXXXX — это десятичное значение типа без начальных нулей. Rdata, если они присутствуют, анализируются с использованием формата UNKNOWN rdata (<обратная косая черта> <хеш> <пробел> <длина> <пробел> <шестнадцатеричная строка>)
|
|
-u udptimeout
|
Задать интервал повтора UDP. Значение по умолчанию — 3 секунды. Если равно 0, интервал вычисляется из интервала тайм-аута и количества повторов UDP
|
|
-v
|
Указывает, что TCP следует использовать даже для небольших запросов на обновление. По умолчанию nsupdate использует UDP для отправки запросов на обновление на сервер имен, если только они не слишком велики для того, чтобы поместиться в запрос UDP, в этом случае используется TCP. TCP может быть предпочтительнее, когда выполняется пакет запросов на обновление
|
|
-V
|
Вывести номер версии
|
|
-y [hmac:]keyname:secret
|
Задает буквальный ключ аутентификации TSIG. keyname — имя ключа, а secret — общий секрет в кодировке base64. hmac — имя алгоритма ключа; допустимые варианты: hmac-md5, hmac-sha1, hmac-sha224, hmac-sha256, hmac-sha384 или hmac-sha512. Если hmac не указан, по умолчанию используется hmac-md5 или, если MD5 отключен, hmac-sha256.
Примечание
Использование опции -y не рекомендуется, поскольку общий секрет предоставляется как аргумент командной строки в виде открытого текста
|
nsupdate считывает входные данные из filename или стандартного ввода. Каждая команда предоставляется ровно в одной строке ввода. Некоторые команды предназначены для административных целей; другие — это либо инструкции по обновлению, либо проверки предварительных условий содержимого зоны. Эти проверки устанавливают условия, что некоторое имя или набор записей ресурсов (RRset) либо существует, либо отсутствует в зоне. Эти условия должны быть выполнены, чтобы весь запрос на обновление был успешным. Обновления отклоняются, если тесты на предварительные условия не пройдены.
send) приводит к отправке накопленных команд как одного запроса на обновление Dynamic DNS на сервер имен.
Таблица 44.5. Форматы команд и их значения
|
Команда
|
Описание
|
|---|---|
|
server servername port
|
Отправить все динамические запросы на обновление на сервер имен servername. Если не указано ни одного оператора сервера, nsupdate отправляет обновления на основной сервер правильной зоны. Поле MNAME записи SOA этой зоны определяет основной сервер для этой зоны. port — это номер порта на servername, куда отправляются динамические запросы на обновление. Если номер порта не указан, используется номер порта DNS по умолчанию 53.
Примечание
Эта команда не действует, если используется GSS-TSIG
|
|
local address port
|
Отправить все динамические запросы на обновление, используя локальный адрес. Если локальный оператор не указан,
nsupdate отправляет обновления, используя адрес и порт, выбранные системой. port также может использоваться для принудительного поступления запросов с определенного порта. Если номер порта не указан, система назначает его
|
|
zone zonename
|
Указывает, что все обновления должны быть сделаны в зоне zonename. Если оператор zone не указан,
nsupdate пытается определить правильную зону для обновления на основе остальной части ввода
|
|
class classname
|
Указывает класс по умолчанию. Если класс не указан, класс по умолчанию — IN
|
|
ttl seconds
|
Указывает время жизни по умолчанию в секундах для добавляемых записей. Значение none очищает TTL по умолчанию
|
|
key hmac:keyname secret
|
Указывает, что все обновления должны быть подписаны TSIG с использованием пары keyname-secret. Если указан hmac, он устанавливает используемый алгоритм подписи. Значение по умолчанию — hmac-md5; если MD5 отключен, то по умолчанию используется hmac-sha256. Команда key переопределяет любой ключ, указанный в командной строке с помощью
-y или -k
|
|
gsstsig
|
Эта команда использует GSS-TSIG для подписи обновлений. Это эквивалентно указанию
-g в командной строке
|
|
oldgsstsig
|
Эта команда использует версию GSS-TSIG для Windows 2000 для подписи обновлений. Это эквивалентно указанию
-o в командной строке
|
|
realm [realm_name]
|
При использовании GSS-TSIG эта команда указывает использование realm_name вместо realm по умолчанию в krb5.conf. Если realm не указан, сохраненная realm очищается
|
|
check-names [yes_or_no]
|
Включить или выключить обработку check-names для добавляемых записей. Check-names не влияет на предварительные условия или удаляемые записи. По умолчанию обработка check-names включена. Если обработка check-names завершается неудачей, запись не добавляется в сообщение UPDATE
|
|
prereq nxdomain domain-name
|
Эта команда требует, чтобы не существовало ни одной записи ресурса любого типа с именем domain-name
|
|
prereq yxdomain domain-name
|
Эта команда требует, чтобы существовал domain-name (как минимум одна запись ресурса любого типа)
|
|
prereq nxrrset domain-name class type
|
Эта команда требует, чтобы не существовало ни одной записи ресурса указанного типа, класса и domain-name. Если class не указан, предполагается IN (Интернет)
|
|
prereq yxrrset domain-name class type
|
Для этой команды требуется, чтобы существовала запись ресурса указанного типа, класса и доменного имени. Если class не указан, предполагается IN (Интернет)
|
|
prereq yxrrset domain-name class type data
|
С помощью этой команды данные из каждого набора предварительных условий этой формы, имеющих общий тип, класс и доменное имя, объединяются для формирования набора RR. Этот набор RR должен точно соответствовать набору RR, существующих в зоне с указанным типом, классом и доменным именем. Данные записываются в стандартном текстовом представлении RDATA записи ресурса
|
|
update delete domain-name ttl class type data
|
Удалить все записи ресурсов с именем domain-name. Если указаны type и data, удаляются только соответствующие записи ресурсов. Если class не указан, предполагается класс Internet. TTL игнорируется и допускается только для совместимости
|
|
update add domain-name ttl class type data
|
Добавить новую запись ресурса с указанным ttl, class и data
|
|
show
|
Отобразить текущее сообщение, содержащее все предварительные условия и обновления, указанные с момента последней отправки
|
|
send
|
Отправить текущее сообщение (эквивалентно вводу пустой строки)
|
|
answer
|
Отобразить ответ
|
|
debug
|
Включить отладку
|
|
version
|
Вывести номер версии
|
|
help
|
Вывести список команд
|
Примечание
nsupdate для динамического обновления DNS-записей в доменных средах AD, необходимо использовать механизм аутентификации GSS-TSIG, который использует Kerberos-билет для аутентификации машины в домене. Kerberos-билет используется при обновлении DNS-записей с помощью nsupdate с флагом -g.
nsupdate -g необходимо получить Kerberos-билет для машинного аккаунта с помощью команды:
# kinit -k 'MACHINENAME$'
Примечание
hostname -s. В команде kinit имя машинного аккаунта нужно указывать в верхнем регистре со знаком $, например:
#hostname -scomp01 #kinit -k 'COMP01$'
nsupdate для добавления и удаления записей ресурсов из зоны test.alt.
# nsupdate -g
> update delete oldhost.test.alt A
> update add newhost.test.alt 86400 A 192.168.0.195
> send
> quit
Новая запись будет имеет TTL 1 день (86400 секунд).
# nsupdate -g
> prereq nxdomain nickname.test.alt
> update add nickname.test.alt 86400 CNAME somehost.test.alt
> send
> quit
Предварительное условие позволяет серверу имен проверить, нет ли записей о ресурсах любого типа для nickname.test.alt. Если в зоне есть записи ресурсов, запрос на обновление не выполняется. Если этого имени не существует, добавляется CNAME.
Примечание
smb.conf, а не через оснастку MMC;












Примечание

/etc/sssd/sssd.conf;
/etc/sssd/sssd.conf) в секцию с параметрами домена можно добавить опции, приведенные в табл. Параметры настройки автоматического обновления DNS. Например:
[domain/TEST.ALT] ..... #Включить обновление прямых записей (A/AAAA записей) dyndns_update = true #Включить обновление обратных записей (PTR записей) dyndns_update_ptr = true #Задать интервал обновления в секундах. #По умолчанию — 86400 (24 часа), обновление выполняется раз в сутки. #Если интервал равен 0, то обновление выполняется только один раз при запуске службы SSSD. #Если интервал менее 60 секунд, то обновление выполняется раз в 60 секунд. #Если адрес после предыдущего обновления не изменялся — обновление не выполняется. dyndns_refresh_interval = 60
Примечание
# systemctl restart sssd
Таблица 44.6. Параметры настройки автоматического обновления DNS
|
Параметр
|
Описание
|
Значение по умолчанию
|
|---|---|---|
dyndns_update
|
Позволяет включить или отключить автоматическое обновление DNS-записей (защищенных с помощью GSS-TSIG) IP-адресом клиента через SSSD. Соответственно, администратору AD требуется только разрешить защищённые обновления для зоны DNS. Для обновления будет использован IP-адрес LDAP-соединения AD, если с помощью параметра «dyndns_iface» не указано иное
|
true
|
dyndns_ttl
|
Значение TTL, которое применяется при обновлении DNS-записи клиента. Если
dyndns_update имеет значение false, этот параметр не имеет никакого эффекта. Если администратором установлено значение TTL на стороне сервера, оно будет переопределено этим параметром
|
3600 (секунд)
|
dyndns_iface
|
Позволяет указать интерфейс или список интерфейсов, IP-адреса которых должны использоваться для динамических обновлений DNS. Специальное значение «*» подразумевает, что следует использовать IP-адреса всех интерфейсов. Если
dyndns_update имеет значение false, этот параметр не имеет никакого эффекта
|
IP-адреса интерфейса, который используется для подключения LDAP AD
|
dyndns_refresh_interval
|
Определяет как часто внутреннему серверу следует выполнять периодическое обновление DNS в дополнение к автоматическому обновлению, выполняемому при переходе внутреннего сервера в сетевой режим. Этот параметр применим только в том случае, если для параметра
dyndns_update установлено значение true.
Следует обратить внимание, что наименьшее допустимое значение составляет 60 секунд: если будет указано меньшее значение, параметр примет наименьшее допустимое значение (60 секунд)
|
86400 (24 часа)
|
dyndns_update_ptr
|
Определяет будет ли обновляться клиентская PTR-запись (защищенная с помощью GSS-TSIG) при обновлении DNS-записей клиента. Применимо, только если параметр
dyndns_update имеет значение true.
Следует обратить внимание, что параметр
dyndns_update_per_family не применяется для обновлений записей PTR. Эти обновления всегда отправляются отдельно
|
true
|
dyndns_force_tcp
|
Должна ли утилита
nsupdate по умолчанию использовать TCP для обмена данными с сервером DNS
|
false (разрешить
nsupdate выбрать протокол)
|
dyndns_auth
|
Следует ли утилите
nsupdate использовать проверку подлинности GSS-TSIG для защищённых обновлений сервера DNS. Незащищённые отправления можно отправлять, установив этот параметр в значение none
|
GSS-TSIG
|
dyndns_auth_ptr
|
Следует ли утилите
nsupdate использовать проверку подлинности GSS-TSIG для защищённых обновлений PTR сервера DNS. Незащищённые отправления можно отправлять, установив этот параметр в значение none
|
То же, что и
dyndns_auth
|
dyndns_server
|
Сервер DNS, который следует использовать для выполнения обновления DNS. В большинстве конфигураций рекомендуется не устанавливать значение для этого параметра.
Установка этого параметра имеет смысл для сред, в которых сервер DNS отличается от сервера данных идентификации.
Следует обратить внимание, что этот параметр используется только для резервной попытки, которая выполняется если предыдущая попытка с использованием автоматически определённых параметров завершилась неудачей
|
none (разрешить
nsupdate выбрать сервер)
|
dyndns_update_per_family
|
По умолчанию обновление DNS выполняется за два шага: обновление IPv4, а затем обновление IPv6. В некоторых случаях может быть желательно выполнить обновление IPv4 и IPv6 за один шаг
|
true
|
# control | grep sssd-dyndns
sssd-dyndns-refresh-interval unknown (disabled INTERVAL)
sssd-dyndns-ttl unknown (disabled TTL)
sssd-dyndns-update unknown (disabled enabled default)
sssd-dyndns-update-ptr unknown (disabled enabled default)
Таблица 44.7. control для настройки автоматического обновления DNS для SSSD
|
control
|
Опция в файле
/etc/sssd/sssd.conf
|
Описание
|
|---|---|---|
|
sssd-dyndns-refresh-interval
|
dyndns_refresh_interval
|
Определяет как часто серверная часть должна выполнять периодическое обновление DNS в дополнение к автоматическому обновлению, выполняемому при подключении серверной части к сети. Этот параметр применим только в том случае, если для параметра
dyndns_update установлено значение true.
Доступные режимы:
|
|
sssd-dyndns-ttl
|
dyndns_ttl
|
Срок жизни, применяемый к DNS-записи клиента при ее обновлении. Если
dyndns_update имеет значение false, этот параметр не имеет никакого эффекта.
Доступные режимы:
|
|
sssd-dyndns-update
|
dyndns_update
|
Позволяет включить или отключить автоматическое обновление DNS-записей (защищенных с помощью GSS-TSIG) с IP-адресом клиента через SSSD.
Доступные режимы:
|
|
sssd-dyndns-update-ptr
|
dyndns_update_ptr
|
Определяет будет ли обновляться клиентская PTR-запись (защищенная с помощью GSS-TSIG) при обновлении DNS-записей клиента. Применимо, только если параметр
dyndns_update имеет значение true.
Доступные режимы:
|
control sssd-dyndns-update:
# control sssd-dyndns-update enabled
и перезапустить службу SSSD:
# systemctl restart sssd
Проверка:
# control sssd-dyndns-update
enabled
dyndns_update и dyndns_update_ptr. Подробнее см. Групповые политики control (раздел SSSD опции).
winbind-dnsupdate.
# apt-get install samba-winbind-dnsupdate
И активировать и запустить таймер, который в свою очередь запускает сервис:
# systemctl enable --now winbind-dnsupdate.timer
winbind-dnsupdate является обновление IPv4 (A), IPv6 (AAAA) и соответствующих PTR DNS-записей. Для обновления DNS-записей winbind-dnsupdate использует файл /etc/resolv.conf.
winbind-dnsupdate:
winbind-dnsupdate [опции]При запуске без параметров скрипт обновляет A запись.
Таблица 44.8. Опции команды winbind-dnsupdate
|
Ключ
|
Описание
|
|---|---|
|
-h, --help
|
Вывести справку о команде
|
|
-v, --version
|
Вывести версию
|
|
-a, --all
|
Включить обновление всех записей (IPv4, IPv6, PTR)
|
|
-6, --update-ipv6
|
Включить обновление IPv6 (AAAA) записей
|
|
-d, --daemon
|
Отправлять логи в journald
|
|
-t, --ttl <time>
|
Задать TTL («время жизни», указывает, как долго настройки DNS должны храниться в кеше, прежде чем они будут автоматически обновлены)
|
|
--allow-ipv4-ptr-update
|
Включить обновление обратной DNS-записи IPv4 (A) PTR
|
|
--allow-ipv6-ptr-update
|
Включить обновление обратной DNS-записи IPv6 (AAAA) PTR
|
|
--enable-dconf
|
Включить чтение параметров из dconf
|
winbind-dnsupdate:
# winbind-dnsupdate -a
[INFO]: Hostname: comp01.test.alt.
[INFO]: Check winbind status.
[INFO]: Winbind is running. Continue.
[INFO]: Trying to get the site name.
[INFO]: Site: Default-First-Site-Name.
[INFO]: Get host credentials.
[INFO]: Retrieving host credentials successfully.
[INFO]: Trying to get a list of domain controllers in site.
[INFO]: Success.
[INFO]: Trying to find an available DNS server.
[INFO]: Checking the availability of DNS server on dc1.test.alt..
[INFO]: DNS server on dc1.test.alt. available.
[INFO]: Update IPv4.
[INFO]: Trying to get IPv4 address of a domain controller.
[INFO]: Successful. DC info:
[INFO]: Domain controller name: dc1.test.alt.
[INFO]: Domain controller IPv4: 192.168.0.132.
[INFO]: Trying parse connection interface name.
[INFO]: Successful. Intraface name: enp0s3.
[INFO]: Checking the existence of A record.
[INFO]: IPv4 record exists.
[INFO]: Checking whether the IPv4 records needs to be updated.
[INFO]: Current IPv4 address: 192.168.0.195.
[INFO]: IPv4 address in DNS server: 192.168.0.195.
[INFO]: The IPv4 address of interface enp0s3 has not been changed.
[INFO]: The update IPv4 was skipped.
[INFO]: IPv4 update was successful.
[INFO]: The update was successful.
[INFO]: Destroy host credential.
# systemctl cat winbind-dnsupdate.timer
# /lib/systemd/system/winbind-dnsupdate.timer
[Unit]
Description=Update dns record Daily and on boot
[Timer]
OnBootSec=5min
OnUnitActiveSec=60min
[Install]
WantedBy=timers.target
# systemctl edit winbind-dnsupdate.timer
Anything between here and the comment below will become the new contents of the file:
[Timer] OnUnitActiveSec= OnUnitActiveSec=120min
OnUnitActiveSec= очистит предыдущее определение (60min), а OnUnitActiveSec=120min установит новое значение (120min).

# systemctl daemon-reload
Примечание
# systemctl edit winbind-dnsupdate.timer
открывает текстовый редактор с конфигурацией winbind-dnsupdate.timer, куда можно внести изменения. Этот подход позволяет создавать или изменять так называемые «дополнения» (overrides) для systemd сервиса, не изменяя оригинальный файл сервиса, который находится в /usr/lib/systemd/system/. Это важно, потому что оригинальные файлы могут быть перезаписаны при обновлении пакетов.
/etc/systemd/system/winbind-dnsupdate.timer.d/, в котором, после сохранения изменений, появляется файл override.conf. В этом файле можно задать новые параметры или изменить существующие параметры сервиса.
winbind-dnsupdate можно управлять с помощью групповых политик (см. Опции Winbind DNSupdate).
ipconfig /registerdns. Для DHCP-клиентов DHCP-сервер может выполнять эти обновления от имени клиента, что снижает необходимость ручного администрирования.
samba-tool (см. Утилита samba-tool);
nsupdate (см. Утилита nsupdate);
system-auth, которая в свою очередь использует команду net ads join. В рамках данной команды выполняется присоединение к домену с использованием Kerberos-аутентификации и не производится обновление DNS. После успешного присоединения машина регистрирует свою DNS-запись с помощью команды net ads dns register также используя Kerberos-аутентификацию.
system-auth использует билет администратора, и в результате владельцем записи становится он, а не машина, что впоследствии не позволяет машине обновить свою DNS-запись.
Примечание
DC=host1,DC=test.alt,CN=MicrosoftDNS,DC=DomainDnsZones,DC=test,DC=alt
Примечание
# samba_allow_nsupdate --domain-dns="test.alt" --computers-base-dn="CN=Computers,DC=test,DC=alt"
Domain: test.alt
Domain DN: DC=test,DC=alt
Computers search base DN: CN=Computers,DC=test,DC=alt
Action: allow
Selected computers list:
DC1$
WS2$
WS$
WS3$
Allow self nsupdate for this computers list? (Y/n):
DC1$ S-1-5-21-3099202228-3607437695-3279060739-1000 DONE
WS2$ S-1-5-21-3099202228-3607437695-3279060739-1113 DONE
WS$ S-1-5-21-3099202228-3607437695-3279060739-1107 DONE
WS3$ S-1-5-21-3099202228-3607437695-3279060739-1127 DONE
# samba_allow_nsupdate --action=allow WS$ WS2$ --computers-base-dn="DC=test,DC=alt" --domain-dns="test.alt"
Domain: test.alt
Domain DN: DC=test,DC=alt
Computers search base DN: DC=test,DC=alt
Action: allow
Selected computers list:
WS$
WS2$
Allow self nsupdate for this computers list? (Y/n):
WS$ S-1-5-21-3099202228-3607437695-3279060739-1107 DONE
WS2$ S-1-5-21-3099202228-3607437695-3279060739-1113 DONE
samba-tool dsacl.
samba-tool.
Примечание
-H или --URL= с указанием URI LDAP-сервера. Например:
# samba-tool sites list -H ldap://<DC> -Uadministrator
По умолчанию в качестве значения опции -H передается текущий узел в формате ldap://<имя узла>.
Таблица 45.1. Команды управления сайтами samba-tool
|
Команда
|
Описание
|
Примечание
|
|---|---|---|
|
sites create <сайт> [опции]
|
Добавить новый сайт
|
В качестве аргумента (
сайт) ожидается общее имя (CN) сайта.
После создания сайта в него могут быть добавлены контроллеры домена, например, путём передачи имени сайта в параметре
--site=SITE при выполнении операции присоединения (см. Присоединение к домену в роли контроллера домена)
|
|
sites list [опции]
|
Вывести список сайтов
|
Подкоманда поддерживает два формата представления информации о сайтах:
|
|
sites remove <сайт> [опции]
|
Удалить сайт
|
В качестве аргумента (
сайт) ожидается общее имя (CN) сайта
|
|
sites subnet <подкоманда>
|
Подкоманды управления подсетью
|
|
|
sites view <сайт> [опции]
|
Вывести информацию об отдельном сайте
|
В качестве аргумента (
сайт) ожидается общее имя (CN) сайта.
Подкоманда выводит тот же набор атрибутов сайта, что и подкоманда
samba-tool sites list --json
|
Таблица 45.2. Команды управления подсетями samba-tool
|
Команда
|
Описание
|
Примечание
|
|---|---|---|
|
sites subnet create <подсеть> <сайт> [опции]
|
Создать новую подсеть
|
Параметры вызова:
|
|
sites subnet list <сайт> [опции]
|
Вывести список подсетей сайта
|
В качестве аргумента (
сайт) ожидается общее имя (CN) сайта.
Подкоманда поддерживает два формата представления информации о подсетях:
|
|
sites subnet remove <подсеть> [опции]
|
Удалить подсеть
|
В качестве аргумента (
подсеть) ожидается общее имя (CN) существующей подсети
|
|
sites subnet set-site <подсеть> <сайт> [опции]
|
Закрепить подсеть за сайтом
|
Параметры вызова:
|
|
sites subnet view <подсеть> [опции]
|
Просмотр сведений о подсети
|
В качестве аргумента (
подсеть) ожидается общее имя (CN) существующей подсети.
Подкоманда выводит тот же набор атрибутов подсети, что и подкоманда
samba-tool subnet list --json
|
Примечание
$ samba-tool sites subnet view --help
# samba-tool sites list --json
{
"Default-First-Site-Name": {
"cn": "Default-First-Site-Name",
"distinguishedName": "CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt",
"dn": "CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt",
"instanceType": 4,
"name": "Default-First-Site-Name",
"objectCategory": "CN=Site,CN=Schema,CN=Configuration,DC=test,DC=alt",
"objectClass": [
"top",
"site"
],
"objectGUID": "4dbdb4a9-ebe9-4ff8-a047-40da60136056",
"showInAdvancedViewOnly": true,
"systemFlags": 1107296256
}
}
# samba-tool sites view Default-First-Site-Name
# samba-tool sites create newSite
Site newSite created !
# samba-tool sites subnet create 192.168.10.0/24 newSite
Subnet 192.168.10.0/24 created !
# samba-tool sites subnet list newSite --json
{
"192.168.10.0/24": {
"cn": "192.168.10.0/24",
"distinguishedName": "CN=192.168.10.0/24,CN=Subnets,CN=Sites,CN=Configuration,DC=test,DC=alt",
"dn": "CN=192.168.10.0/24,CN=Subnets,CN=Sites,CN=Configuration,DC=test,DC=alt",
"instanceType": 4,
"name": "192.168.10.0/24",
"objectCategory": "CN=Subnet,CN=Schema,CN=Configuration,DC=test,DC=alt",
"objectClass": [
"top",
"subnet"
],
"objectGUID": "5ebde1f9-5369-4673-a10a-b9c10310d137",
"showInAdvancedViewOnly": true,
"siteObject": "CN=newSite,CN=Sites,CN=Configuration,DC=test,DC=alt",
"systemFlags": 1073741824
}
}
# samba-tool sites subnet set-site 192.168.10.0/24 newSite
Subnet 192.168.10.0/24 shifted to site newSite
# samba-tool sites subnet remove 192.168.10.0/24
Примечание
samba-tool user getpassword) расширены и поддерживают как gMSA (через LDAP), так и локальные учётные записи с совместимым форматом хранения пароля. Доступные команды:
samba-tool user getpassword — получение текущего и предыдущего паролей gMSA;
samba-tool user get-kerberos-ticket — создание Kerberos TGT в локальном кеше;
samba-tool domain exportkeytab — экспорт ключей в keytab-файл.
Примечание
--attributes в команде samba-tool user getpassword позволяет вывести дополнительные LDAP-атрибуты, связанные с объектом пользователя или gMSA-аккаунтом. Список атрибутов передаётся в виде строк, разделённых запятыми:
--attributes="attr1,attr2,attr3"
pwdLastSet), доступна дополнительная опция форматирования. Формат задаётся с помощью суффикса ;format=formatSpecifier:
--attributes="attributeName;format=formatSpecifier"Доступны следующие спецификаторы формата:
;previous=1 к атрибутам, где это применимо.
# samba-tool user getpassword -H ldap://dc1.test.alt \
--machine-pass gMSAkey1$ --attributes=pwdLastSet,unicodePwd
Пример вывода на машине, которая имеет право получать пароль:
GENSEC backend 'gssapi_spnego' registered GENSEC backend 'gssapi_krb5' registered GENSEC backend 'gssapi_krb5_sasl' registered GENSEC backend 'spnego' registered GENSEC backend 'schannel' registered GENSEC backend 'ncalrpc_as_system' registered GENSEC backend 'sasl-EXTERNAL' registered GENSEC backend 'ntlmssp' registered GENSEC backend 'ntlmssp_resume_ccache' registered GENSEC backend 'http_basic' registered GENSEC backend 'http_ntlm' registered GENSEC backend 'http_negotiate' registered GENSEC backend 'krb5' registered GENSEC backend 'fake_gssapi_krb5' registered Starting GENSEC mechanism spnego Starting GENSEC submechanism gssapi_krb5 dn: CN=gMSAkey2,CN=Managed Service Accounts,DC=test,DC=alt pwdLastSet: 134081379252274067 unicodePwd:: kWVoPlfdFbDYYkAL9wppkg== Any available password returned OKПример вывода на машине, которая не имеет доступ к паролю:
dn: CN=gMSAkey2,CN=Managed Service Accounts,DC=test,DC=alt pwdLastSet: 134081379252274067 Any available password returned OK
Важно
# samba-tool user getpassword -H ldap://dc1.test.alt \
--machine-pass gMSAkey1$ --attributes="unicodePwd;previous=1"
…
dn: CN=gMSAkey1,CN=Managed Service Accounts,DC=test,DC=alt
unicodePwd;previous=1:: s1z7eCR7TpDOIijGqm0x7g==
# samba-tool user getpassword -H ldap://dc1.test.alt \
--machine-pass gMSAkey1$ --attributes="pwdLastSet;format=GeneralizedTime,virtualClearTextUTF8;previous=1"
…
dn: CN=gMSAkey1,CN=Managed Service Accounts,DC=test,DC=alt
virtualClearTextUTF8;previous=1:: 5bCR6a265bG846yi55ay5ayp5JGa74yL6KSS5I6A6Ye+
5peA4aup7q+074q174aL56GD47ms7qq15Zmi6p2P7Yuu5YCC66Cg7YO+4bWq4Lqp7rK06LC04ZC04
4eC45yK46OU4r2v4bi+6JyB5bGv7ZKC5ZSS6Zy75q226rWE5r+L6Z+i4YCG4qSn6qWg46e+5Zy047
SM4KSk5ai35L2h6oms7pOC7pCJ4qid56Gt67+R5Zux54G044+i7pqJ4qWa5ra+7KaE5Imn6LOy5be
q4ZaK7o626ZSZ4bCf5KaPzrfRsuKNseSelOmqp++ZvumupdSZyoDiqqHtiojvg4ThhJnnuYXntpvn
gazuj77jvLDriYHqoaXohrnphK3uo7jlrLnujoTpvbDmvJPlkbzkmILhnKTho6njipPsh7LshrTlu
4TrpqLPo+eJoOe/l+i2ieKwq+S7neO0t++/veOMtumpi+ant+OEo+WAjuSKlOqequiRvu61uuC8uw
==
pwdLastSet;format=GeneralizedTime: 20251125075541.0Z
# samba-tool user get-kerberos-ticket -H ldap://dc1.test.alt \
--machine-pass gMSAkey1$ --output-krb5-ccache=/tmp/krb5_ccache
Проверка билета:
# klist -c /tmp/krb5_ccache
Ticket cache: FILE:/tmp/krb5_ccache
Default principal: gMSAkey1$@TEST.ALT
Valid starting Expires Service principal
25.11.2025 14:05:36 25.11.2025 17:05:36 krbtgt/TEST.ALT@TEST.ALT
renew until 25.11.2025 20:05:36
Примечание
domain kds root-key утилиты samba-tool.
Таблица 46.1. Команды управления корневыми ключами
|
Команда
|
Описание
|
Примечание
|
|---|---|---|
|
domain kds root-key create [опции]
|
Создать новый корневой ключ
|
При создании ключу присваивается уникальный идентификатор (GUID), который должен в дальнейшем использоваться для работы с ним.
Некоторые опции:
|
|
domain kds root-key list [опции]
|
Вывести список корневых ключей
|
Некоторые опции:
По умолчанию в выводе команды указываются:
|
|
domain kds root-key view <--latest | --name=NAME> [опции]
|
Вывод информации о корневом ключе
|
Некоторые опции:
|
|
domain kds root-key delete --name=NAME [опции]
|
Удалить корневой ключ
|
|
Примечание
# samba-tool domain kds root-key create
created root key 40be934e-f719-c8ff-42cf-e4b8364f1d90, usable from 2025-11-20T14:45:39.898080+00:00 (about now)
# samba-tool domain kds root-key view --name 40be934e-f719-c8ff-42cf-e4b8364f1d90
name 40be934e-f719-c8ff-42cf-e4b8364f1d90
created 2025-11-20T14:45:39.898080+00:00 (about 68 seconds ago)
usable from 2025-11-20T14:45:39.898080+00:00 (about 68 seconds ago)
dn CN=40be934e-f719-c8ff-42cf-e4b8364f1d90,CN=Master Root Keys,CN=Group Key Distribution Service,CN=Services,CN=Configuration,DC=test,DC=alt
cn 40be934e-f719-c8ff-42cf-e4b8364f1d90
whenCreated 20251120144539.0Z
whenChanged 20251120144539.0Z
objectGUID 870705c2-ba6d-49ee-8ba8-250e29a471bc
msKds-KDFAlgorithmID SP800_108_CTR_HMAC
msKds-KDFParam 00000000010000000e000000000000005300480041003500310032000000
msKds-SecretAgreementAlgorithmID DH
msKds-PublicKeyLength 2048
msKds-PrivateKeyLength 256
msKds-Version 1
msKds-DomainID CN=DC1,OU=Domain Controllers,DC=test,DC=alt
# samba-tool domain kds root-key list
1 root key found.
name 40be934e-f719-c8ff-42cf-e4b8364f1d90
created 2025-11-20T14:45:39.898080+00:00 (about 108 seconds ago)
usable from 2025-11-20T14:45:39.898080+00:00 (about 108 seconds ago)
dn CN=40be934e-f719-c8ff-42cf-e4b8364f1d90,CN=Master Root Keys,CN=Group Key Distribution Service,CN=Services,CN=Configuration,DC=test,DC=alt
Важно
--use-start-time. Например:
# samba-tool domain kds root-key create --use-start-time="$(date -d '10 hours ago' +"%Y-%m-%d %H:%M:%S")"
created root key 59f4665f-53e5-2c92-9564-5bc1762ffe4d, usable from 2025-11-20T05:25:58+00:00 (about 10 hours ago)
service-account утилиты samba-tool.
Таблица 46.2. Команды для работы с gMSA
|
Команда
|
Описание
|
Примечание
|
|---|---|---|
|
service-account create [опции]
|
Создать gMSA
|
Некоторые опции:
|
|
service-account list [опции]
|
Вывести список gMSA
|
Некоторые опции:
|
|
service-account view --name=NAME [опции]
|
Просмотреть информацию об учётной записи
|
По умолчанию подкоманды выводит список имен учетных записей gMSA в домене в формате sAMAccountName.
Некоторые опции:
|
|
service-account delete --name=NAME [опции]
|
Удалить gMSA
|
При вызове ожидается имя gMSA в параметре
--name
|
|
service-account group-msa-membership <подкоманда>
|
Управление доступом к паролю
|
Доступные подкоманды:
|
|
service-account modify --name=NAME [опции]
|
Изменить gMSA
|
При вызове ожидается имя учетной записи gMSA в параметре
--name.
Некоторые опции:
|
Примечание
msDS-ManagedPasswordInterval) нельзя изменить после создания записи нельзя. Данный атрибут доступен только для чтения.

# samba-tool service-account create --name=gMSAkey1 --dns-host-name=gMSAkey1.test.alt
Created group managed service account: gMSAkey1
# samba-tool service-account view --name=gMSAkey1
{
"badPasswordTime": "1601-01-01T00:00:00+00:00",
"badPwdCount": 0,
"cn": "gMSAkey1",
"codePage": 0,
"countryCode": 0,
"dNSHostName": "gMSAkey1.test.alt",
"distinguishedName": "CN=gMSAkey1,CN=Managed Service Accounts,DC=test,DC=alt",
"dn": "CN=gMSAkey1,CN=Managed Service Accounts,DC=test,DC=alt",
"instanceType": 4,
"lastLogoff": "1601-01-01T00:00:00+00:00",
"lastLogon": "1601-01-01T00:00:00+00:00",
"logonCount": 0,
"msDS-GroupMSAMembership": "O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-21-2531619480-2401423016-1263625386-500)",
"msDS-ManagedPasswordInterval": 30,
"name": "gMSAkey1",
"objectCategory": "CN=ms-DS-Group-Managed-Service-Account,CN=Schema,CN=Configuration,DC=test,DC=alt",
"objectClass": [
"top",
"person",
"organizationalPerson",
"user",
"computer",
"msDS-GroupManagedServiceAccount"
],
"objectGUID": "5ed431c8-a225-471b-ae76-de922fe07982",
"objectSid": "S-1-5-21-2531619480-2401423016-1263625386-1118",
"primaryGroupID": 515,
"pwdLastSet": "2025-11-20T16:18:30.088526+00:00",
"sAMAccountName": "gMSAkey1$",
"sAMAccountType": 805306369,
"userAccountControl": 4130
}
# samba-tool service-account list
gMSAkey1$
# samba-tool service-account group-msa-membership show --name=gMSAkey1
Account-DN: CN=gMSAkey1,CN=Managed Service Accounts,DC=test,DC=alt
Accounts or groups that are able to retrieve this group managed service account password:
CN=Administrator,CN=Users,DC=test,DC=alt
# samba-tool service-account group-msa-membership add \
--name=gMSAkey1 --principal=web$
Trustee 'web$' is now allowed to show managed passwords for: gMSAkey1$
Примечание
samba-tool учётная запись по умолчанию отключена (установлен флаг ACCOUNT_DISABLED в атрибуте userAccountControl).
# samba-tool user enable gMSAkey1$
Enabled user 'gMSAkey1$'
Альтернативно модно изменить значение userAccountControl вручную. Например, получить текущее значение:
# samba-tool service-account view --name gMSAkey1$ | grep userAccountControl
"userAccountControl": 4130
Расшифровка:
4130 = 4096 (NORMAL_ACCOUNT) + 32 (PASSWD_NOTREQD) + 2 (ACCOUNT_DISABLED)Чтобы включить учётную запись, нужно снять флаг
ACCOUNT_DISABLED (2), новое значение: 4128. Это можно сделать, например, в ADMC:

# samba-tool domain kds root-key list
1 root key found.
name 3ee3d658-99f8-79b6-3027-9f5146aa4748
Примечание
# samba-tool service-account create --name=gMSAkey1 --dns-host-name=gMSAkey1.test.alt
Created group managed service account: gMSAkey1
# samba-tool group add gMSA_group1
Added group gMSA_group1
# samba-tool group addmembers gMSA_group1 'WIN-TEST-02$','WIN-TEST-03$','WORK-01$'
Added members to group gMSA_group1
# samba-tool service-account group-msa-membership add \
--name=gMSAkey1 \
--principal='CN=gMSA_group1,CN=Users,DC=test,DC=alt'
Trustee 'CN=gMSA_group1,CN=Users,DC=test,DC=alt' is now allowed to show managed passwords for: gMSAkey1$
# samba-tool service-account create \
--name=gMSAkeynginx --dns-host-name=gMSAkeynginx.test.alt
Created group managed service account: gMSAkeynginx
#samba-tool group add nginxserversAdded group nginxservers #samba-tool group addmembers nginxservers 'web$'Added members to group nginxservers
# samba-tool service-account group-msa-membership add \
--name=gMSAkeynginx \
--principal='CN=nginxservers,CN=Users,DC=test,DC=alt'
Trustee 'CN=nginxservers,CN=Users,DC=test,DC=alt' is now allowed to show managed passwords for: gMSAkeynginx$
# samba-tool spn add HTTP/web.test.alt gMSAkeynginx$
# samba-tool domain exportkeytab /tmp/nginx.keytab --principal=HTTP/web.test.alt@TEST.ALT
Export one principal to /tmp/nginx.keytab
passwordsettings утилиты samba-tool.
# samba-tool domain passwordsettings show
# samba-tool domain passwordsettings show
Password information for domain 'DC=test,DC=alt'
Password complexity: on
Store plaintext passwords: off
Password history length: 24
Minimum password length: 7
Minimum password age (days): 1
Maximum password age (days): 42
Account lockout duration (mins): 30
Account lockout threshold (attempts): 0
Reset account lockout after (mins): 30
# samba-tool domain passwordsettings set <параметр>
Возможные параметры:
--complexity=on|off|default — должен ли пароль отвечать требованиям сложности (по умолчанию on);
--store-plaintext=on|off|default — хранить пароли используя обратимое шифрование (по умолчанию off);
--history-length=целое число|default — число хранимых предыдущих паролей пользователей (требование неповторяемости паролей) (по умолчанию 24);
--min-pwd-length=целое число|default — минимальное количество символов в пароле (по умолчанию 7);
--min-pwd-age=целое число|default — минимальный срок действия пароля (по умолчанию 1);
--max-pwd-age=целое число|default — максимальный срок действия пароля (по умолчанию 43);
--account-lockout-duration=целое число|default — интервал времени (в минутах), в течение которого возможность аутентификации для пользователя, превысившего количество попыток входа, будет заблокирована (по умолчанию 30);
--account-lockout-threshold=целое число|default — допустимое количество неудачных попыток ввода пароля перед блокировкой учетной записи (по умолчанию 0 — никогда не блокировать);
--reset-account-lockout=целое число|default — интервал времени (в минутах), по истечении которого записанное количество попыток начинается заново (по умолчанию 30).
# samba-tool domain passwordsettings set \
--min-pwd-length=7 --account-lockout-threshold=3
Minimum password length changed!
Account lockout threshold changed!
All changes applied successfully!
Примечание
badPwdCount достиг своего порога и для пользователя существует параметр lockoutTime значит учётная запись была заблокирована после нескольких неудачных попыток входа в систему:
# samba-tool user show ivanov
…
badPwdCount: 3
badPasswordTime: 133560395216186060
lockoutTime: 133560395216186060
…
Чтобы разблокировать пользователя, необходимо отредактировать объект учётной записи пользователя, установив для атрибута lockoutTime значение 0:
#Разблокировать пользователя также можно в модуле удалённого управления базой данных конфигурации (ADMC) (подробнее см. Модуль удаленного управления базой данных конфигурации (ADMC)):samba-tool user edit ivanovModified User 'ivanov' successfully #samba-tool user show ivanov… badPasswordTime: 133560395216186060 lockoutTime: 0 …
CN=<имя парольной политики>,CN=Password Settings Container,CN=System,DC=<domain>.
Примечание
#Если объектов PSO вообще нет, производительность не снижается.samba-tool domain passwordsettings pso create PwPolicyAdmins 1 --min-pwd-length=16#samba-tool domain passwordsettings pso apply PwPolicyAdmins "domain admins"#samba-tool domain passwordsettings pso create PwPolicyUsers 3 --min-pwd-length=8#samba-tool domain passwordsettings pso apply PwPolicyUsers "domain admins"#samba-tool domain passwordsettings pso create PwPolicyService 2 --min-pwd-length=24#samba-tool domain passwordsettings pso apply PwPolicyService "domain admins"
pso утилиты samba-tool.
# samba-tool domain passwordsettings pso <подкоманда>
apply — применить политику паролей PSO к пользователю или группе;
create — создать новый объект настроек пароля (PSO);
delete — удалить объект настроек пароля (PSO);
list — вывести список всех объектов настроек пароля (PSO);
set — изменить объект настроек пароля (PSO);
show — показать детали объекта настроек пароля;
show-user — отобразить настройки пароля, которые применяются к пользователю;
unapply — обновить PSO, чтобы он больше не применялся к пользователю или группе.
# samba-tool domain passwordsettings pso create <pso-name> <precedence> [options]
precedence, тем выше приоритет.
Примечание
# samba-tool domain passwordsettings pso apply <pso-name> <user-or-group-name> [options]
Подкоманда обеспечивает применение атрибутов парольной политики (PSO) с указанным именем (<pso-name>) к указанному пользователю или группе пользователей (<user-or-group-name>).
# samba-tool domain passwordsettings pso create PwPolicyUser 1 --min-pwd-length=10
Not all password policy options have been specified.
For unspecified options, the current domain password settings will be used as the default values.
PSO successfully created: CN=PwPolicyUser,CN=Password Settings Container,CN=System,DC=test,DC=alt
Password information for PSO 'PwPolicyUser'
Precedence (lowest is best): 1
Password complexity: on
Store plaintext passwords: off
Password history length: 24
Minimum password length: 10
Minimum password age (days): 1
Maximum password age (days): 42
Account lockout duration (mins): 30
Account lockout threshold (attempts): 0
Reset account lockout after (mins): 30
# samba-tool domain passwordsettings pso apply PwPolicyUser ivanov
The following PSO settings apply to user 'ivanov'.
Password information for PSO 'PwPolicyUser'
Precedence (lowest is best): 1
Password complexity: on
Store plaintext passwords: off
Password history length: 24
Minimum password length: 10
Minimum password age (days): 1
Maximum password age (days): 42
Account lockout duration (mins): 30
Account lockout threshold (attempts): 0
Reset account lockout after (mins): 30
Note: PSO applies directly to user (any group PSOs are overridden)
samba-tool pso show-user:
# samba-tool domain passwordsettings pso show-user kim
No PSO applies to user 'kim'. The default domain settings apply.
Refer to 'samba-tool domain passwordsettings show'.
# samba-tool domain passwordsettings pso list [options]
Эта подкоманда выводит список всех парольных политик (PSO), доступных в домене, в виде таблицы со столбцами Precedence и PSO name.
Примечание
# samba-tool domain backup <подкоманда> <опции>
Будет создан файл резервной копии .tar.bz2, содержащий полную резервную копию домена (на основе текущего контроллера домена).
# samba-tool domain backup restore <опции>
Примечание

# samba-tool domain backup online \
--targetdir=<output-dir> \
--server=<DC-server> \
-UAdministrator
--configfile, чтобы включить в резервную копию корректный smb.conf (локальный файл smb.conf может отличаться или отсутствовать).
Примечание
samba-tool dbcheck) и исправить все ошибки, о которых она сообщает.
Примечание
#mkdir /var/samba-backup-online#samba-tool domain backup online --targetdir=/var/samba-backup-online --server=dc1 -UAdministratorPassword for [TEST\Administrator]: workgroup is TEST realm is test.alt Looking up IPv4 addresses Looking up IPv6 addresses Setting up share.ldb Setting up secrets.ldb Setting up the registry Setting up the privileges database Setting up idmap db Setting up SAM db Setting up sam.ldb partitions and settings Setting up sam.ldb rootDSE Pre-loading the Samba 4 and AD schema A Kerberos configuration suitable for Samba AD has been generated at /var/samba-backup-online/tmpxqc6dwts/private/krb5.conf Merge the contents of this file with your system krb5.conf or replace it with this one. Do not create a symlink! … Creating backup file /var/samba-backup-online/samba-backup-test.alt-2025-06-17T14-01-36.253494.tar.bz2...
Важно
Примечание
# samba-tool domain backup offline --targetdir=<output-dir>
Примечание
samba-tool использует внутренние блокировки, чтобы безопасно скопировать базу, даже если процесс samba запущен.
#mkdir /var/samba-backup-offline#samba-tool domain backup offline --targetdir=/var/samba-backup-offlinerunning backup on dirs: /var/lib/samba/private /var/lib/samba /etc/samba Starting transaction on /var/lib/samba/private/secrets Starting transaction on /var/lib/samba/private/sam.ldb backing up /var/lib/samba/private/sam.ldb … adding misc file etc/lmhosts adding misc file etc/smb.conf Backup succeeded.
samba на всех контроллерах домена (если используется переименованная резервная копия этот шаг можно пропустить).
samba-tool domain backup restore).
samba на восстановленном контроллере.
# samba-tool domain join <dns-realm> DC --server=<restored-dc>
Примечание
samba-tool domain backup restore выполняется только один раз, при этом домен воссоздается на одном контроллере домена. Затем все старые контроллеры домена должны быть повторно присоединены к восстановленному контроллеру домена.
# samba-tool domain backup restore \
--backup-file=<tar-file> \
--newservername=<DC-name> \
--targetdir=<new-samba-dir>
где
/var/lib/samba). Вместо этого рекомендуется восстановить базу данных домена в другой целевой каталог, а затем, при запуске samba, использовать параметр -s (или --configfile), например:
# samba -s <targetdir>/etc/smb.conf
Это гарантирует, что Samba будет использовать восстановленные файлы базы данных, а не системные.
--site.
smb.conf.
#mkdir /var/lib/samba/new#samba-tool domain backup restore\ --backup-file=/home/user/samba-backup-test.alt-2025-06-17T14-01-36.253494.tar.bz2 \ --newservername=newdc \ --targetdir=/var/lib/samba/new Adding new DC to site 'Default-First-Site-Name' Updating basic smb.conf settings... … Backup file successfully restored to /var/lib/samba/new Please check the smb.conf settings are correct before starting samba.

Примечание
Примечание
--keep-dns-realm, пользователи могут входить по user@old-realm. Иначе — по user@new-realm (при условии корректной настройки Kerberos);
Policies в sysvol создаётся с новым именем (например, sysvol/newtest.alt/Policies).
Примечание
samba-tool domain backup rename клонирует базу и переименовывает домен.
samba-tool domain backup restore создаёт новый контроллер домена на основе копии.
# samba-tool domain backup rename <new-netbios> <new-dns-realm> \
--server=<dc-to-backup> \
--targetdir=<output-dir> \
--no-secrets \
-UAdministrator
где
--server — имя контроллера, с которого делается копия;
--targetdir — каталог, куда будет записан сгенерированный файл резервной копии;
--no-secrets — исключает хеши паролей (например, unicodePwd, lmPwdHistory);
-Uadministrator — учётная запись для доступа к контроллеру.
Предупреждение
--no-secrets исключает из резервной копии конфиденциальную информацию о паролях (например, такие атрибуты, как unicodePwd, lmPwdHistory и т. д.) для всех пользователей в домене. При этом, файл резервной копии по-прежнему содержит конфиденциальные данные (имена пользователей, структуру OU и т.д.).
#mkdir /var/samba-backup-rename#samba-tool domain backup renameNEWTEST newtest.alt \ --server=dc1 \ --targetdir=/var/samba-backup-rename \ --no-secrets \ -UAdministrator New realm for backed up domain: newtest.alt New base DN for backed up domain: DC=newtest,DC=alt New domain NetBIOS name: NEWTEST Password for [TEST\Administrator]: Provisioning the new (renamed) domain... …
/var/samba-backup-rename/samba-backup-newtest.alt-<timestamp>.tar.bz2.
smb.conf, максимально соответствующий производственному контроллеру домена, и передать его команде резервного копирования (с помощью параметра --configfile=smb.conf). Это гарантирует, что резервная копия будет содержать smb.conf, точно соответствующий домену.
/var/samba-backup-rename/samba-backup-newtest.alt-<timestamp>.tar.bz2 может использоваться для восстановления клонированной и переименованной базы данных на диске. В восстановленном домене будет только один новый контроллер домена с именем, указанными с помощью опции --newservername. В последующем к нему могут быть присоединены другие контроллеры домена. Для указания нового каталога для размещения всех файлов службы каталогов (smb.conf, sam.ldb и т. п.) может использоваться опция --targetdir.
# samba-tool domain backup restore \
--backup-file=<tar-file> \
--newservername=<DC-name> \
--targetdir=<new-samba-dir>
где
--backup-file — файл резервной копии;
--newservername — имя нового контроллера домена;
--targetdir — каталог, куда будут восстановлены все файлы службы каталогов (smb.conf, sam.ldb и т. п.).
#mkdir /var/lib/samba/newtest#samba-tool domain backup restore\ --targetdir=/var/lib/samba/newtest \ --newservername=NEWDC1 \ --backup-file=/home/user/samba-backup-test.alt-2025-06-17T14-01-36.253494.tar.bz2
Примечание
/var/lib/samba/). Однако можно указать подкаталог (например, /var/lib/samba/newtest/).
Примечание
# samba-tool user setpassword Administrator \
--newpassword=<пароль> \
-H /var/lib/samba/newtest/private/sam.ldb
Примечание
# samba-tool user setpassword ivanov \
--newpassword=Pa$$word \
-H /var/lib/samba/newtest/private/sam.ldb
smb.conf (например, /var/lib/samba/newtest/etc/smb.conf) и в файле /etc/krb5.conf, и при необходимости вручную внести в них изменения.
smb.conf. Например:
# samba -s /var/lib/samba/newtest/etc/smb.conf
Это гарантирует, что Samba использует восстановленные файлы базы данных, а не системные по умолчанию.
samba_dnsupdate для регистрации DNS-записей нового домена. Ошибки исчезнут после завершения процесса инициализации.
samba можно проверить правильность работы нового контроллера домена, например, выполнив команду:
# ldbsearch -H ldap://NEWDC1 -UAdministrator
Успешный вывод означает, что:
# samba-tool sites list
# samba-tool sites subnet list Default-First-Site-Name
#samba-tool sites subnet remove 192.168.0.0/24#samba-tool sites subnet create 10.0.0.0/24 "Default-First-Site-Name"
# samba-tool sites create TestSite
--targetdir), а не /var/lib/samba по умолчанию;
--newservername) не должно совпадать с именем существующего DC в сети.
/var/lib/samba);
samba-tool domain demote).
Примечание
# apt-get install task-samba-dc
или компонент samba-dc
# alteratorctl components install samba-dc
# for service in smb nmb krb5kdc slapd bind; do \
systemctl disable $service; \
systemctl stop $service; \
done
#rm -f /etc/samba/smb.conf#rm -rf /var/lib/samba#rm -rf /var/cache/samba#mkdir -p /var/lib/samba/sysvol
# samba-tool domain backup restore \
--backup-file=/home/user/samba-backup-test.alt-2025-06-17T14-01-36.253494.tar.bz2 \
--newservername=newdc --targetdir=/var/lib/samba
Adding new DC to site 'Default-First-Site-Name'
Updating basic smb.conf settings...
…
Backup file successfully restored to /var/lib/samba
Please check the smb.conf settings are correct before starting samba.
smb.conf из каталога /var/lib/samba/etc/ в /etc/samba/:
# cp /var/lib/samba/etc/smb.conf /etc/samba/
# systemctl enable --now samba
/etc/krb5.conf файлом из каталога /var/lib/samba/private/:
# cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
#samba-tool domain info 127.0.0.1Forest : test.alt Domain : test.alt Netbios domain : TEST DC name : newdc.test.alt DC netbios name : NEWDC Server site : Default-First-Site-Name Client site : Default-First-Site-Name #smbclient -L localhost -UadministratorPassword for [TEST\administrator]: Sharename Type Comment --------- ---- ------- sysvol Disk netlogon Disk share Disk Commonplace Free Disk IPC$ IPC IPC Service (Samba 4.21.7-alt4) SMB1 disabled -- no workgroup available #host -t SRV _kerberos._udp.test.alt._kerberos._udp.test.alt has SRV record 0 100 88 newdc.test.alt.
--targetdir). Анализ этого каталога может помочь понять, почему произошел сбой. Необходимо удалить этот каталог перед повторным запуском команды восстановления.
# ldbsearch -H ldap://<server> -UAdministrator
--debug=3;
restore должна запускаться от root;
--newservername, не должно существовать в исходном домене. В противном случае будет получена ошибка:
Adding CN=NEWDC,OU=Domain Controllers,DC=test,DC=alt
ERROR(ldb): uncaught exception - Entry CN=NEWDC,OU=Domain Controllers,DC=test,DC=alt already exists
File "/usr/lib64/samba-dc/python3.9/samba/netcmd/__init__.py", line 186, in _run
return self.run(*args, **kwargs)
File "/usr/lib64/samba-dc/python3.9/samba/netcmd/domain_backup.py", line 562, in run
ctx.join_add_objects(specified_sid=dom_sid(str(sid)))
File "/usr/lib64/samba-dc/python3.9/samba/join.py", line 674, in join_add_objects
ctx.samdb.add(rec, controls=controls)
smb.conf в резервной копии может содержать некорректные настройки interfaces (IP-адреса, не соответствующие новому серверу). Избежать этой проблемы можно, указав аргумент --host-ip во время восстановления (имеет значение только на переименованных резервных копий).
samba-tool domain join DC локальная копия базы данных полностью перезаписывается актуальной копией распределенной базы данных (происходит процесс «повторного ввода» контроллера в домен).
# samba-tool domain demote --remove-other-dead-server=dc2 -UAdministrator
где dc2 — имя (hostname) вышедшего из строя контроллера.
/etc/krb5.conf указать опции default_realm = TEST.ALT и dns_lookup_realm = false;
# for service in smb nmb krb5kdc slapd bind; do \
systemctl disable $service; \
systemctl stop $service; \
done
#rm -f /etc/samba/smb.conf#rm -rf /var/lib/samba#rm -rf /var/cache/samba#mkdir -p /var/lib/samba/sysvol
# samba-tool domain join test.alt DC \
--dns-backend=SAMBA_INTERNAL \
-Uadministrator \
--realm=test.alt
Контроллер получит полную копию базы данных и начнёт участвовать в репликации.
#Это гарантирует, что все DNS-записи контроллера будут корректно зарегистрированы.systemctl enable --now samba#samba_dnsupdate --use-samba-tool --verbose
Важно
samba-tool drs showrepl некоторое время может отображаться ошибка (WERR_GEN_FAILURE):
…
DC=DomainDnsZones,DC=test,DC=alt
Default-First-Site-Name\DC2 via RPC
DSA object GUID: b78f2c9d-5c62-4497-a5e1-4fc85aedf1cb
Last attempt @ Wed Jul 9 13:15:47 2025 MSK failed, result 31 (WERR_GEN_FAILURE)
28 consecutive failure(s).
Last success @ NTTIME(0)
DC=ForestDnsZones,DC=test,DC=alt
Default-First-Site-Name\DC2 via RPC
DSA object GUID: b78f2c9d-5c62-4497-a5e1-4fc85aedf1cb
Last attempt @ Wed Jul 9 13:15:47 2025 MSK failed, result 31 (WERR_GEN_FAILURE)
28 consecutive failure(s).
Last success @ NTTIME(0)
…
Ошибка означает, что другие контроллеры пытаются реплицировать данные с ещё не восстановленного DC. После успешного присоединения нового контроллера и завершения репликации сообщение исчезнет.
host:
# host -t SRV _ldap._tcp.pdc._msdcs.<домен>
Например:
# host -t SRV _ldap._tcp.pdc._msdcs.test.alt
_ldap._tcp.pdc._msdcs.test.alt has SRV record 0 100 389 dc1.test.alt.
samba-tool или в модуле удалённого управления базой данных конфигурации (ADMC) (подробнее см. Модуль удаленного управления базой данных конфигурации (ADMC)).
# samba-tool fsmo show
SchemaMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
InfrastructureMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
RidAllocationMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
PdcEmulationMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
DomainNamingMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
DomainDnsZonesMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
ForestDnsZonesMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
# samba-tool fsmo transfer --role=<роль>
# samba-tool fsmo transfer --role=infrastructure
FSMO transfer of 'infrastructure' role successful
Проверка:
# samba-tool fsmo show
SchemaMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
InfrastructureMasterRole owner: CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
RidAllocationMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
PdcEmulationMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
DomainNamingMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
DomainDnsZonesMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
ForestDnsZonesMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt
Примечание
# samba-tool fsmo transfer --role=domaindns -UAdministrator
Password for [TEST\Administrator]:
FSMO transfer of 'domaindns' role successful
# samba-tool fsmo seize --role=<роль>
# samba-tool fsmo seize --role=infrastructure
Attempting transfer...
Transfer unsuccessful, seizing...
Seizing domaindns FSMO role...
FSMO seize of 'infrastructure' role successful
Примечание
samba-tool fsmo seize сначала пробует выполнить transfer роли FSMO у текущего держателя, поэтому если старый владелец роли доступен, при передаче ролей domaindns и forestdns потребуется аутентификация:
# samba-tool fsmo seize --role=domaindns -UAdministrator
Attempting transfer...
Password for [TEST\Administrator]:
FSMO transfer of 'domaindns' role successful
Transfer successful, not seizing role
Если же старый владелец роли недоступен, то команда выполнит seize без запроса пароля.
Примечание
samba-tool была ошибка, не позволявшая захватить роль naming:
# samba-tool fsmo seize --role=naming
ERROR (ldb): uncaught exception — Failed FSMO transfer: WERR_BADFILE
В этом случае необходимо использовать «ещё более принудительную передачу»:
# samba-tool fsmo seize --force --role=naming
Важно
objectVersion объекта CN=Schema,CN=Configuration.
Таблица 50.1. Соответствие версии схемы, функционального уровня и Windows Server
|
Windows Server
|
Schema Version
|
Domain Function Level (DFL)
|
Forest Function Level (FFL)
|
|---|---|---|---|
|
Windows 2000
|
13
|
2000
|
2000
|
|
Windows Server 2003
|
30
|
2003 / 2003 R2
|
2003 / 2003 R2
|
|
Windows Server 2008
|
44
|
2008
|
2008
|
|
Windows Server 2008 R2
|
47
|
2008 R2
|
2008 R2
|
|
Windows Server 2012
|
56
|
2012
|
2012
|
|
Windows Server 2012 R2
|
69
|
2012 R2
|
2012 R2
|
|
Windows Server 2016
|
87
|
2016
|
2016
|
|
Windows Server 2019
|
88
|
2016
|
2016
|
|
Windows Server 2022
|
88
|
2016
|
2016
|
Примечание
objectVersion объекта CN=Schema,CN=Configuration.
# ldbsearch -H /var/lib/samba/private/sam.ldb \
-b "CN=Schema,CN=Configuration,DC=test,DC=alt" \
-s base objectVersion
Пример вывода:
# record 1 dn: CN=Schema,CN=Configuration,DC=test,DC=alt objectVersion: 88 # returned 1 records # 1 entries # 0 referrals
# samba-tool domain level show
Domain and forest function level for domain 'DC=test,DC=alt'
Forest function level: (Windows) 2008 R2
Domain function level: (Windows) 2008 R2
Lowest function level of a DC: (Windows) 2008 R2
Команда показывает:

# samba-tool domain level raise --domain-level=<DOMAIN_LEVEL> --forest-level=<FOREST_LEVEL>
где:
# samba-tool domain schemaupgrade --schema=<SCHEMA>
где SCHEMA — целевой уровень схемы (по умолчанию 2019).
[global] файла smb.conf:
bind interfaces only = yes interfaces = lo enp1s0и перезапустить службу Samba:
# systemctl restart samba.service
interfaces вместо имён интерфейсов можно указывать IP-адреса.
Примечание
<service class>/<host>:<port>/<service name>
Примечание
Важно
samba-tool spn add:
# samba-tool spn add host/fdqn@KerberosRealm <sAMAccount name>
После добавления SPN можно сгенерировать keytab, выполнив команду:
# samba-tool domain exportkeytab <имя>.keytab --principal=[<sAMAccount name> | <SPN>]
В результате выполнения этой команды будет создан keytab-файл <имя>.keytab, содержащий UPN или SPN, в зависимости от того, что было указано в параметре --principal.
man samba-tool).
Примечание
# samba-tool spn add HTTP/test.alt webauth
# samba-tool domain exportkeytab /tmp/web.keytab --principal=HTTP/test.alt
Export one principal to /tmp/keytab
# klist -ke /tmp/web.keytab
Keytab name: FILE:/tmp/web.keytab
KVNO Principal
---- ------------------------------------------------------------------------
2 HTTP/test.alt@TEST.ALT (DEPRECATED:arcfour-hmac)
# kinit administrator@TEST.ALT
Password for administrator@TEST.ALT:
И выполнить команду:
# kinit -5 -V -k -t /tmp/web.keytab HTTP/test.alt
Using default cache: /tmp/krb5cc_0
Using principal: HTTP/test.alt@TEST.ALT
Using keytab: /tmp/web.keytab
Authenticated to Kerberos v5
Примечание
kinit: Client not found in Kerberos database while getting initial credentialsНеобходимо в ADMC (см. Модуль удаленного управления базой данных конфигурации (ADMC)) изменить для пользователя webauth значение параметра
userPrincipalName на значение servicePrincipalName + REALM (в данном примере нужно поменять webauth на HTTP/test.alt@TEST.ALT):

# samba-tool spn list <user> [options]
В качестве аргумента передается имя учетной записи SAM (значение атрибута sAMaccountName).
# samba-tool spn delete <name> <user> [options]
В качестве аргументов передаются значение SPN (name) и имя учетной записи SAM (значение атрибута sAMaccountName).
# samba-tool user create dhcpduser \
--description="Пользователь для обновления TSIG-GSSAPI DNS через DHCP-сервер" \
--random-password
User 'dhcpduser' added successfully
Установить срок действия пароля (бессрочный) для созданного пользователя и добавить его в группу DnsAdmins:
#samba-tool user setexpiry dhcpduser --noexpiryExpiry for user 'dhcpduser' disabled. #samba-tool group addmembers DnsAdmins dhcpduserAdded members to group DnsAdmins
#samba-tool domain exportkeytab --principal=dhcpduser@TEST.ALT /etc/dhcp/dhcpduser.keytabExport one principal to /etc/dhcp/dhcpduser.keytab #chown dhcpd:dhcp /etc/dhcp/dhcpduser.keytab#chmod 400 /etc/dhcp/dhcpduser.keytab
Примечание
/usr/local/bin/dhcp-dyndns.sh):
#!/bin/bash
#
# This script is for secure DDNS updates on Samba,
# it can also add the 'macAddress' to the Computers object.
#
# Version: 0.9.6
#
##########################################################################
# #
# You can optionally add the 'macAddress' to the Computers object. #
# Add 'dhcpduser' to the 'Domain Admins' group if used #
# Change the next line to 'yes' to make this happen #
Add_macAddress='no'
# #
##########################################################################
keytab=/etc/dhcp/dhcpduser.keytab
usage()
{
cat <<-EOF
USAGE:
$(basename "$0") add ip-address dhcid|mac-address hostname
$(basename "$0") delete ip-address dhcid|mac-address
EOF
}
_KERBEROS()
{
# get current time as a number
test=$(date +%d'-'%m'-'%y' '%H':'%M':'%S)
# Note: there have been problems with this
# check that 'date' returns something like
# Check for valid kerberos ticket
#logger "${test} [dyndns] : Running check for valid kerberos ticket"
klist -c "${KRB5CCNAME}" -s
ret="$?"
if [ $ret -ne 0 ]
then
logger "${test} [dyndns] : Getting new ticket, old one has expired"
kinit -F -k -t $keytab "${SETPRINCIPAL}"
ret="$?"
if [ $ret -ne 0 ]
then
logger "${test} [dyndns] : dhcpd kinit for dynamic DNS failed"
exit 1
fi
fi
}
rev_zone_info()
{
local RevZone="$1"
local IP="$2"
local rzoneip
rzoneip="${RevZone%.in-addr.arpa}"
local rzonenum
rzonenum=$(echo "$rzoneip" | tr '.' '\n')
declare -a words
for n in $rzonenum
do
words+=("$n")
done
local numwords="${#words[@]}"
unset ZoneIP
unset RZIP
unset IP2add
case "$numwords" in
1)
# single ip rev zone '192'
ZoneIP=$(echo "${IP}" | awk -F '.' '{print $1}')
RZIP="${rzoneip}"
IP2add=$(echo "${IP}" | awk -F '.' '{print $4"."$3"."$2}')
;;
2)
# double ip rev zone '168.192'
ZoneIP=$(echo "${IP}" | awk -F '.' '{print $1"."$2}')
RZIP=$(echo "${rzoneip}" | awk -F '.' '{print $2"."$1}')
IP2add=$(echo "${IP}" | awk -F '.' '{print $4"."$3}')
;;
3)
# triple ip rev zone '0.168.192'
ZoneIP=$(echo "${IP}" | awk -F '.' '{print $1"."$2"."$3}')
RZIP=$(echo "${rzoneip}" | awk -F '.' '{print $3"."$2"."$1}')
IP2add=$(echo "${IP}" | awk -F '.' '{print $4}')
;;
*)
# should never happen
exit 1
;;
esac
}
BINDIR=$(samba -b | grep 'BINDIR' | grep -v 'SBINDIR' | awk '{print $NF}')
[[ -z $BINDIR ]] && printf "Cannot find the 'samba' binary, is it installed ?\\nOr is your path set correctly ?\\n"
WBINFO="$BINDIR/wbinfo"
SAMBATOOL=$(command -v samba-tool)
[[ -z $SAMBATOOL ]] && printf "Cannot find the 'samba-tool' binary, is it installed ?\\nOr is your path set correctly ?\\n"
MINVER=$($SAMBATOOL -V | grep -o '[0-9]*' | tr '\n' ' ' | awk '{print $2}')
if [ "$MINVER" -gt '14' ]
then
KTYPE="--use-kerberos=required"
else
KTYPE="-k yes"
fi
# DHCP Server hostname
Server=$(hostname -s)
# DNS domain
domain=$(hostname -d)
if [ -z "${domain}" ]
then
logger "Cannot obtain domain name, is DNS set up correctly?"
logger "Cannot continue... Exiting."
exit 1
fi
# Samba realm
REALM="${domain^^}"
# krbcc ticket cache
export KRB5CCNAME="/tmp/dhcp-dyndns.cc"
# Kerberos principal
SETPRINCIPAL="dhcpduser@${REALM}"
# Kerberos keytab as above
# krbcc ticket cache : /tmp/dhcp-dyndns.cc
TESTUSER="$($WBINFO -u | grep 'dhcpduser')"
if [ -z "${TESTUSER}" ]
then
logger "No AD dhcp user exists, need to create it first.. exiting."
logger "you can do this by typing the following commands"
logger "kinit Administrator@${REALM}"
logger "$SAMBATOOL user create dhcpduser --random-password --description='Unprivileged user for DNS updates via ISC DHCP server'"
logger "$SAMBATOOL user setexpiry dhcpduser --noexpiry"
logger "$SAMBATOOL group addmembers DnsAdmins dhcpduser"
exit 1
fi
# Check for Kerberos keytab
if [ ! -f "$keytab" ]
then
logger "Required keytab $keytab not found, it needs to be created."
logger "Use the following commands as root"
logger "$SAMBATOOL domain exportkeytab --principal=${SETPRINCIPAL} $keytab"
logger "chown XXXX:XXXX $keytab"
logger "Replace 'XXXX:XXXX' with the user & group that dhcpd runs as on your distro"
logger "chmod 400 $keytab"
exit 1
fi
# Variables supplied by dhcpd.conf
action="$1"
ip="$2"
DHCID="$3"
name="${4%%.*}"
# Exit if no ip address
if [ -z "${ip}" ]
then
usage
exit 1
fi
# Exit if no computer name supplied, unless the action is 'delete'
if [ -z "${name}" ]
then
if [ "${action}" = "delete" ]
then
name=$(host -t PTR "${ip}" | awk '{print $NF}' | awk -F '.' '{print $1}')
else
usage
exit 1
fi
fi
# exit if name contains a space
case ${name} in
*\ * )
logger "Invalid hostname '${name}' ...Exiting"
exit
;;
esac
# if you want computers with a hostname that starts with 'dhcp' in AD
# comment the following block of code.
if [[ $name == dhcp* ]]
then
logger "not updating DNS record in AD, invalid name"
exit 0
fi
## update ##
case "${action}" in
add)
_KERBEROS
count=0
# does host have an existing 'A' record ?
mapfile -t A_REC < <($SAMBATOOL dns query "${Server}" "${domain}" "${name}" A "$KTYPE" 2>/dev/null | grep 'A:' | awk '{print $2}')
if [ "${#A_REC[@]}" -eq 0 ]
then
# no A record to delete
result1=0
$SAMBATOOL dns add "${Server}" "${domain}" "${name}" A "${ip}" "$KTYPE"
result2="$?"
elif [ "${#A_REC[@]}" -gt 1 ]
then
for i in "${A_REC[@]}"
do
$SAMBATOOL dns delete "${Server}" "${domain}" "${name}" A "${i}" "$KTYPE"
done
# all A records deleted
result1=0
$SAMBATOOL dns add "${Server}" "${domain}" "${name}" A "${ip}" "$KTYPE"
result2="$?"
elif [ "${#A_REC[@]}" -eq 1 ]
then
# turn array into a variable
VAR_A_REC="${A_REC[*]}"
if [ "$VAR_A_REC" = "${ip}" ]
then
# Correct A record exists, do nothing
logger "Correct 'A' record exists, not updating."
result1=0
result2=0
count=$((count+1))
elif [ "$VAR_A_REC" != "${ip}" ]
then
# Wrong A record exists
logger "'A' record changed, updating record."
$SAMBATOOL dns delete "${Server}" "${domain}" "${name}" A "${VAR_A_REC}" "$KTYPE"
result1="$?"
$SAMBATOOL dns add "${Server}" "${domain}" "${name}" A "${ip}" "$KTYPE"
result2="$?"
fi
fi
# get existing reverse zones (if any)
ReverseZones=$($SAMBATOOL dns zonelist "${Server}" "$KTYPE" --reverse | grep 'pszZoneName' | awk '{print $NF}')
if [ -z "$ReverseZones" ]; then
logger "No reverse zone found, not updating"
result3='0'
result4='0'
count=$((count+1))
else
for revzone in $ReverseZones
do
rev_zone_info "$revzone" "${ip}"
if [[ ${ip} = $ZoneIP* ]] && [ "$ZoneIP" = "$RZIP" ]
then
# does host have an existing 'PTR' record ?
PTR_REC=$($SAMBATOOL dns query "${Server}" "${revzone}" "${IP2add}" PTR "$KTYPE" 2>/dev/null | grep 'PTR:' | awk '{print $2}' | awk -F '.' '{print $1}')
if [[ -z $PTR_REC ]]
then
# no PTR record to delete
result3=0
$SAMBATOOL dns add "${Server}" "${revzone}" "${IP2add}" PTR "${name}"."${domain}" "$KTYPE"
result4="$?"
break
elif [ "$PTR_REC" = "${name}" ]
then
# Correct PTR record exists, do nothing
logger "Correct 'PTR' record exists, not updating."
result3=0
result4=0
count=$((count+1))
break
elif [ "$PTR_REC" != "${name}" ]
then
# Wrong PTR record exists
# points to wrong host
logger "'PTR' record changed, updating record."
$SAMBATOOL dns delete "${Server}" "${revzone}" "${IP2add}" PTR "${PTR_REC}"."${domain}" "$KTYPE"
result3="$?"
$SAMBATOOL dns add "${Server}" "${revzone}" "${IP2add}" PTR "${name}"."${domain}" "$KTYPE"
result4="$?"
break
fi
else
continue
fi
done
fi
;;
delete)
_KERBEROS
count=0
$SAMBATOOL dns delete "${Server}" "${domain}" "${name}" A "${ip}" "$KTYPE"
result1="$?"
# get existing reverse zones (if any)
ReverseZones=$($SAMBATOOL dns zonelist "${Server}" --reverse "$KTYPE" | grep 'pszZoneName' | awk '{print $NF}')
if [ -z "$ReverseZones" ]
then
logger "No reverse zone found, not updating"
result2='0'
count=$((count+1))
else
for revzone in $ReverseZones
do
rev_zone_info "$revzone" "${ip}"
if [[ ${ip} = $ZoneIP* ]] && [ "$ZoneIP" = "$RZIP" ]
then
host -t PTR "${ip}" > /dev/null 2>&1
ret="$?"
if [ $ret -eq 0 ]
then
$SAMBATOOL dns delete "${Server}" "${revzone}" "${IP2add}" PTR "${name}"."${domain}" "$KTYPE"
result2="$?"
else
result2='0'
count=$((count+1))
fi
break
else
continue
fi
done
fi
result3='0'
result4='0'
;;
*)
logger "Invalid action specified"
exit 103
;;
esac
result="${result1}:${result2}:${result3}:${result4}"
if [ "$count" -eq 0 ]
then
if [ "${result}" != "0:0:0:0" ]
then
logger "DHCP-DNS $action failed: ${result}"
exit 1
else
logger "DHCP-DNS $action succeeded"
fi
fi
if [ "$Add_macAddress" != 'no' ]
then
if [ -n "$DHCID" ]
then
Computer_Object=$(ldbsearch "$KTYPE" -H ldap://"$Server" "(&(objectclass=computer)(objectclass=ieee802Device)(cn=$name))" | grep -v '#' | grep -v 'ref:')
if [ -z "$Computer_Object" ]
then
# Computer object not found with the 'ieee802Device' objectclass, does the computer actually exist, it should.
Computer_Object=$(ldbsearch "$KTYPE" -H ldap://"$Server" "(&(objectclass=computer)(cn=$name))" | grep -v '#' | grep -v 'ref:')
if [ -z "$Computer_Object" ]
then
logger "Computer '$name' not found. Exiting."
exit 68
else
DN=$(echo "$Computer_Object" | grep 'dn:')
objldif="$DN
changetype: modify
add: objectclass
objectclass: ieee802Device"
attrldif="$DN
changetype: modify
add: macAddress
macAddress: $DHCID"
# add the ldif
echo "$objldif" | ldbmodify "$KTYPE" -H ldap://"$Server"
ret="$?"
if [ $ret -ne 0 ]
then
logger "Error modifying Computer objectclass $name in AD."
exit "${ret}"
fi
sleep 2
echo "$attrldif" | ldbmodify "$KTYPE" -H ldap://"$Server"
ret="$?"
if [ "$ret" -ne 0 ]; then
logger "Error modifying Computer attribute $name in AD."
exit "${ret}"
fi
unset objldif
unset attrldif
logger "Successfully modified Computer $name in AD"
fi
else
DN=$(echo "$Computer_Object" | grep 'dn:')
attrldif="$DN
changetype: modify
replace: macAddress
macAddress: $DHCID"
echo "$attrldif" | ldbmodify "$KTYPE" -H ldap://"$Server"
ret="$?"
if [ "$ret" -ne 0 ]
then
logger "Error modifying Computer attribute $name in AD."
exit "${ret}"
fi
unset attrldif
logger "Successfully modified Computer $name in AD"
fi
fi
fi
exit 0
Примечание
Add_macAddress='no'на:
Add_macAddress='yes'Следует обратить внимание, что необходимо предоставить права администратора домена пользователю обновления DNS.
# chmod 755 /usr/local/bin/dhcp-dyndns.sh
# cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.orig
/etc/dhcp/dhcpd.conf:
authoritative;
ddns-update-style none;
subnet 192.168.0.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option time-offset 0;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.132, 192.168.0.133;
option ntp-servers 192.168.0.132, 192.168.0.133;
option domain-name "test.alt";
default-lease-time 3600;
pool {
max-lease-time 1800; #30 минут
range 192.168.0.150 192.168.0.200;
}
}
on commit {
set noname = concat("dhcp-", binary-to-ascii(10, 8, "-", leased-address));
set ClientIP = binary-to-ascii(10, 8, ".", leased-address);
set ClientDHCID = concat (
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,1,1))),2), ":",
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,2,1))),2), ":",
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,3,1))),2), ":",
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,4,1))),2), ":",
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,5,1))),2), ":",
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,6,1))),2)
);
set ClientName = pick-first-value(option host-name, config-option host-name, client-name, noname);
log(concat("Commit: IP: ", ClientIP, " DHCID: ", ClientDHCID, " Name: ", ClientName));
execute("/usr/local/bin/dhcp-dyndns.sh", "add", ClientIP, ClientDHCID, ClientName);
}
on release {
set ClientIP = binary-to-ascii(10, 8, ".", leased-address);
set ClientDHCID = concat (
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,1,1))),2), ":",
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,2,1))),2), ":",
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,3,1))),2), ":",
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,4,1))),2), ":",
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,5,1))),2), ":",
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,6,1))),2)
);
log(concat("Release: IP: ", ClientIP));
execute("/usr/local/bin/dhcp-dyndns.sh", "delete", ClientIP, ClientDHCID);
}
on expiry {
set ClientIP = binary-to-ascii(10, 8, ".", leased-address);
# cannot get a ClientMac here, apparently this only works when actually receiving a packet
log(concat("Expired: IP: ", ClientIP));
# cannot get a ClientName here, for some reason that always fails
# however the dhcp update script will obtain the short hostname.
execute("/usr/local/bin/dhcp-dyndns.sh", "delete", ClientIP, "", "0");
}
# control dhcpd-chroot disabled
# systemctl restart dhcpd
dhcpd[7817]: DHCPDISCOVER from 08:00:27:99:a6:1f via enp1s0 dhcpd[7817]: DHCPOFFER on 192.168.0.150 to 08:00:27:99:a6:1f (host-199) via enp1s0 dhcpd[7817]: Commit: IP: 192.168.0.150 DHCID: 08:00:27:99:a6:1f Name: host-199 dhcpd[7817]: execute_statement argv[0] = /usr/local/bin/dhcp-dyndns.sh dhcpd[7817]: execute_statement argv[1] = add dhcpd[7817]: execute_statement argv[2] = 192.168.0.150 dhcpd[7817]: execute_statement argv[3] = 08:00:27:99:a6:1f dhcpd[7817]: execute_statement argv[4] = host-199 dhcpd[8228]: 18-06-25 14:55:31 [dyndns] : Getting new ticket, old one has expired dhcpd[8236]: 'A' record changed, updating record. dhcpd[8237]: Record deleted successfully dhcpd[8240]: Record added successfully dhcpd[8268]: Record added successfully dhcpd[8271]: DHCP-DNS add succeeded dhcpd[7817]: DHCPREQUEST for 192.168.0.125 (192.168.0.132) from 08:00:27:99:a6:1f (host-199) via enp1s0 dhcpd[7817]: DHCPACK on 192.168.0.150 to 08:00:27:99:a6:1f (host-199) via enp1s0
#host host-199host-199.test.alt has address 192.168.0.150 host-199.test.alt has IPv6 address fd47:d11e:43c1:0:a00:27ff:fe99:a61f #host 192.168.0.150150.0.168.192.in-addr.arpa domain name pointer host-199.test.alt.
# tsig-keygen -a hmac-md5 omapi_key
key "omapi_key" {
algorithm hmac-md5;
secret "KKkAspinSr/nXYXhAv7CTQ==";
};
Как на ведущем, так и на ведомом устройстве должен быть настроен специальный раздел, путём добавления следующих строк в файл /etc/dhcp/dhcpd.conf:
omapi-port 7911;
omapi-key omapi_key;
key "omapi_key" {
algorithm hmac-md5;
secret "Секретный_ключ";
};
«Секретный_ключ» следует заменить на ключ, полученный на предыдущем шаге.
/etc/dhcp/dhcpd.conf перед разделом subnet следует добавить строки:
omapi-port 7911;
omapi-key omapi_key;
key "omapi_key" {
algorithm hmac-md5;
secret "KKkAspinSr/nXYXhAv7CTQ==";
};
failover peer "dhcp-failover" {
primary;
address dc1.test.alt; # Полное DNS-имя основного DHCP-сервера
port 847;
peer address dc2.test.alt; # Полное DNS-имя имя резервного DHCP-сервера
peer port 647;
max-response-delay 60;
max-unacked-updates 10;
mclt 3600;
split 128;
load balance max seconds 3;
}
И добавить ссылку на подсеть/пул, которые будут выполнять аварийное переключение в раздел pool:
pool {
failover peer "dhcp-failover"; # Add for failover
max-lease-time 1800; #30 минут
range 192.168.0.150 192.168.0.200;
}
#scp dc1:/usr/local/bin/dhcp-dyndns.sh /usr/local/bin/#scp dc1:/etc/dhcp/dhcpduser.keytab /etc/dhcp/#chown dhcpd:dhcp /etc/dhcp/dhcpduser.keytab
Примечание
#cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.orig#scp dc1:/etc/dhcp/dhcpd.conf /etc/dhcp/
/etc/dhcp/dhcpd.conf внести изменения в раздел «failover peer "dhcp-failover"»:
failover peer "dhcp-failover" {
secondary;
address dc2.test.alt; # Полное DNS-имя имя резервного DHCP-сервера
port 647;
peer address dc1.test.alt; # Полное DNS-имя основного DHCP-сервера
peer port 847;
max-response-delay 60;
max-unacked-updates 10;
load balance max seconds 3;
}
# control dhcpd-chroot disabled
Примечание
split должен быть установлен только на ведущем DHCP-сервере. Этот параметр управляет балансировкой нагрузки двух серверов. Параметр может принимать значения от 0 до 255. Если установлено значение «255», основной сервер, если он не отключен (по какой-либо причине), будет отвечать на все запросы DHCP. Если установить значение «128», то оба DHCP-сервера будут использоваться одинаково. Подробности смотрите на man-странице dhcpd.conf.
# systemctl restart dhcpd
В системном журнале на обоих серверах должны появиться записи вида:
dhcpd[7879]: failover peer dhcp-failover: peer moves from recover-done to normal dhcpd[7879]: failover peer dhcp-failover: Both servers normal
-----BEGIN CERTIFICATE-----и
-----END CERTIFICATE-----
cert.pem после сертификата сервера.
tls* в файле smb.conf (подробнее см. man smb.conf).
tls* задаются в разделе [global] файла smb.conf. После внесения изменений в файл smb.conf необходимо перезапустить Samba.
tls priority позволяет задать строку приоритета шифра GnuTLS и, таким образом, отключить устаревшие шифры.
tls priority = NORMAL:-VERS-TLS1.0:-VERS-TLS1.1
/var/lib/samba/private/tls/ca.pem/var/lib/samba/private/tls/cert.pem/var/lib/samba/private/tls/key.pem
tls enabled = yes), используются указанные выше файлы, которые соответствуют следующим параметрам smb.conf:
tls enabled = yes tls keyfile = tls/key.pem tls certfile = tls/cert.pem tls cafile = tls/ca.pem
# cd /var/lib/samba/private/tls/
# openssl req -newkey rsa:2048 -keyout myKey.pem -nodes -x509 -days 365 -out myCert.pem
.+.+...+...
........................+++++
...........+++++
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [RU]:
State or Province Name (full name) []:
Locality Name (eg, city) []:
Organization Name (eg, company) []:
Organizational Unit Name (eg, section) []:
Common Name (e.g., your name or your server's hostname) []:dc1.test.alt
Email Address []:
# chmod 600 myKey.pem
smb.conf указать следующие параметры:
tls enabled = yes tls keyfile = tls/myKey.pem tls certfile = tls/myCert.pem tls cafile =
# cd /var/lib/samba/private/tls/
# openssl genrsa -out myKey.pem 2048
# openssl req -new -key myKey.pem -out myCSR.pem
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [RU]:
State or Province Name (full name) []:
Locality Name (eg, city) []:
Organization Name (eg, company) []:
Organizational Unit Name (eg, section) []:
Common Name (e.g., your name or your server's hostname) []:dc1.test.alt
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
myCSR.pem).
myCert.pem) в каталоге с ключом сервера. Если CA требует промежуточные сертификаты, файл с промежуточными сертификатами следует также сохранить в том же каталоге, что и другие файлы (например, myIntermediate.pem).
smb.conf:
tls enabled = yes tls keyfile = tls/myKey.pem tls certfile = tls/myCert.pem tls cafile = tls/myIntermediate.pem
# openssl x509 -in /var/lib/samba/private/tls/myCert.pem -noout -text
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
32:9d:8f:2f:95:46:59:8d:9d:56:1c:da:14:b1:03:0c:82:ed:96:d0
Signature Algorithm: sha256WithRSAEncryption
Issuer: C = RU, CN = dc1.test.alt
Validity
Not Before: Jun 19 10:48:49 2025 GMT
Not After : Jun 19 10:48:49 2026 GMT
Subject: C = RU, CN = dc1.test.alt
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (2048 bit)
Modulus:
.....{.....}.....
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
45:2E:E1:87:EE:54:77:E1:88:86:C6:48:DB:99:E6:EA:36:CA:D5:79
X509v3 Authority Key Identifier:
keyid:45:2E:E1:87:EE:54:77:E1:88:86:C6:48:DB:99:E6:EA:36:CA:D5:79
X509v3 Basic Constraints:
CA:TRUE
Signature Algorithm: sha256WithRSAEncryption
.....{.....}.....
# openssl verify -CAfile /var/lib/samba/private/tls/myCert.pem /var/lib/samba/private/tls/myCert.pem
/var/lib/samba/private/tls/myCert.pem: OK
Если в файле smb.conf указан файл CA, следует использовать следующую команду:
# openssl verify /var/lib/samba/private/tls/myCert.pem -CAfile /path/to/ca-file.pem
# openssl s_client -showcerts -connect dc1.test.alt:636
CONNECTED(00000003)
depth=0 C = RU, CN = dc1.test.alt
verify error:num=18:self signed certificate
verify return:1
depth=0 C = RU, CN = dc1.test.alt
verify return:1
---
Certificate chain
0 s:C = RU, CN = dc1.test.alt
i:C = RU, CN = dc1.test.alt
-----BEGIN CERTIFICATE-----
.....{.....}.....
-----END CERTIFICATE-----
---
Server certificate
subject=C = RU, CN = dc1.test.alt
issuer=C = RU, CN = dc1.test.alt
---
No client certificate CA names sent
Requested Signature Algorithms: RSA+SHA256:RSA-PSS+SHA256:RSA-PSS+SHA256:ECDSA+SHA256:Ed25519:RSA+SHA384:RSA-PSS+SHA384:RSA-PSS+SHA384:ECDSA+SHA384:Ed448:RSA+SHA512:RSA-PSS+SHA512:RSA-PSS+SHA512:ECDSA+SHA512:RSA+SHA1:ECDSA+SHA1
Shared Requested Signature Algorithms: RSA+SHA256:RSA-PSS+SHA256:RSA-PSS+SHA256:ECDSA+SHA256:Ed25519:RSA+SHA384:RSA-PSS+SHA384:RSA-PSS+SHA384:ECDSA+SHA384:Ed448:RSA+SHA512:RSA-PSS+SHA512:RSA-PSS+SHA512:ECDSA+SHA512
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 1437 bytes and written 424 bytes
Verification error: self signed certificate
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 18 (self signed certificate)
---
Выйти из s_client можно, нажав Ctrl+C.
smb.conf указан файл CA, следует использовать следующую команду:
# openssl s_client -showcerts -connect localhost:636 -CAfile /path/to/ca-file.pem
msLAPS-EncryptedPassword);
gpupdate.
Таблица 55.1. Поддержка LAPS в инфраструктуре ОС «Альт» и Windows
| |
Контроллер домена
|
Клиент
|
Инструменты
|
|---|---|---|---|
|
ALT Linux
|
Samba AD — начиная с версии 4.21.8
|
|
|
|
Windows
|
MS AD — Windows Server 2016 или новее.
Встроенная поддержка Windows LAPS была добавлена в следующих кумулятивных обновлениях, выпущенных в апреле 2023 года:
|
Windows 10/11 (с установленными обновлениями)
|
|

msLAPS-EncryptedPassword для хранения зашифрованных паролей;
gpupdate, начиная с версии 0.13.0. При настроенных политиках пароль локального администратора хранится в защищённых атрибутах объекта Computer в Active Directory, автоматически изменяется через заданные интервалы и может быть получен только пользователями, которым администратор явно предоставил соответствующие права (параметр политики Расшифрование паролей). Если этот параметр не настроен, доступ к расшифровке имеют члены группы Администраторы домена.

install-laps-v2-schema.py, предназначенного для обновления схемы LAPS в Samba.
ldbadd и ldbmodify.
--domain — имя домена (например: dc=domain,dc=alt);
--samfile — путь к файлу базы данных Samba sam.ldb (по умолчанию: /var/lib/samba/private/sam.ldb).
Важно
# apt-get install samba-extension-laps-v2-schema
# install-laps-v2-schema.py \
--domain "dc=test,dc=alt" \
--samfile "/var/lib/samba/private/sam.ldb"
Пример вывода:
Added 1 records successfully Added 7 records successfully Modified 1 records successfully

Примечание
ldbsearch, например:
# ldbsearch -H /var/lib/samba/private/sam.ldb \
-b "CN=Schema,CN=Configuration,DC=test,DC=alt" \
"(lDAPDisplayName=msLAPS-PasswordExpirationTime)"
Пример вывода:
# record 1 dn: CN=ms-LAPS-PasswordExpirationTime,CN=Schema,CN=Configuration,DC=test,DC=alt objectClass: attributeSchema cn: ms-LAPS-PasswordExpirationTime …
Примечание
Update-LapsADSchema:
PS C:\> Update-LapsADSchema
Set-LapsADComputerSelfPermission:
PS C:\> Set-LapsADComputerSelfPermission -Identity "OU=test_laps,DC=test,DC=alt"
Name DistinguishedName
---- -----------------
test_laps OU=test_laps,DC=test,DC=alt
Примечание
-Identity "DC=test,DC=alt"
Set-LapsADReadPasswordPermission:
PS C:\> Set-LapsADReadPasswordPermission -Identity test_laps -AllowedPrincipals @("laps\LapsPasswordReadersGroup")
Примечание
Администраторы домена имеют право на чтение паролей по умолчанию.
Примечание
ADPasswordEncryptionPrincipal. По умолчанию в этот параметр включена группа Администраторы домена.
#apt-get install gpupdate#gpupdate-setup enable
# apt-get install admc gpui admx-basealt
Примечание
Active Directory;
$ gpupdate
Apply group policies for computer.
Apply group policies for user.


Примечание
$ samba-tool dns add dc1.test.alt test.alt web A 192.168.0.150 -Uadministrator
Password for [TEST\administrator]:
Record added successfully
где dc1.test.alt — имя контроллера домена.
$ samba-tool dns zonecreate dc1.test.alt 0.168.192.in-addr.arpa -Uadministrator
Password for [TEST\administrator]:
Zone 0.168.192.in-addr.arpa created successfully
$ samba-tool dns add dc1.test.alt 0.168.192.in-addr.arpa 150 PTR web.test.alt
Record added successfully
#samba-tool user add --random-password webauth#samba-tool user setexpiry webauth --noexpiry#samba-tool spn add HTTP/web.test.alt webauth
# samba-tool domain exportkeytab /tmp/httpd.keytab --principal=HTTP/web.test.alt@TEST.ALT
Export one principal to /tmp/httpd.keytab
/etc/httpd2/conf/, установить права на него, так чтобы Apache мог читать, но не изменять keytab-файл:
#chown apache2:apache2 /etc/httpd2/conf/httpd.keytab#chmod 0440 /etc/httpd2/conf/httpd.keytab
#apt-get install apache2-mod_auth_gssapi#a2enmod auth_gssapi#a2enmod authn_core#a2enmod authz_user#service httpd2 condreload
<Location "/login.html">
AuthType GSSAPI
AuthName "GSSAPI Login"
#GssapiBasicAuth On
GssapiCredStore keytab:/etc/httpd2/conf/httpd.keytab
GssapiAllowedMech krb5
Require valid-user
</Location>
# systemctl restart httpd2
$Попытаться прочитать содержимое сайта, используя аутентификацию Kerberos:kinit ivanovPassword for ivanov@TEST.ALT: $klistTicket cache: KEYRING:persistent:500:krb_ccache_5VitJSL Default principal: ivanov@TEST.ALT Valid starting Expires Service principal 19.06.2025 13:52:03 19.06.2025 23:52:03 krbtgt/TEST.ALT@TEST.ALT renew until 26.06.2025 13:51:58
$ curl --negotiate -u : http://web.test.alt/login.html
<html><body><h1>It works!</h1></body></html>
Получено содержимое страницы.
$Попытаться прочитать содержимое сайта, используя аутентификацию Kerberos:kdestroy$klist
$ curl --negotiate -u : http://web.test.alt/login.html
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Authentication required!</title>
</head>
<body>
<h1>Authentication required!</h1>
…
<h2>Error 401</h2>
<address>
<a href="/">web.test.alt</a><br />
<span>Apache/2.4.62 (Unix) mod_auth_gssapi/1.6.3 OpenSSL/1.1.1u</span>
</address>
</body>
</html>
Содержимое страницы не доступно.
#samba-tool user add --random-password nginxauth#samba-tool user setexpiry nginxauth --noexpiry#samba-tool spn add HTTP/web.test.alt nginxauth
# samba-tool domain exportkeytab /tmp/nginx.keytab --principal=HTTP/web.test.alt@TEST.ALT
Export one principal to /tmp/nginx.keytab
# apt-get install nginx nginx-spnego
# ln -s /etc/nginx/modules-available.d/http_auth_spnego.conf /etc/nginx/modules-enabled.d/
/etc/nginx. Установить права на файл keytab:
# chmod 644 /etc/nginx/nginx.keytab
Nginx должен иметь права на чтение keytab-файла, но не на его изменение.
server файла конфигурации сайта:
server {
…
location /
{
root /var/www/html;
auth_gss on;
auth_gss_realm TEST.ALT; #имя Kerberos области
auth_gss_keytab /etc/nginx/nginx.keytab; #путь к keytab-файлу
auth_gss_service_name HTTP/web.test.alt; #имя используемого SPN
auth_gss_allow_basic_fallback off;
}
}
auth_gss — включение/отключение аутентификации;
auth_gss_keytab — абсолютный путь к файлу keytab, содержащему учётные данные службы;
auth_gss_realm — имя области Kerberos;
auth_gss_service_name — имя субъекта-службы, используемое при получении учетных данных;
auth_gss_allow_basic_fallback — включить/отключить базовую аутентификацию. При включённой базовой аутентификации (по умолчанию), если SSO не проходит (машина не в домене) разрешает обычный ввод логина и пароля. Если используется SPNEGO без SSL, рекомендуется отключить базовую аутентификацию, так как в этом случае пароль будет отправлен в виде открытого текста.
# systemctl restart nginx
auth_gss_authorized_principal. Можно указывать несколько записей, по одной на строку:
auth_gss_authorized_principal <username>@<realm> auth_gss_authorized_principal <username2>@<realm>
auth_gss_authorized_principal_regex. Этот параметр можно использовать вместе с параметром auth_gss_authorized_principal:
auth_gss_authorized_principal <username>@<realm> auth_gss_authorized_principal_regex ^(<username>)/(<group>)@<realm>$
$Попытаться прочитать содержимое сайта, используя аутентификацию Kerberos:kinit ivanovPassword for ivanov@TEST.ALT: $klistTicket cache: KEYRING:persistent:500:krb_ccache_5VitJSL Default principal: ivanov@TEST.ALT Valid starting Expires Service principal 19.06.2025 13:57:52 19.06.2025 23:57:52 krbtgt/TEST.ALT@TEST.ALT renew until 26.06.2025 13:57:47
$ curl --negotiate -u : http://web.test.alt
<html><body><h1>It works!</h1></body></html>
Получено содержимое страницы.
$Попытаться прочитать содержимое сайта, используя аутентификацию Kerberos:kdestroy$klist
$ curl --negotiate -u : http://web.test.alt
<html>
<head><title>401 Authorization Required</title></head>
<body>
<center><h1>401 Authorization Required</h1></center>
<hr><center>nginx/1.22.1</center>
</body>
</html>
Содержимое страницы не доступно.
network.negotiate-auth.trusted-uris.

network.automatic-ntlm-auth.trusted-uris выставить в Kerberos realm: .test.alt;
network.negotiate-auth.delegation-uris выставить в Kerberos realm: .test.alt;
network.automatic-ntlm-auth.allow-non-fqdn выставить в: true;
network.negotiate-auth.allow-non-fqdn выставить в: true;
/usr/lib64/firefox/browser/defaults/preferences/prefs.js со следующим содержимым:
pref("network.negotiate-auth.trusted-uris",".test.alt");
pref("network.automatic-ntlm-auth.trusted-uris",".test.alt");
pref("network.automatic-ntlm-auth.allow-non-fqdn","true");
pref("network.negotiate-auth.allow-non-fqdn","true");
pref("network.negotiate-auth.delegation-uris",".test.alt");
network.negotiate-auth.trusted-uris — политика SPNEGO;
network.automatic-ntlm-auth.trusted-uris — политика NTLM;
network.negotiate-auth.delegation-uris — политика Делегированная авторизация;
network.automatic-ntlm-auth.allow-non-fqdn — политика Разрешить неполное доменное имя (Non FQDN);
network.negotiate-auth.allow-non-fqdn — политика Разрешить неполное доменное имя (Non FQDN);
/etc/chromium/policies/managed/policies.json добавить строки:
{
"AuthServerAllowlist": "*.test.alt",
"AuthNegotiateDelegateAllowlist": "*.test.alt"
}
где .test.alt — имя Kerberos области (realm).
chrome://policy.

Примечание
$ chromium-browser --auth-server-allowlist="*.test.alt"
или:
$ chromium --auth-server-allowlist="*.test.alt"
/etc/opt/yandex/browser/policies/managed/policies.json добавить строки:
{
"AuthServerAllowlist": "*.test.alt",
"AuthNegotiateDelegateAllowlist": "*.test.alt"
}
где .test.alt — имя Kerberos области (realm).
Примечание
/etc/opt/yandex/browser/policies/managed/ отсутствуют, их необходимо создать заранее:
# mkdir -p /etc/opt/yandex/browser/policies/managed/
browser://policy.

KrbFastArmor, включающим:
armor-type — тип брони (например, FX_FAST_ARMOR_AP_REQUEST = 1);
armor-value — бинарные данные (AP-REQ, параметры).
FX_FAST_ARMOR_AP_REQUEST (1) — защита на основе Kerberos-билета (TGT), упакованного в AP-REQ со временным ключом (subkey), сгенерированным клиентом.
armor key происходит путём комбинирования двух ключей:
subkey — временный ключ, созданный клиентом и включенный в AP-REQ (обеспечивает уникальность и свежесть текущей сессии);
ticket_session_key — сессионный ключ из TGT.
Примечание
armor key). Клиент и KDC считают, что любые сообщения, зашифрованные и защищённые с помощью этого ключа, принадлежат к текущей сессии.
KrbFastReq, содержащий:
padata с типом FX_FAST.
KrbFastRep, включающий:
armor key, что и запрос.
KRB5_TRACE=/dev/stdout <команда>
Например:
$ KRB5_TRACE=/dev/stdout kinit user@TEST.ALT
Примечание
klist не показывает, использовался ли FAST.
/etc/sssd/sssd.conf два параметра:
[domain/TEST.ALT] ... krb5_use_fast = try krb5_fast_principal = CLIENT1$@TEST.ALTГде:
krb5_use_fast — режим использования FAST. Поддерживаются следующие значения:
krb5_fast_principal — учётная запись хоста, используемая для получения TGT.
Примечание
Примечание
krb5_use_fast приведёт к ошибке конфигурации.
krb5_fast_principal указывает учетную запись хоста, которую следует использовать для FAST.
KRB5_TRACE=/dev/stdout <команда>
Например:
$ KRB5_TRACE=/dev/stdout kinit user@TEST.ALT
/var/log/sssd/krb5_child.log.
Примечание
klist не показывает, использовался ли FAST.
Supported для параметра KDC support for claims, compound authentication and Kerberos armoring ( → → → ).
Enabled для параметра Kerberos client support for claims, compound authentication and Kerberos armoring ( → → → ).
Enabled.
Fail unarmored authentication requests.
klist на хосте в поле Cache Flags появятся метки:
Cache Flags: 0x41 -> PRIMARY FAST Cache Flags: 0x42 -> DELEGATION FAST Cache Flags: 0xc0 -> FAST COMPOUND
/etc/samba/smb.conf в секции [global].
/etc/krb5.conf, но не могут превышать значения, заданные в конфигурации DC.
/etc/samba/smb.conf на каждом DC в секции [global]:
[global]
kdc:service ticket lifetime = 24
kdc:user ticket lifetime = 3
kdc:renewal lifetime = 120
где
kdc:service ticket lifetime — срок действия билета, выданного для доступа к конкретной службе (например, LDAP, SSH, HTTP);
kdc:user ticket lifetime — определяет, как долго действует первоначальный TGT (Ticket Granting Ticket), выдаваемый при аутентификации пользователя;
kdc:renewal lifetime — максимальное время, в течение которого пользователь может обновлять свой TGT без повторной аутентификации.
Примечание
/etc/samba/smb.conf время указывается только в часах и целым числом.
Примечание
/etc/samba/smb.conf необходимо перезапустить службу Samba:
# systemctl restart samba
$ kinit administrator
Password for Administrator@TEST.ALT:
$ klist
Пример вывода:
Valid starting Expires Service principal 19.11.2025 11:35:46 19.11.2025 14:35:46 krbtgt/TEST.ALT@TEST.ALT renew until 24.11.2025 11:35:40Здесь видно, что:
/etc/krb5.conf в разделе [libdefaults]:
[libdefaults]
ticket_lifetime = 2h
renew_lifetime = 1d
Эти значения будут применяться по умолчанию ко всем билетам, если при запросе не указано иное.
Примечание
/etc/krb5.conf поддерживаются следующие единицы измерения: s — секунды, m — минуты, h — часы, d — дни (например: 30m, 2h, 7d).
Примечание
$Билет будет действовать 3 часа, а не 10.kinit -l 10h administrator$klist… Valid starting Expires Service principal 19.11.2025 12:16:16 19.11.2025 15:16:16 krbtgt/TEST.ALT@TEST.ALT renew until 24.11.2025 12:16:16

host msdfs в файле /etc/samba/smb.conf. Корень DFS назначается с помощью логического параметра root msdfs. Если для этого параметра установлено значение yes, Samba будет воспринимать открытый для общего доступа ресурс как корневой DFS. Ссылки DFS, указываемые в открытом для доступа каталоге, имеют вид: msdfs:serverA\shareA,serverB\shareB и т.д. Корневой каталог DFS в Samba содержит ссылки DFS в виде символических ссылок,
/media/dfsroot):
# mkdir /media/dfsroot
/etc/samba/smb.conf в секцию [global] добавить параметр:
host msdfs = yesи добавить секцию
[dfs], с указанием корня:
[dfs]
path = /media/dfsroot
msdfs root = yes
/media/dfsroot настроить ссылки DFS на общие ресурсы в сети:
#cd /media/dfsroot#ln -s msdfs:dc1.test.alt\\free linka#ln -s msdfs:web.test.alt\\tests linkb
# systemctl restart samba
$ smbclient //test.alt/dfs/linka -U 'ivanov'
Password for [TEST\ivanov]:
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Wed Jun 18 14:13:28 2025
.. D 0 Wed Jun 18 14:13:06 2025
dc.txt N 5 Wed Jun 18 19:57:14 2025
48254668 blocks of size 1024. 40859796 blocks available
smb: \> exit
Примечание
# samba-tool spn add cifs/cifs/<имя_домена> <имя_сервера>$
Например:
# samba-tool spn add cifs/test.alt dc1$

/var/log/sssd/. Например, для машины в домене test.alt файлы журналов SSSD могут выглядеть следующим образом:
# ls -l /var/log/sssd/
итого 1660
-rw------- 1 _sssd _sssd 0 мая 18 12:55 gpo_child.log
-rw------- 1 _sssd _sssd 0 мая 18 12:55 krb5_child.log
-rw------- 1 _sssd _sssd 0 мая 18 12:54 ldap_child.log
-rw------- 1 root root 261 июн 19 10:10 sssd_ifp.log
-rw------- 1 root root 3955 июн 19 09:34 sssd.log
-rw------- 1 _sssd _sssd 1677605 июн 19 11:18 sssd_nss.log
-rw------- 1 _sssd _sssd 1134 июн 19 09:34 sssd_pac.log
-rw------- 1 _sssd _sssd 3067 июн 19 09:34 sssd_pam.log
-rw------- 1 _sssd _sssd 0 мая 18 12:54 sssd_TEST.ALT.log
krb5_child.logldap_child.logsssd_<domain.name>.logsssd.conf служба SSSD записывает информацию о взаимодействии с LDAP-сервером в отдельный файл журнала.
sssd.logsssd_ifp.logsssd_nss.logsssd_pac.logsssd_pam.logsssd_ssh.logТаблица 60.1. Уровни журналирования SSSD
|
Уровень
|
Описание
|
|---|---|
|
0, 0x0010
|
Фатальные ошибки. Ошибки, которые не позволяют запустить службу SSSD или вызывает завершение работы сервиса
|
|
1, 0x0020
|
Критические ошибки. Ошибки, которые не завершают работу службы SSSD, но как минимум одна из основных функций не работает должным образом
|
|
2, 0x0040
|
Серьёзные ошибки. Ошибки, сообщающие о том, что определенный запрос или операция завершились неудачно. Это уровень журналирования по умолчанию
|
|
3, 0x0080
|
Незначительные ошибки. Ошибки, которые могут стать причиной ошибок второго уровня (ошибок при выполнении действий)
|
|
4, 0x0100
|
Настройки конфигурации
|
|
5, 0x0200
|
Данные функций
|
|
6, 0x0400
|
Сообщения трассировки для функций действий
|
|
7, 0x1000
|
Сообщения трассировки для функций внутреннего управления
|
|
8, 0x2000
|
Содержимое переменных внутренних функций
|
|
9, 0x4000
|
Информация трассировки крайне низкого уровня
|
|
9, 0x20000
|
Быстродействие и статистические данные. Из-за способа обработки запросов на внутреннем уровне, записанное в журнал время выполнения запроса может быть больше, чем оно было на самом деле
|
|
10, 0x10000
|
Информация трассировки libldb ещё более низкого уровня. Практически никогда не требуется
|
0x0270.
sssd.confdebug_level=<целое_число> в каждую секцию файла /etc/sssd/sssd.conf. Где значение <целое_число> — число от 0 до 10. Уровни до 3 регистрируют крупные сбои, а уровни, начиная с 8 и выше, предоставляют большое количество подробных сообщений журнала. Уровень 6 является хорошей отправной точкой для отладки проблем.
/etc/sssd/sssd.conf:
[sssd] debug_level = 6 config_file_version = 2 services = nss, pam [domain/TEST.ALT] debug_level = 6 id_provider = ad … [nss] debug_level = 6 [pam] debug_level = 6
# systemctl restart sssd
sssctl debug-level <целое_число>. Где значение <целое_число> — число от 0 до 10. Уровни до 3 регистрируют крупные сбои, а уровни, начиная с 8 и выше, предоставляют большое количество подробных сообщений журнала. Уровень 6 является хорошей отправной точкой для отладки проблем.
# sssctl debug-level
sssd 0x0070
nss 0x0070
pam 0x0070
pac 0x0070
domain/TEST.ALT 0x0070
#sssctl debug-level 6#sssctl debug-levelsssd 0x07f0 nss 0x07f0 pam 0x07f0 pac 0x07f0 domain/TEST.ALT 0x07f0
Примечание
sssctl debug-level, будет действовать до перезапуска службы sssd.

Таблица 60.2. Настройки SSSD в Alterator
|
Настройка
|
Опция в файле
/etc/sssd/sssd.conf
|
Описание
|
|---|---|---|
|
Правила применения групповых политик
|
ad_gpo_access_control
|
Определяет, в каком режиме будет осуществляться контроль доступа в SSSD, основанный на групповых политиках Active Directory (GPO).
Доступные режимы:
|
|
Игнорировать, если групповые политики не читаются
|
ad_gpo_ignore_unreadable
|
Определяет, будут ли проигнорированы правила управления доступом в SSSD, основанные на групповых политиках, если недоступен какой-либо шаблон (GPT) объекта групповой политики (GPO).
Доступные режимы:
|
|
Кешировать учётные данные
|
cache-credentials
|
Определяет, будут ли учётные данные удалённых пользователей сохраняться в локальном кеше SSSD.
Доступные режимы:
|
|
Привилегии запуска SSSD
|
sssd-drop-privileges
|
Позволяет сбросить права службы SSSD, чтобы избежать работы от имени суперпользователя (root).
Доступные режимы:
|
|
Интервал обновления записей DNS
|
dyndns_refresh_interval
|
Определяет, как часто серверная часть должна выполнять периодическое обновление DNS в дополнение к автоматическому обновлению, выполняемому при подключении серверной части к сети. Этот параметр применим только в том случае, если для параметра
dyndns_update установлено значение true.
Доступные режимы:
|
|
TTL для клиентской записи DNS
|
dyndns_ttl
|
Срок жизни, применяемый к DNS-записи клиента при ее обновлении. Если
dyndns_update имеет значение false, этот параметр не имеет никакого эффекта.
Доступные режимы:
|
|
Обновлять IP-адрес машины в DNS
|
dyndns_update
|
Позволяет включить или отключить автоматическое обновление DNS-записей (защищенных с помощью GSS-TSIG) с IP-адресом клиента через SSSD.
Доступные режимы:
|
|
Обновлять PTR-запись машины в DNS-записей
|
dyndns_update_ptr
|
Определяет, будет ли обновляться клиентская PTR-запись (защищенная с помощью GSS-TSIG) при обновлении DNS-записей клиента. Применимо, только если параметр
dyndns_update имеет значение true.
Доступные режимы:
|
cache_credentials в значение true в разделе домена (в файле /etc/sssd/sssd.conf).
offline_credentials_expiration в разделе [pam], чтобы установить ограничение по времени (в днях), в течение которого пользователи смогут аутентифицироваться в автономном режиме с момента последнего успешного входа.
[pam] offline_credentials_expiration = 5 [domain/TEST.ALT] cache_credentials = true
control sssd-cache-credentials. Например:
# control sssd-cache-credentials
default
# control sssd-cache-credentials enabled
# control sssd-cache-credentials disabled
Примечание
Примечание
Примечание
smbpasswd. Для работы в доменной среде необходимости добавлять пользователей в эту базу нет. Достаточно ввести ПК в домен, используя winbind или sssd.
[homes] comment = Home Directories browseable = no writable = yes valid users = %S #можно переназначить путь до домашнего каталога, указав path #path = /opt/smbhome/%S
/etc/printcap локального хоста. Как правило, в файле /etc/printcap содержатся те принтеры, что настроены в CUPS.
Примечание
browseable для домашних каталогов будет унаследован от глобального флага browseable, а не флага browseable раздела [homes]. Таким образом, установка browseable = no в разделе [homes] скроет общий ресурс [homes], но сделает видимыми все автоматические домашние каталоги.
browseable — определяет, отображается ли этот общий ресурс в списке доступных общих ресурсов в сетевом окружении и в списке просмотра (по умолчанию: browseable = yes);
path — указывает каталог, к которому должен быть предоставлен доступ;
read only — если для этого параметра задано значение «yes», то пользователи службы не могут создавать или изменять файлы в каталоге (по умолчанию: read only = yes);
writable — инвертированный синоним для read only (по умолчанию: writeable = no);
write list — список пользователей, которым будет предоставлен доступ для чтения и записи. Если пользователь находится в этом списке, ему будет предоставлен доступ для записи, независимо от того, какой параметр установлен для параметра read only. Список может включать имена групп с использованием синтаксиса @group;
Примечание
read list — список пользователей, которым будет предоставлен доступ только для чтения. Если пользователь находится в этом списке, ему не будет предоставлен доступ для записи, независимо от того, какой параметр установлен для параметра read only. Список может включать имена групп;
guest ok — если этот параметр имеет значение «yes», то для подключения к ресурсу не требуется пароль (по умолчанию: guest ok = no);
guest only — разрешить только гостевые соединения к общему ресурсу (по умолчанию: guest only = no);
printable — если этот параметр имеет значение «yes», то клиенты могут открывать, писать и ставить задания в очередь печати (по умолчанию: printable = no);
valid users — список пользователей (групп), которым разрешен доступ к сервису;
force group — принудительное изменение группы на создаваемые файлы/каталоги;
force create mode — принудительная установка указанных атрибутов на файлы;
force directory mode — принудительная установка указанных атрибутов на каталоги.
Примечание
/etc/samba/smb.conf, следует запустить команду testparm для проверки файла на синтаксические ошибки:
# testparm /etc/samba/smb.conf
И, в случае отсутствия ошибок, перезапустить службы smb и nmb, чтобы изменения вступили в силу:
#systemctl restart smb#systemctl restart nmb
[Sales] comment = Sales documents path = /opt/sales writable = yes read list = @sales, @sales-ro write list = @sales force group = sales force create mode = 666 force directory mode = 775
Примечание
#mkdir /opt/sales#chown -R root:"TEST.ALT\\Domain Users" /opt/sales#chmod -R 2775 /opt/sales
access based share enum = yes — включает фильтрацию списка общих ресурсов (верхний уровень) в зависимости от прав пользователя. Пользователь будет только те ресурсы, к которым у него есть хотя бы минимальный доступ;
hide unreadable = yes — скрывает файлы/каталоги внутри общего ресурса, если у пользователя нет прав на их чтение;
hide unwriteable files = yes — скрывает файлы/каталоги общего ресурса, в которые у пользователя нет прав на запись.
Примечание
$ kinit ivanov
Password for ivanov@TEST.ALT:
$ smbclient -k -L //fs-server.test.alt/
WARNING: The option -k|--kerberos is deprecated!
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
free Disk
Sales Disk Sales documents
IPC$ IPC IPC Service (Samba 4.21.7-alt4)
ivanov Disk Home Directories
SMB1 disabled -- no workgroup available
или:
$ smbclient --use-kerberos=required --use-krb5-ccache=CCACHE -L //fs-server.test.alt/
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
free Disk
Sales Disk Sales documents
IPC$ IPC IPC Service (Samba 4.21.7-alt4)
ivanov Disk Home Directories
SMB1 disabled -- no workgroup available
Примечание
man smb.conf.
Примечание
# apt-get install samba-usershares
[global] файла /etc/samba/smb.conf подключён файл настроек:
[global]
include = /etc/samba/usershares.conf
/etc/samba/usershares.conf заданы параметры:
[global]
usershare path = /var/lib/samba/usershares
usershare max shares = 100
usershare allow guests = yes
usershare owner only = yes
usershare prefix deny list = /etc /dev /sys /proc
usershare prefix allow list = /home /srv /mnt /media /var
где:
usershare path — каталог для хранения описаний общих ресурсов (по умолчанию /var/lib/samba/usershares);
usershare max shares — максимальное количество ресурсов, которое может создать один пользователь. Если значение равно 0 или параметр закомментирован, создание ресурсов запрещено. При превышении лимита будет выдано сообщение:
net usershare add: maximum number of allowed usershares reached.
usershare allow guests — разрешает гостевой доступ. Если значение no или параметр закомментирован — гостевой доступ запрещён;
usershare owner only — разрешает расшаривать только собственные каталоги пользователя. Попытка предоставить общий доступ к чужому каталогу вызовет ошибку:
net usershare add: cannot share path ... as we are restricted to only sharing directories we own.
usershare prefix deny list — список запрещённых путей. Определяет каталоги в корневом каталоге (/), в которых пользователю запрещено создавать общие каталоги. Если абсолютный путь к каталогу начинается с одного из перечисленных, доступ к нему будет запрещен. Таким образом, параметр ограничивает области, где пользователи могут публиковать ресурсы. По умолчанию в параметре usershare prefix deny list указаны каталоги: /etc, /dev, /sys, /proc. Попытка расшарить подкаталог из этого списка вызовет ошибку:
Path is denied
usershare prefix allow list — список разрешённых путей. Определяет каталоги в корневом каталоге (/), в которых пользователю разрешено создавать общие каталоги. Если абсолютный путь к каталогу не начинается с одного из указанных каталогов, доступ к нему будет запрещен. По умолчанию в параметре usershare prefix allow list указаны каталоги: /home, /srv, /mnt, /media, /var. Попытка расшарить каталог вне этого списка вызовет ошибку:
Path not allowed
usershare prefix deny list и usershare prefix allow list, сначала обрабатывается список запрета, а затем список разрешений.
$ groups
user wheel ... usershares ...
/etc/samba/usershares.conf можно использовать подсистему control.
Таблица 62.1. Доступные настройки
| Настройка | Параметр в файле /etc/samba/usershares.conf | Описание и возможные значения |
|---|---|---|
|
smb-conf-usershare-allow-guests
|
usershare allow guests
|
Управляет возможностью предоставления гостевого доступа к общему ресурсу:
|
|
smb-conf-usershare-owner-only
|
usershare owner only
|
Определяет, может ли пользователь предоставлять общий доступ к каталогу, если он не является его владельцем:
|
|
smb-conf-usershare-deny-list
|
usershare prefix deny list
|
Управляет запретом на создание общих ресурсов в системных каталогах:
|
|
smb-conf-usershare-allow-list
|
usershare prefix allow list
|
Управляет разрешением на создание общих ресурсов в определённых каталогах:
|
|
smb-conf-usershare
|
usershare max shares
|
Определяет возможность создания пользовательских общих каталогов:
|
# control smb-conf-usershare-allow-guests disabled
# control smb-conf-usershare-allow-list disabled
# control smb-conf-usershare-allow-list
disabled
# control smb-conf-usershare-allow-list help
enabled: Enable list of permitted directories to be shared by samba usershares
disabled: Disable list of permitted directories to be shared by samba usershares
Примечание
net usershare: usershares are currently disabledФайлы:


include = /etc/samba/usershares.confв секцию
[global] файла /etc/samba/smb.conf и перезапустить службу:
# systemctl restart smb



Примечание

# smbpasswd -a user
Примечание


Примечание
net usershare, которая позволяет создавать, просматривать и удалять пользовательские общие каталоги (usershares) без прав суперпользователя.
net usershare:
$net usershare add <имя_ресурса> <путь> [комментарий] [пользователь:{R|D|F}] [guest_ok={y|n}]$net usershare delete <имя_ресурса>$net usershare list$net usershare info [<имя_ресурса>]
net usershare add — создаёт (публикует) общий ресурс.
<имя_ресурса> — имя публикуемого ресурса (как оно будет отображаться в сети);
<путь> — абсолютный путь к каталогу, предоставляемому для общего доступа;
[комментарий] — произвольное описание (можно оставить пустым);
[пользователь:{R|D|F}] — список пользователей и уровни их доступа:
R — только чтение (read);
D — удаление (delete);
F — полный доступ (full);
[guest_ok={y|n}] — разрешить (y) или запретить (n) гостевой доступ.
net usershare delete — удаляет (отменяет публикацию) ранее созданный общий ресурс.
net usershare list — выводит список всех опубликованных ресурсов текущего пользователя.
net usershare info — показывает подробную информацию обо всех или указанном ресурсе.
Приказы:
$ net usershare add Приказы /home/TEST.ALT/mun/Приказы "" "Everyone:R" "guest_ok=y"
где:
Приказы — имя ресурса, под которым каталог будет виден в сети;
/home/TEST.ALT/mun/Приказы — путь к публикуемому каталогу;
"" — пустой комментарий;
"Everyone:R" — разрешён доступ на чтение всем пользователям;
"guest_ok=y" — разрешено подключение без аутентификации.
$ net usershare list
Приказы
For_doc
$ net usershare info
[Приказы]
path=/home/TEST.ALT/mun/Приказы
comment=
usershare_acl=Everyone:R,TEST\mun:F,
guest_ok=y
[For_doc]
path=/home/TEST.ALT/mun/For_doc
comment=
usershare_acl=Everyone:F,
guest_ok=y
For_doc:
$ net usershare delete For_doc




/etc/samba/smb.conf присутствует секция [homes], имя трактуется как имя пользователя. В этом случае Samba проверяет существование пользователя в своей базе и, при успехе, предоставляет доступ к его домашнему каталогу.
$ smbclient -L <имя_сервера> -U%
$smbclient -L 192.168.0.159 -U%$smbclient -L newhost.local -U%
Примечание
# apt-get install fuse-gvfs gvfs-backend-smb libgio
# gpasswd -a <пользователь> fuse
# control fusermount public
/var/run/<uid_пользователя>/gvfs или /var/run/user/<uid_пользователя>/gvfs/smb-share:server=сервер,share=ресурс;
gio mount smb://server/sysvol/
Примечание
/var/run/uid_пользователя/gvfs.
# apt-get install pam_mount cifs-utils
Важно
# apt-get install systemd-settings-enable-kill-user-processes
/etc/pam.d/system-auth добавить строки:
session [success=1 default=ignore] pam_succeed_if.so service = systemd-user quiet session optional pam_mount.so disable_interactive
/etc/security/pam_mount.conf.xml (перед тегом <cifsmount>):
<volume uid="10000-2000200000" fstype="cifs" server="dc1.test.alt" path="sysvol" mountpoint="~/share" options="sec=krb5i,cruid=%(USERUID),nounix,uid=%(USERUID),gid=%(USERGID),file_mode=0664,dir_mode=0775" />где
~/share" — путь монтирования в домашней папке пользователя.
sec=krb5i более безопасный, но требует больше вычислительных ресурсов. Вместо него можно указать sec=krb5.
Предупреждение
server необходимо указывать настоящее имя сервера, а не имя домена.
Предупреждение
<volume uid="10000-2000200000" fstype="cifs" server="dc1.test.alt" path="sysvol" mountpoint="~/share" options="sec=krb5i,vers=2.0,cruid=%(USERUID),nounix,uid=%(USERUID),gid=%(USERGID),file_mode=0664,dir_mode=0775" />
# mount.cifs //dc1.test.alt/sysvol /mnt/ -o vers=2.0,user=ivanov
smbclient, например:
# smbclient -L dc1.test.alt -U ivanov -m SMB2
/mnt/auto/;
/mnt/auto/server/share/;
/etc/auto*. Основной шаблон называется auto.master, он может указывать на один или несколько других шаблонов для конкретных типов носителей. Пример содержимого файла /etc/auto.master:
# Format of this file: # mountpoint map options # For details of the format look at autofs(8). /mnt/auto /etc/auto.tab -t 5 /mnt/net /etc/auto.avahi -t 120Первое значение в каждой строке определяет базовый каталог, в который носители будут монтироваться, второе значение — файл конфигурации или скрипт, который будет использован.
Примечание
-t (--timeout) устанавливает количество секунд, после истечения которых каталоги будут размонтированы. Значение 0 отключает тайм-аут. Значения параметра по умолчанию задаются в файле /etc/autofs.conf.
/etc/auto.master строку:
/mnt/samba /etc/auto.smb -t 120
/mnt/samba — каталог, в котором будут подключаться сетевые файловые системы, /etc/auto.smb — стандартный скрипт, входящий в состав пакета autofs, 120 — тайм-аут подключения при отсутствии обращения.
# systemctl enable --now autofs
$ ls /mnt/samba/<имя_хоста>
или в диспетчере файлов:

# apt-get install kde5-autofs-shares
/etc/auto.master строку:
/mnt/samba /etc/auto.smb -t 120
/mnt/samba — каталог, в котором будут подключаться сетевые файловые системы, /etc/auto.smb — скрипт, входящий в состав пакета autofs, 120 — тайм-аут подключения при отсутствии обращения.
# systemctl enable --now autofs


Примечание
~/.autofs.shares.
Важно
/var/log/samba/.
log file, который задается в разделе [global] файла /etc/samba/smb.conf. Параметр представляет собой список бэкэндов, разделенных пробелом, в формате:
logging = backend1[:option][@loglevel] backendN[:option][@loglevel]Где:
backend — один из доступных бэкендов:
log file, либо в стандартные файлы журналов Samba в каталоге /var/log/samba/;
logging = ringbuf:size=NBYTES(значение по умолчанию — 1 МБ).
[:option] — дополнительные опции, специфичные для указанного бэкенда;
[@loglevel] — уровень журналирования. Если для бэкенда данный параметр не установлен, в бэкенд отправляются все сообщения. Параметр log level определяет общие уровни журнала, а указанные здесь уровни определяют, что отправляется на отдельные бэкенды.
Примечание
logging задан, то его значение переопределяет значения параметров syslog и syslog only.
logging не задан.
logging:
logging = syslog@1 file
log file в разделе [global] файла /etc/samba/smb.conf позволяет переопределить файл журнала Samba.
log file использует стандартные подстановки, что позволят иметь отдельные файлы журналов для различных сущностей и объектов, обслуживаемых Samba.
%m — NetBIOS-имя клиентской машины. Этот параметр недоступен, когда Samba прослушивает порт 445, поскольку клиенты больше не отправляют эту информацию. Для возможности использования этой подстановки следует установить в разделе [global] параметр:
smbports = 139
%M — интернет-имя клиентской машины;
%I — IP-адрес клиентской машины;
%i — локальный IP-адрес, с которым установил соединение клиент;
%T — текущие дата и время;
%U — имя пользователя сессии.
Примечание
man smb.conf).
/var/log/samba/ следует задать параметр следующим образом:
log file = /var/log/samba/%m.log
max log size в разделе [global] файла /etc/samba/smb.conf определяет максимальный размер файла журнала. Значение параметра задается в килобайтах. Samba периодически проверяет размер файла журнала и, если он превышен, переименовывает файл, добавляя расширение .old, и создает новый файл.
max log size означает отсутствие ограничений. Значение по умолчанию 5000.
max log size = 1000
Примечание
log level файла /etc/samba/smb.conf. Для разных классов отладки можно указывать разные уровни журналирования и отдельные файлы журналов.
Таблица 64.1. Классы отладки
|
Класс отладки
|
Описание
|
|---|---|
|
all
|
Включает все сообщения отладки и подходит для общего мониторинга системы
|
|
tdb
|
Отвечает за отладку работы с TDB (Trivial Database). TDB — это простая встраиваемая база данных, используемая Samba для хранения различных данных, таких как сессии, аутентификационные данные, метаданные файлов и другие внутренние структуры
|
|
printdrivers
|
Используется для отладки драйверов печати. Этот класс полезен для отладки и анализа работы с принтерами, включая загрузку, установку и настройку драйверов
|
|
lanman
|
Предназначен для отладки протоколов LAN Manager, что может быть полезно при работе с устаревшими системами или приложениями
|
|
smb
|
Предназначен для регистрации вызовов по протоколу SMB
|
|
rpc_parse
|
Включает информацию об обработке RPC-сообщений. Может использоваться при анализе репликации
|
|
rpc_srv
|
Включает информацию о регистрации конечных точек RPC
|
|
rpc_cli
|
Предназначен для регистрации информации, связанной с работой RPC-клиента (Remote Procedure Call). Используется для отладки взаимодействия между клиентом и сервером в контексте RPC-вызовов, которые используются для выполнения различных операций в Samba, таких как управление доменными службами, доступ к общим ресурсам и другие действия, связанные с протоколами SMB/CIFS
|
|
passdb
|
Предназначен для регистрации доступа к хранилищу данных паролей
|
|
sam
|
Предназначен для регистрации событий, связанных с управлением учетными записями пользователей и групп в AD (SAM — Security Accounts Manager)
|
|
auth
|
Предназначен для регистрации событий аутентификации пользователей. Включает процессы проверки учетных данных (логин/пароль), использование Kerberos, NTLM и других механизмов аутентификации
|
|
winbind
|
Предназначен для регистрации сообщений при присоединении клиентов к Samba для проведения различных операций. Позволяет анализировать работу сервиса Winbind
|
|
vfs
|
Предназначен для журналирования проблем с правами доступа и некорректным поведением бэкенда, абстрагируемого VFS
|
|
idmap
|
Предназначен для регистрации событий установки соответствия между SID и группами в Linux (Identity Mapping)
|
|
quota
|
Предназначен для регистрации информации, связанной с управлением квотами (quotas) на файловых системах. Квоты используются для ограничения объема дискового пространства, которое может использовать пользователь или группа
|
|
acls
|
Предназначен для регистрации событий проверки и изменения прав доступа на основе списков управления доступом (Access Control Lists)
|
|
locking
|
Предназначен для регистрации событий блокировок файлов базы данных каталога и конкретных записей при одновременном доступе к ним разных клиентов
|
|
msdfs
|
Предназначен для регистрации событий, связанных с поддержкой DFS (Distributed File System) в Samba. DFS позволяет объединять несколько общих ресурсов в одну виртуальную иерархию
|
|
dmapi
|
Предназначен для регистрации событий, связанных с использованием DMAPI (Data Management API) в Samba
|
|
registry
|
Предназначен для регистрации взаимодействия с данными реестра Windows, которые используются в службе каталогов
|
|
scavenger
|
Предназначен для регистрации событий «сборки мусора» (garbage collection) в Samba. Этот процесс используется для очистки устаревших или неиспользуемых данных, таких как открытые файлы, сессии, аутентификации и другие ресурсы, которые больше не нужны
|
|
dns
|
Предназначен для регистрации запросов на поиск и изменение записей DNS
|
|
ldb
|
Предназначен для регистрации подключений к базе данных LDAP
|
|
tevent
|
Предназначен для регистрации сообщений библиотеки управления памятью talloc
|
|
auth_audit, auth_json_audit
|
Предназначены для регистрации событий аутентификации и авторизации учетных записей (успешных и неуспешных попытках входа в систему, изменениях паролей и изменениях статусов учетных записей). Могут использоваться, например, для отслеживания попыток несанкционированного входа
|
|
kerberos
|
Предназначен для регистрации событий взаимодействия по протоколу Kerberos
|
|
drs_repl
|
Предназначен для регистрации событий входящей и исходящей репликации на контроллере домена
|
|
smb2
|
Предназначен для регистрации вызовов по протоколу SMB (SMB2 и SMB3)
|
|
smb2_credits
|
Предназначен для регистрации запросов передачи данных по протоколу SMB. Записи содержат информацию о количестве переданных запросов и количестве запросов, которые осталось выполнить для завершения передачи файлов
|
|
dsdb_audit, dsdb_json_audit
|
Предназначены для регистрации изменений в базе данных контроллера домена Samba (sam.ldb) (изменения пользователей, групп, разрешений, структуры каталога и т. д.)
|
|
dsdb_password_audit, dsdb_password_json_audit
|
Предназначены для регистрации событий изменения и сброса паролей
|
|
dsdb_transaction_audit, dsdb_transaction_json_audit
|
Предназначены для регистрации транзакций (фиксация, откат) в базе данных каталога. Могут использоваться для контроля целостности данных
|
|
dsdb_group_audit, dsdb_group_json_audit
|
Предназначены для регистрации изменений в составе групп
|
@PATH к классу.
man smb.conf).
smb.conflog level для настройки уровня журналирования:
log level = 3
log level = 3 passdb:5 auth:5
/var/log/winbind.log:
log level = 3 winbind:1@/var/log/winbind.log
log level в файле /etc/samba/smb.conf. Для всех команд Samba это значение можно переопределить, используя следующую опцию:
-d DEBUGLEVEL, --debuglevel=DEBUGLEVELНапример:
$net usershare add Share2 /tmp/share2 -d 5#samba-tool group add testgroup12 -d dsdb_audit:3
Примечание
auth_audit для ведения записи в стандартном формате и auth_json_audit для ведения записи в формате JSON).
Примечание
Примечание
auth_audit — регистрация в стандартном формате;
auth_json_audit — регистрация в формате JSON.
auth_audit и auth_json_audit доступны следующие уровни журналирования (каждый последующий уровень включает все предшествующие ему):
[global] файла /etc/samba/smb.conf:
log level = 1 auth_audit:3 auth_json_audit:3
[2025/06/19 14:45:32.324530, 2] ../../auth/auth_log.c:858(log_authentication_event_human_readable) Auth: [Kerberos KDC,ENC-TS Pre-authentication] user [(null)]\[ivanov\\@TEST@TEST.ALT] at [Thu, 19 Jun 2025 14:45:32.324504 MSK] with [aes256-cts-hmac-sha1-96] status [NT_STATUS_WRONG_PASSWORD] workstation [(null)] remote host [ipv4:192.168.0.135:51947] mapped to [TEST]\[ivanov]. local host [NULL] [2025/06/19 14:45:52.478619, 3] ../../auth/auth_log.c:858(log_authentication_event_human_readable) Auth: [Kerberos KDC,ENC-TS Pre-authentication] user [(null)]\[ivanov\\@TEST@TEST.ALT] at [Thu, 19 Jun 2025 14:45:52.478593 MSK] with [aes256-cts-hmac-sha1-96] status [NT_STATUS_OK] workstation [(null)] remote host [ipv4:192.168.0.135:55134] became [TEST]\[ivanov] [S-1-5-21-578923263-1107570656-1287136478-1103]. local host [NULL]
{"timestamp": "2025-06-19T14:45:52.435663+0300", "type": "Authentication", "Authentication": {"version": {"major": 1, "minor": 3}, "eventId": 4625, "logonId": "5bd240f7cc4de1b5", "logonType": 3, "status": "NT_STATUS_WRONG_PASSWORD", "localAddress": null, "remoteAddress": "ipv4:192.168.0.135:51947", "serviceDescription": "Kerberos KDC", "authDescription": "ENC-TS Pre-authentication", "clientDomain": null, "clientAccount": "ivanov\\@TEST@TEST.ALT", "workstation": null, "becameAccount": "ivanov", "becameDomain": "TEST", "becameSid": "S-1-5-21-578923263-1107570656-1287136478-1103", "mappedAccount": "ivanov", "mappedDomain": "TEST", "netlogonComputer": null, "netlogonTrustAccount": null, "netlogonNegotiateFlags": "0x00000000", "netlogonSecureChannelType": 0, "netlogonTrustAccountSid": null, "passwordType": "aes256-cts-hmac-sha1-96", "clientPolicyAccessCheck": null, "serverPolicyAccessCheck": null, "duration": 3129}}
{"timestamp": "2025-06-19T14:45:52.478681+0300", "type": "Authentication", "Authentication": {"version": {"major": 1, "minor": 3}, "eventId": 4624, "logonId": "11424f6685e647f9", "logonType": 3, "status": "NT_STATUS_OK", "localAddress": null, "remoteAddress": "ipv4:192.168.0.135:55134", "serviceDescription": "Kerberos KDC", "authDescription": "ENC-TS Pre-authentication", "clientDomain": null, "clientAccount": "ivanov\\@TEST@TEST.ALT", "workstation": null, "becameAccount": "ivanov", "becameDomain": "TEST", "becameSid": "S-1-5-21-578923263-1107570656-1287136478-1103", "mappedAccount": "ivanov", "mappedDomain": "TEST", "netlogonComputer": null, "netlogonTrustAccount": null, "netlogonNegotiateFlags": "0x00000000", "netlogonSecureChannelType": 0, "netlogonTrustAccountSid": null, "passwordType": "aes256-cts-hmac-sha1-96", "clientPolicyAccessCheck": null, "serverPolicyAccessCheck": null, "duration": 5421}}
dsdb_audit — регистрация в стандартном формате;
dsdb_json_audit — регистрация в формате JSON.
dsdb_group_audit — регистрация в стандартном формате;
dsdb_group_json_audit — регистрация в формате JSON.
dsdb_audit, dsdb_json_audit, dsdb_group_audit и dsdb_group_json_audit доступны следующие уровни журналирования:
dsdb_password_audit — регистрация в стандартном формате;
dsdb_password_json_audit — регистрация в формате JSON.
Примечание
auth_audit и auth_audit_json.
dsdb_password_audit и dsdb_password_json_audit доступны следующие уровни журналирования:
dsdb_transaction_audit — регистрация в стандартном формате;
dsdb_transaction_json_audit — регистрация в формате JSON.
dsdb_transaction_audit и dsdb_transaction_json_audit доступны следующие уровни журналирования:
[global] файла /etc/samba/smb.conf:
log level = 1 dsdb_json_audit:5 dsdb_password_json_audit:5 dsdb_group_json_audit:5 dsdb_transaction_json_audit:5
{
"timestamp": 2025-06-19T14:45:52.478681+0300,
"type": одно из значений "Authentication", "Authorization", "dsdbChange",
"dsdbTransaction", "passwordChange", "replicatedUpdate",
"groupChange",
type: { data }
}
Примечание
serviceDescription), для параметра netlogonComputer будет установлено значение «null», для параметра netlogonNegotiateFlags будет установлено значение «0x00000000», другие параметры, оносящиеся к NETLOGON, будут иметь аналогичные пустые значения.
Таблица 64.2. Общие атрибуты
|
Атрибут
|
Значение
|
|---|---|
version
|
Номер версии формата JSON. Состоит из двух частей:
Изменения в перечне возможных значений обычно не приводят к изменению версии. Это распространяется на все данные, предоставляемые клиентами. Также это относится, например, к атрибуту
passwordType, набор поддерживаемых форматов которого может меняться с течением времени без изменения версии в JSON
|
Таблица 64.3. Атрибуты событий аутентификации
|
Атрибут
|
Значение
|
|---|---|
authDescription
|
Тип аутентификации:
|
becameAccount
|
Имя учетной записи, под которой выполнен вход (может не совпадать со значением, предоставленным клиентом)
|
becameDomain
|
Имя домена, в который произведён вход
|
becameSid
|
Идентификатор безопасности (SID) аутентифицированной учетной записи
|
clientAccount
|
Имя учётной записи, предоставленное клиентом
|
clientDomain
|
Имя домена, предоставленное клиентом
|
duration
|
Время (в микросекундах), в течение которого выполнялась аутентификация
|
eventId
|
Идентификатор события Windows, указывающий в общих чертах, что произошло:
|
localAddress
|
Адрес сервера и используемый порт
|
logonId
|
Случайный 64-битный идентификатор, помогающий отслеживать события входа в систему на разных этапах
|
logonType
|
Тип входа в Windows. Для Samba один из:
|
mappedAccount
|
Имя учетной записи клиента, преобразованное в имя учетной записи Альт Домен
|
mappedDomain
|
Имя домена клиента, преобразованное в доменное имя Альт Домен
|
netlogonComputer
|
Имя компьютера, заявленное при аутентификации через NETLOGON RPC
|
netlogonNegotiateFlags
|
Флаги NETLOGON, согласуемые в процессе взаимодействия клиента и сервера
|
netlogonSecureChannelType
|
Тип безопасного канала, используемого для входа по протоколу NETLOGON
|
netlogonTrustAccount
|
Учетная запись, используемая для аутентификации по протоколу NETLOGON
|
netlogonTrustAccountSid
|
Идентификатор безопасности (SID) учётной записи, используемый для аутентификации по протоколу NETLOGON
|
passwordType
|
Алгоритм/протокол пароля (например, «HMAC-SHA256», «NTLMv2», «arcfour-hmac-md5»)
|
remoteAddress
|
Заявленный адрес (и порт) удаленного клиента
|
serviceDescription
|
Тип службы (например, «LDAP», «SMB2», «NETLOGON», «Kerberos KDC»)
|
status
|
Сообщение NT STATUS. Для успешной аутентификации это будет «NT_STATUS_OK». Неудачная аутентификация может иметь значение «NT_STATUS_OK», если аутентификация не удалась после регистрации этого сообщения, но обычно имеет код ошибки.
Некоторые типы сообщений при неудачной аутентификации:
|
version
|
См. описание в таблице Общие атрибуты.
Текущая версия:
{"major": 1, "minor": 3}
|
workstation
|
Заявленное имя клиентской рабочей станции
|
{"timestamp": "2025-06-19T14:45:52.478681+0300", "type": "Authentication",
"Authentication": {"version": {"major": 1, "minor": 3}, "eventId": 4624, "logonId": "11424f6685e647f9",
"logonType": 3, "status": "NT_STATUS_OK", "localAddress": null, "remoteAddress": "ipv4:192.168.0.135:55134",
"serviceDescription": "Kerberos KDC", "authDescription": "ENC-TS Pre-authentication",
"clientDomain": null, "clientAccount": "ivanov\\@TEST@TEST.ALT", "workstation": null,
"becameAccount": "ivanov", "becameDomain": "TEST", "becameSid": "S-1-5-21-578923263-1107570656-1287136478-1103",
"mappedAccount": "ivanov", "mappedDomain": "TEST", "netlogonComputer": null, "netlogonTrustAccount": null,
"netlogonNegotiateFlags": "0x00000000", "netlogonSecureChannelType": 0, "netlogonTrustAccountSid": null,
"passwordType": "aes256-cts-hmac-sha1-96", "clientPolicyAccessCheck": null, "serverPolicyAccessCheck": null, "duration": 5421}}
Таблица 64.4. Успешные события авторизации
|
Атрибут
|
Значение
|
|---|---|
account
|
Имя авторизуемой учетной записи
|
accountFlags
|
Битовое поле атрибутов учетной записи
|
authType
|
Строка, описывающая тип авторизации (например, «krb5», «NTLMSSP», «simple bind»)
|
domain
|
Имя домена
|
localAddress
|
Адрес сервера и используемый порт
|
logonServer
|
Сервер, на котором выполнена аутентификация
|
remoteAddress
|
Видимый адрес клиента
|
serviceDescription
|
Тип службы (например, «LDAP», «SMB2», «DCE/RPC»)
|
sessionId
|
Уникальный идентификатор сессии (GUID)
|
sid
|
Идентификатор безопасности (SID) авторизуемой учетной записи
|
transportProtection
|
Тип защиты, используемой в канале (например, «SMB», «TLS», «SEAL», «NONE»)
|
version
|
См. описание в таблице Общие атрибуты.
Текущая версия:
{"major": 1, "minor": 2}
|
{"timestamp": "2025-06-19T14:45:52.478681+0300", "type": "Authorization",
"Authorization": {"version": {"major": 1, "minor": 2}, "localAddress": "ipv4:127.0.0.1:389",
"remoteAddress": "ipv4:127.0.0.1:43350", "serviceDescription": "LDAP",
"authType": "simple bind", "domain": "NT AUTHORITY", "account": "ANONYMOUS LOGON",
"sid": "S-1-5-7", "sessionId": "5accdd86-4c6e-4bd2-8ab1-7e95f641ecf2",
"logonServer": "DC1", "transportProtection": "NONE", "accountFlags": "0x00000010",
"clientPolicyAccessCheck": null, "serverPolicyAccessCheck": null}}
Таблица 64.5. События dsdbChange
|
Атрибут
|
Значение
|
|---|---|
attributes
|
Список изменяемых атрибутов
|
dn
|
Уникальное составное имя (DN) изменяемого объекта
|
operation
|
Операция LDAP, соответствующая выполняемому действию по изменению данных:
|
performedAsSystem
|
Признак системного или пользовательского действия:
|
remoteAddress
|
Удаленный адрес пользователя, инициировавшего операцию
|
sessionId
|
Уникальный идентификатор (GUID) сессии аутентификации
|
status
|
Строка, указывающая на успешное завершение действия или невозможность его выполнения по той или иной причине; выводимая информация соответствует кодам ответа LDAP, которые фиксируются в атрибуте
statusCode.
Примеры значений:
|
|
Числовой код, соответствующий статусу в атрибуте
status
|
В общем случае в качестве значения атрибута приводится код ответа LDAP в соответствии с RFC 4511
|
transactionId
|
Уникальный идентификатор (GUID) транзакции, в рамках которой выполняется операция (если операция является частью транзакции)
|
userSid
|
Идентификатор безопасности (SID) пользователя, инициировавшего операцию
|
version
|
См. описание в таблице Общие атрибуты.
Текущая версия:
{"major": 1, "minor": 2}
|
attributes может рассматриваться в качестве аналога описания изменения в формате LDIF.
"dsdbChange": {
"operation": "Modify",
"dn": "@SAMBA_DSDB",
"attributes": {
"backupDate": {"actions": [
{"action": "add",
"values": [
{"value": "2025-06-19T14:45:32.328363+0300"}
]
}
]
}}}
описывает изменение, выполненное этим LDIF:
dn: @SAMBA_DSDB changetype: modify add: backupDate backupDate: 2025-06-19T14:45:32.328363+0300
redacted: true.
truncated: true, например:
"values": [
{truncated: true,
"value": "It was the best of times, it was the worst of times, it was the age…"
}
]
{"timestamp": "2025-06-19T14:45:52.437380+0300", "type": "dsdbChange",
"dsdbChange": {"version": {"major": 1, "minor": 0}, "statusCode": 0,
"status": "Success", "operation": "Modify",
"remoteAddress": "ipv6:fd47:d11e:43c1:0:a00:27ff:fe9d:4de0:38500", "performedAsSystem": false,
"userSid": "S-1-5-21-578923263-1107570656-1287136478-500",
"dn": "CN=Марков Кирилл,CN=Users,DC=test,DC=alt", "transactionId": "ce759566-8bf9-46ce-95a1-0d632232a220",
"sessionId": "48c760f6-6cdc-4fba-b16d-1689f2cfad33",
"attributes": {"unicodePwd": {"actions": [{"action": "replace", "redacted": true}]}}}}
transactionId.
Таблица 64.6. Атрибуты событий, связанных с транзакциями
|
Атрибут
|
Значение
|
|---|---|
action
|
Текущий этап транзакции:
|
duration
|
Продолжительность транзакции в микросекундах (до момента записи этого поля)
|
transactionId
|
Уникальный идентификатор (GUID) транзакции
|
version
|
См. описание в таблице Общие атрибуты.
Текущая версия:
{"major": 1, "minor": 0}
|
{"timestamp": "2025-06-19T14:45:52.516877+0300", "type": "dsdbTransaction",
"dsdbTransaction": {"version": {"major": 1, "minor": 0}, "action": "commit",
"transactionId": "a89149be-5c19-42c2-bf08-94ddc5b0eb78", "duration": 8819}}
{"timestamp": "2025-06-19T14:45:52.521639+0300", "type": "dsdbTransaction",
"dsdbTransaction": {"version": {"major": 1, "minor": 0}, "action": "commit",
"transactionId": "92a8db3a-94d4-4ac5-b929-b1e4344b12e3", "duration": 5697}}
Таблица 64.7. Атрибуты событий, связанных с изменением пароля
|
Атрибут
|
Значение
|
|---|---|
action
|
Тип операции:
|
dn
|
Уникальное составное имя (DN) пользователя, пароль которого изменяется или сбрасывается
|
eventId
|
Идентификатор события Windows:
|
remoteAddress
|
Удаленный адрес пользователя, выполняющего операцию
|
sessionId
|
Идентификатор сессии DSDB
|
status
|
Текст ошибки
|
statusCode
|
Код ошибки
|
transactionId
|
Уникальный идентификатор (GUID) транзакции, в рамках которой выполняется операция (если операция является частью транзакции)
|
userSid
|
Идентификатор безопасности (SID) пользователя, инициировавшего операцию
|
version
|
См. описание в таблице Общие атрибуты.
Текущая версия:
{"major": 1, "minor": 1}
|
{"timestamp": "2025-06-19T14:45:52.523989+0300", "type": "passwordChange",
"passwordChange": {"version": {"major": 1, "minor": 1}, "eventId": 4724,
"statusCode": 0, "status": "Success", "remoteAddress": "ipv6:fd47:d11e:43c1:0:a00:27ff:fe9d:4de0:35534",
"userSid": "S-1-5-21-578923263-1107570656-1287136478-500",
"dn": "CN=Орлов Игорь,CN=Users,DC=test,DC=alt", "action": "Reset",
"transactionId": "d7456cd1-6f32-4575-b530-dc22a34bdc6a", "sessionId": "ce6866f6-43ea-4665-a896-0d10bd3194e1"}}
Таблица 64.8. Атрибуты событий, связанных с изменением группы
|
Атрибут
|
Значение
|
|---|---|
action
|
Тип операции:
|
eventId
|
Идентификатор события Windows:
|
group
|
Уникальное составное имя (DN) группы
|
remoteAddress
|
Удаленный адрес пользователя, выполняющего операцию
|
sessionId
|
Идентификатор сессии DSDB
|
status
|
Текст ошибки
|
|
Числовой код, соответствующий статусу в атрибуте
status
|
В общем случае в качестве значения атрибута приводится код ответа LDAP в соответствии с RFC 4511
|
transactionId
|
Уникальный идентификатор (GUID) транзакции, в рамках которой выполняется операция (если операция является частью транзакции)
|
user
|
Уникальное составное имя (DN) пользователя, членство в группе которого изменяется в рамках операции
|
userSid
|
Идентификатор безопасности (SID) пользователя, инициировавшего операцию
|
version
|
См. описание в таблице Общие атрибуты.
Текущая версия:
{"major": 1, "minor": 1}
|
{"timestamp": "2025-06-19T14:45:52.522371+0300", "type": "groupChange",
"groupChange": {"version": {"major": 1, "minor": 1}, "eventId": 4728,
"statusCode": 0, "status": "Success", "action": "Added",
"remoteAddress": "ipv6:fd47:d11e:43c1:0:a00:27ff:fe9d:4de0:59778",
"userSid": "S-1-5-21-578923263-1107570656-1287136478-500",
"group": "CN=testgroup,CN=Users,DC=test,DC=alt", "transactionId": "28372270-093c-4bca-af45-ae3e93b71eda",
"sessionId": "9518687d-8ad1-4c2c-810c-8cc18c2943f7", "user": "CN=Марков Кирилл,CN=Users,DC=test,DC=alt"}}
# rpcclient -U "" -c enumdomusers dc1.test.alt
/etc/samba/smb.conf:
[global] restrict anonymous = 2
dSHeuristics:
# samba-tool forest directory_service dsheuristics 0000000
global файла /etc/samba/smb.conf:
[global] disable netbios = yes smb ports = 445
global файла /etc/samba/smb.conf:
[global] printcap name = /dev/null load printers = no disable spoolss = yes printing = bsd
global файла /etc/samba/smb.conf:
[global] ntlm auth = mschapv2-and-ntlmv2-only
global файла /etc/samba/smb.conf строку:
[global] password hash userPassword schemes = CryptSHA256 CryptSHA512
GlobalQueryBlockList перечислены эти две записи DNS для предотвращения создания таких записей и перенаправления сетевого трафика неавторизованным объектом, действующим в локальной сети. Протокол автоматического обнаружения веб-прокси (WPAD) по умолчанию настроен в браузерах WPAD, в частности, в браузерах Internet Explorer.
#samba-tool dns add `hostname -s` `hostname -d` wpad A 127.0.0.1 -P#samba-tool dns add `hostname -s` `hostname -d` isatap A 127.0.0.1 -P
global файла /etc/samba/smb.conf строку:
[global] rpc server dynamic port range = 50000-55000
Примечание
/etc/samba/smb.conf строки:
[global] ... full_audit:failure = none full_audit:success = pwrite write renameat full_audit:prefix = IP=%I|USER=%u|MACHINE=%m|VOLUME=%S full_audit:facility = local7 full_audit:priority = NOTICE ... [sysvol] ... vfs objects = dfs_samba4, acl_xattr, full_audit ... [netlogon] ... vfs objects = dfs_samba4, acl_xattr, full_audit
# apt-get install rsyslog-classic
/etc/rsyslog.d/00_common.conf раскомментировать строки:
# Для UDP module(load="imudp") input(type="imudp" port="514") # Для TCP module(load="imtcp") input(type="imtcp" port="514")
/etc/rsyslog.d/myrules.conf:
$template remote-incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" *.* action(type="omfile" dynaFile="remote-incoming-logs" dirCreateMode="0755" fileCreateMode="0644")
Примечание
/var/log/<имя_узла-отправителя_лога>/<приложение-отправитель_лога>.log.
# systemctl restart rsyslog
# apt-get install rsyslog-classic
/etc/rsyslog.d/all.conf, в котором прописать протокол (@@ — TCP, @ — UDP) и адрес доставки сообщений:
*.* @@192.168.0.111:514 # Отправка логов на сервер (TCP), где 192.168.0.111 — IP-адрес сервера
# systemctl restart rsyslog
/var/log/ должен появиться каталог с именем узла, который отправляет лог-файлы:
# ls -l /var/log/node02/
итого 12
-rw------- 1 root adm 810 июн 19 15:30 crond.log
-rw------- 1 root adm 1194 июн 19 15:30 login.log
-rw------- 1 root adm 2509 апр 19 15:30 rsyslogd.log
global файла /etc/samba/smb.conf добавить строку:
[global] log level = 1 auth_json_audit:3@/var/log/samba/samba_audit.log
/etc/rsyslog.d/send_samba.conf:
module(load="imfile" PollingInterval="10") #needs to be done just once
input(type="imfile"
File="/var/log/samba/samba_audit.log"
Tag="samba_auth"
Severity="info"
Facility="auth")
if ($syslogtag == "samba_auth") then {
action(type="omfwd" target="dc1.test.alt" port="514" protocol="tcp"
action.resumeRetryCount="100"
queue.type="linkedList" queue.size="10000")
}
global файла /etc/samba/smb.conf добавить строку:
[global] log level = 1 auth_json_audit:3@/var/log/samba/samba_audit.log
/etc/rsyslog.d/recv_samba.conf:
$ModLoad imtcp $InputTCPServerRun 514 if ($syslogtag == "samba_auth") then /var/log/samba/audit_auth.log
smb.conf для:
Примечание
[global] ... idmap config * : backend = tdb idmap config * : range = 10000-999999 idmap config AD-DOM:backend = rid idmap config AD-DOM:range = 2000000-2999999 idmap config TRUST-DOM:backend = rid idmap config TRUST-DOM:range = 4000000-4999999
Примечание
Важно
2^31 - 1 = 2147483647
[global] в файле smb.conf можно задать:
idmap config * : backend = tdb idmap config * : range = 10000-999999Для получения более подробной информации см. Использование tdb
[global] в файле smb.conf можно задать:
idmap config * : backend = autorid idmap config * : range = 10000-999999Для получения более подробной информации см. Использование autorid
Примечание
Таблица 66.1. Атрибуты из AD, которые считывает бэкенд ad
|
Имя атрибута AD
|
Тип объекта
|
Сопоставление
|
|---|---|---|
|
sAMAccountName
|
Пользователь и группа
|
Имя пользователя или группы в зависимости от объекта
|
|
uidNumber
|
Пользователь
|
Идентификатор пользователя (UID)
|
|
gidNumber
|
Группа
|
Идентификатор группы (GID)
|
|
loginShell
|
Пользователь
|
Путь к командной строке пользователя
|
smb.conf. Объекты, идентификаторы которых находятся за пределами диапазона, не будут доступны на клиенте;
smb.conf.
idmap config * : backend = tdb idmap config * : range = 3000-7999 idmap config TEST : backend = ad idmap config TEST : range = 10000-999999 idmap config TEST : schema_mode = rfc2307
idmap config DOMAIN : unix_nss_info = yes
template shell = /bin/bash template homedir = /home/%U
S-1-5-21-XXXXXXXXXX-YYYYYYYYYY-ZZZZZZZZZZ-RIDГде:
idmap config DOMAIN : backend = rid idmap config DOMAIN : range = 10000-999999Samba берёт RID из SID и добавляет его к началу диапазона range. Например, для пользователя с SID S-1-5-21-XXXXXXXXXX-YYYYYYYYYY-ZZZZZZZZZZ-1000, UID будет вычислен как 10000 + 1000 = 11000.
idmap config DOMAIN : range. Samba не будет сопоставлять пользователей или группы с более низким или более высоким RID, чем указано в этом параметре.
Примечание
Важно
idmap config * : backend = tdb idmap config * : range = 10000-999999 idmap config DOMAIN : backend = rid idmap config DOMAIN : range = 2000000-2999999
Примечание
smb.conf.
idmap config * : backend = autorid idmap config * : range = 100000-9999999
Примечание
idmap config * : rangesize = 200000
Примечание
idmap config * : range.
Примечание
Таблица 67.1. Основные инструменты командной строки
|
Утилита
|
Описание
|
|---|---|
|
Основная утилита управления Samba
|
|
|
Позволяет получить информацию от демона winbindd
|
|
|
Инструмент администрирования Samba и удаленных серверов CIFS
|
|
|
Инструмент для выполнения действий в домене Active Directory
|
|
|
Утилита для поиска информации в LDAP
|
|
|
Проверка корректности содержимого основного файла конфигурации Samba —
/etc/samba/smb.conf
|
samba-tool.
Таблица 67.2. Основные команды samba-tool
|
Команда
|
Описание
|
|---|---|
|
computer
|
Управление учетными записями компьютеров
|
|
contact
|
Управление контактами
|
|
dbcheck
|
Проверка локальной базы данных домена на наличие ошибок
|
|
delegation
|
Управление делегированием
|
|
dns
|
Управление параметрами доменной службы DNS
|
|
domain
|
Управление параметрами домена
|
|
drs
|
Управление службой репликации каталогов (Directory Replication Services, DRS)
|
|
dsacl
|
Управление списками контроля доступа DS
|
|
forest
|
Управление конфигурацией леса
|
|
fsmo
|
Управление ролями (Flexible Single Master Operations, FSMO)
|
|
gpo
|
Управление групповыми политиками
|
|
group
|
Управление группами
|
|
ldapcmp
|
Сравнение двух баз данных ldap
|
|
ntacl
|
Управление списками контроля доступа ACL
|
|
processes
|
Вывод списка процессов
|
|
ou
|
Управление организационными подразделениями (OU)
|
|
rodc
|
Управление контроллером домена (Read-Only Domain Controller, RODC)
|
|
schema
|
Управление и запрос схемы
|
|
sites
|
Управление сайтами
|
|
spn
|
Управление службой принципалов (Service Principal Name, SPN)
|
|
testparm
|
Проверка конфигурационного файла на корректность синтаксиса
|
|
time
|
Получение показаний текущего времени сервера
|
|
user
|
Управление пользователями
|
|
visualize
|
Графическое представление состояния сети Samba
|
man samba-tool).
$ samba-tool fsmo --help
# samba-tool gpo listall
GPO : {31B2F340-016D-11D2-945F-00C04FB984F9}
display name : Default Domain Policy
path : \\test.alt\sysvol\test.alt\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}
dn : CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=test,DC=alt
version : 0
flags : NONE
GPO : {FE6268E4-FDEB-4DCA-94E8-BB1170C66F45}
display name : scripts
path : \\test.alt\sysvol\test.alt\Policies\{FE6268E4-FDEB-4DCA-94E8-BB1170C66F45}
dn : CN={FE6268E4-FDEB-4DCA-94E8-BB1170C66F45},CN=Policies,CN=System,DC=test,DC=alt
version : 65536
flags : NONE
GPO : {6AC1786C-016F-11D2-945F-00C04FB984F9}
display name : Default Domain Controllers Policy
path : \\test.alt\sysvol\test.alt\Policies\{6AC1786C-016F-11D2-945F-00C04FB984F9}
dn : CN={6AC1786C-016F-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=test,DC=alt
version : 0
flags : NONE
GPO : {44F1A3E9-BD0D-44D7-AC1D-CEEF2817C573}
display name : Общие каталоги
path : \\test.alt\sysvol\test.alt\Policies\{44F1A3E9-BD0D-44D7-AC1D-CEEF2817C573}
dn : CN={44F1A3E9-BD0D-44D7-AC1D-CEEF2817C573},CN=Policies,CN=System,DC=test,DC=alt
version : 0
flags : NONE
# samba-tool gpo listcontainers {44F1A3E9-BD0D-44D7-AC1D-CEEF2817C573}
Container(s) using GPO {44F1A3E9-BD0D-44D7-AC1D-CEEF2817C573}
DN: OU=OU,DC=test,DC=alt
DN: OU=KDE,DC=test,DC=alt
# samba-tool gpo getlink OU=OU,DC=test,DC=alt
GPO(s) linked to DN OU=OU,DC=test,DC=alt
GPO : {96D5897A-CEFB-4A1B-90AF-5D83707130C4}
Name : Файлы
Options : NONE
GPO : {A12547D7-2FFA-4E37-9382-D6767489E3DF}
Name : kde
Options : NONE
GPO : {75E65DF7-56A7-48E1-A393-F5FFAA1010FD}
Name : Control_ping
Options : NONE
GPO : {FE6268E4-FDEB-4DCA-94E8-BB1170C66F45}
Name : scripts
Options : NONE
GPO : {44F1A3E9-BD0D-44D7-AC1D-CEEF2817C573}
Name : Общие каталоги
Options : NONE
GPO : {0CCFA74C-57F5-42B5-98E2-007D4A59C4C4}
Name : firefox
Options : NONE
GPO : {2CF4EB19-343E-448A-BBBC-A9EC2F7C22E9}
Name : Установка пакетов
Options : NONE
wbinfo создает запросы и возвращает информацию к (от) демона winbindd(8).
Таблица 67.3. Параметры команды wbinfo
|
Параметр
|
Описание
|
Пример
|
|---|---|---|
|
-a|--authenticate username%password
|
Попытаться аутентифицировать пользователя через winbindd(8).
Проверяет два метода аутентификации: plaintext password (применяется при входе пользователя в систему локально), challenge/response password (использует NTLM или Kerberos)
|
$
|
|
--allocate-gid
|
Получить новый GID из idmap
|
|
|
--allocate-uid
|
Получить новый UID из idmap
|
|
|
--all-domains
|
Вывести список всех доменов (доверенных и собственный)
|
$
|
|
-c|--change-secret
|
Изменить пароль доверительной учетной записи. Может использоваться вместе с доменом для изменения паролей учетных записей междоменного доверия
|
|
|
--ccache-save <имя_пользователя>%<пароль>
|
Сохранить имя пользователя и пароль для ccache
|
|
|
--change-user-password <имя_пользователя>
|
Изменить пароль пользователя (будет запрошен старый и новый пароль)
|
#
|
|
--dc-info <домен>
|
Вывести текущий контроллер домена для домена
|
$
|
|
--domain <домен>
|
Определяет домен, в котором будут выполняться любые указанные операции
|
|
|
-D|--domain-info <домен>
|
Показать информацию об указанном домене
|
$
|
|
--dsgetdcname <домен>
|
Найти DC для домена
|
$
|
|
--gid-info <gid>
|
Получить информацию о группе по gid
|
$
|
|
--group-info <группа>
|
Получить информацию о группе по имени группы
|
$
|
|
-g|--domain-groups
|
Вывести список доменных групп
|
$
|
|
--get-auth-user
|
Эта функция была перенесена в утилиту
net (см. net help getauthuser)
|
|
|
--getdcname <домен>
|
Вывести имя контроллера домена для указанного домена
|
$
|
|
-G|--gid-to-sid <gid>
|
Преобразовать идентификатор группы UNIX в SID Windows NT. Если указанный gid не относится к диапазону gid idmap, операция завершится ошибкой
|
$
|
|
-i|--user-info <имя_пользователя>
|
Вывести информацию о пользователе
|
$
|
|
-I|--WINS-by-ip ip
|
Вывести NetBIOS-имя, связанное с IP-адресом
|
$
|
|
-K|--krb5auth <имя_пользователя>%<пароль>
|
Попытаться аутентифицировать пользователя через Kerberos
|
$
|
|
--krb5ccname KRB5CCNAME
|
Запросить определенный тип кеша учетных данных Kerberos, используемый для аутентификации
|
|
|
--lanman
|
Использовать криптографию Lanman для аутентификации пользователей
|
|
|
--logoff
|
Выйти из системы
|
|
|
--logoff-uid UID
|
Определяет идентификатор пользователя, используемый во время запроса на выход из системы
|
|
|
--logoff-user <имя_пользователя>
|
Определяет имя пользователя, используемое во время запроса на выход из системы
|
|
|
--lookup-sids SID1,SID2...
|
Поиск SID
|
$
|
|
-m|--trusted-domains
|
Вывести список доверенных доменов
|
$
|
|
-n|--name-to-sid <имя>
|
Вывести SID, связанный с указанным именем. Если домен не указан, используется домен, указанный в параметре
workgroup smb.conf
|
$
|
|
-N|--WINS-by-name <name>
|
Вывести IP-адрес, связанный с именем NetBIOS, указанным в параметре name
|
$
|
|
--ntlmv1
|
Использовать криптографию NTLMv1 для аутентификации пользователей
|
|
|
--ntlmv2
|
Использовать криптографию NTLMv2 для аутентификации пользователей
|
|
|
--online-status <домен>
|
Показать, поддерживает ли winbind в настоящее время активное соединение или нет. Если домен не указан, будет выведен статус текущего домена
|
$
|
|
--own-domain
|
Вывести собственный домен
|
$
|
|
--pam-logon <имя_пользователя>%<пароль>
|
Попытаться аутентифицировать пользователя так же, как это сделал бы pam_winbind
|
$
|
|
-p|--ping
|
Проверяет запущен ли winbindd(8)
|
$
|
|
-P|--ping-dc
|
Проверить безопасное соединение с контроллером домена
|
$
|
|
-r|--user-groups <имя_пользователя>
|
Получить список идентификаторов групп, к которым принадлежит пользователь. Доступно только при наличии пользователя на контроллере домена
|
$
|
|
-R|--lookup-rids rid1, rid2, rid3..
|
Преобразовать RID в имена
|
|
|
--remove-gid-mapping GID,SID
|
Удалить существующее сопоставление GID и SID из базы данных
|
|
|
--remove-uid-mapping UID,SID
|
Удалить существующее сопоставление UID и SID из базы данных
|
|
|
-s|--sid-to-name sid
|
Преобразовать SID в имя
|
$
|
|
--separator
|
Вывести активный разделитель winbind
|
$
|
|
--sequence
|
Команда устарела, вместо неё следует использовать параметр
--online-status
|
|
|
--set-auth-user <имя_пользователя>%<пароль>
|
Эта функция была перенесена в утилиту
net (см. net help setauthuser)
|
|
|
--set-gid-mapping GID,SID
|
Создать сопоставление GID и SID в базе данных
|
|
|
--set-uid-mapping UID,SID
|
Создать сопоставление UID и SID в базе данных
|
|
|
-S|--sid-to-uid sid
|
Преобразовать SID в идентификатор пользователя
|
$
|
|
--sid-aliases sid
|
Получить псевдонимы SID для заданного SID
|
|
|
--sid-to-fullname sid
|
Преобразовать SID в полное имя пользователя (ДОМЕН\имя пользователя)
|
$
|
|
--sids-to-unix-ids sid1,sid2,sid3...
|
Преобразовать SID в Unix ID
|
$
|
|
-t|--check-secret
|
Проверить, что доверительная учетная запись рабочей станции, созданная при добавлении сервера Samba в домен Windows NT, работает. Может использоваться вместе с доменом для проверки учетных записей междоменного доверия
|
|
|
-u|--domain-users
|
Вывести список доменных пользователей
|
$
|
|
--uid-info uid
|
Получить информацию о пользователе по идентификатору
|
$
|
|
--usage
|
Вывести краткую справку о программе
|
|
|
--user-domgroups sid
|
Вывести группы пользователей домена
|
$
|
|
--user-sidinfo sid
|
Получить информацию о пользователе по sid
|
$
|
|
--user-sids sid
|
Получить SID групп пользователя
|
$
|
|
-U|--uid-to-sid uid
|
Преобразовать идентификатор пользователя UNIX в SID
|
$
|
|
-Y|--sid-to-gid sid
|
Преобразовать SID в идентификатор группы UNIX
|
$
|
net — инструмент администрирования Samba и удаленных серверов CIFS. Синтаксис:
net <протокол> <функция> <дополнительные_параметры> <параметры_цели>где <протокол> — протокол, используемый при выполнении команды. Возможные значения: ads (Active Directory), rap (Win9x/NT3) или rpc (WindowsNT4/2000/2003/2008/2012). Если протокол не указан,
net пытается определить его автоматически.
Таблица 67.4. Основные команды net ads
|
Команда
|
Описание
|
|---|---|
|
info
|
Вывод информации о домене
|
|
join
|
Присоединение машины к домену
|
|
testjoin
|
Проверка, действителен ли пароль учетной записи компьютера
|
|
leave
|
Удалить локальную машину из домена AD
|
|
status
|
Вывод информации об учетной записи компьютера
|
|
user
|
Список/изменение пользователей
|
|
group
|
Список/изменение групп
|
|
dns
|
Выполнить динамическое обновление DNS
|
|
password
|
Изменить пароль пользователей
|
|
changetrustpw
|
Изменить пароль доверительной учетной записи
|
|
printer
|
Список/изменение записей принтера
|
|
search
|
Выполнить поиск LDAP с использованием фильтра
|
|
dn
|
Выполнить поиск LDAP по DN
|
|
sid
|
Выполнить поиск LDAP по SID
|
|
workgroup
|
Показать имя рабочей группы
|
|
lookup
|
Найти контроллер домена AD с помощью поиска CLDAP
|
|
keytab
|
Управление локальным файлом keytab
|
|
spnset
|
Управление именами участников-служб (SPN)
|
|
gpo
|
Управление объектами групповой политики
|
|
kerberos
|
Управление keytab Kerberos
|
|
enctypes
|
Список/изменение enctypes
|
man net).
# net time --help
# net ads info
LDAP server: 192.168.0.132
LDAP server name: dc1.test.alt
Realm: TEST.ALT
Bind Path: dc=TEST,dc=ALT
LDAP port: 389
Server time: Чт, 19 июн 2025 15:46:02 MSK
KDC server: 192.168.0.132
Server time offset: 2
Last machine account password change: Ср, 04 июн 2025 15:35:56 MSK
# net ads status -U administrator
adcli — инструмент для выполнения действий в домене Active Directory.
Таблица 67.5. Основные команды adcli
|
Команда
|
Описание
|
|---|---|
|
info домен
|
Вывести информацию о домене
|
|
join домен
|
Присоединить данную машину к домену (создает учетную запись компьютера в домене и настраивает keytab для этой машины. Не настраивает службу аутентификации, например, sssd)
|
|
update
|
Обновляет пароль учетной записи компьютера на контроллере домена для локальной машины, записывает новые ключи в keytab и удаляет старые ключи
|
|
testjoin
|
Проверить, действителен ли пароль учетной записи компьютера
|
|
create-user [--domain=домен] пользователь
|
Создать учетную запись пользователя
|
|
delete-user [--domain=домен] пользователь
|
Удалить учетную запись пользователя
|
|
passwd-user [--domain=домен] пользователь
|
Установить (повторно) пароль пользователя
|
|
create-group [--domain=домен] группа
|
Создать группу
|
|
delete-group [--domain=домен] группа
|
Удалить группу
|
|
add-member [--domain=домен] группа пользователь или компьютер…
|
Добавить пользователей в группу
|
|
remove-member [--domain=домен] группа пользователь…
|
Удалить пользователей из группы
|
|
preset-computer [--domain=домен] компьютер…
|
Предустановить учетные записи компьютеров (предварительно создает одну или несколько учетных записей компьютеров в домене, чтобы позже компьютеры могли использовать их при присоединении к домену. При этом, машины могут присоединяться с помощью одноразового пароля или автоматически без пароля)
|
|
reset-computer [--domain=домен] компьютер
|
Сбросить учетную запись компьютера (если соответствующая машина присоединена к домену, её членство будет нарушено)
|
|
delete-computer [--domain=домен] компьютер
|
Удалить учетную запись компьютера
|
|
show-computer [--domain=домен] компьютер
|
Показать атрибуты учетной записи компьютера, хранящиеся в AD
|
|
create-msa [--domain=домен]
|
Создать управляемую учетную запись службы (MSA) в заданном домене AD (это бывает нужно, если компьютер не должен присоединяться к домену Active Directory, но к нему необходим LDAP доступ)
|
man adcli).
# adcli testjoin --help
# adcli info test.alt
[domain]
domain-name = test.alt
domain-short = TEST
domain-forest = test.alt
domain-controller = dc1.test.alt
domain-controller-site = Default-First-Site-Name
domain-controller-flags = pdc gc ldap ds kdc timeserv closest writable good-timeserv full-secret
domain-controller-usable = yes
domain-controllers = dc1.test.alt dc2.test.alt
[computer]
computer-site = Default-First-Site-Name
# adcli show-computer -D test.alt win2012
Password for Administrator@TEST.ALT:
sAMAccountName:
WIN2012$
userPrincipalName:
- not set -
msDS-KeyVersionNumber:
1
msDS-supportedEncryptionTypes:
28
dNSHostName:
win2012.test.alt
servicePrincipalName:
HOST/win2012.test.alt
RestrictedKrbHost/win2012.test.alt
HOST/WIN2012
RestrictedKrbHost/WIN2012
Dfsr-12F9A27C-BF97-4787-9364-D31B6C55EB04/win2012.test.alt
operatingSystem:
Windows Server 2012 R2 Standard
operatingSystemVersion:
6.3 (9600)
operatingSystemServicePack:
- not set -
pwdLastSet:
133294743593838200
userAccountControl:
4096
description:
- not set -
# adcli create-group -D test.alt -O OU=OU,dc=test,dc=alt testldap
Password for Administrator@TEST.ALT:
ldapsearch — утилита для поиска информации в LDAP. Синтаксис:
ldapsearch <параметры> <фильтр> <атрибуты>
ldapsearch открывает соединение с сервером LDAP, подключается к нему и выполняет поиск с помощью фильтра.
ldapsearch найдет одну или несколько записей, то значения указанных атрибутов этих записей будут переданы в стандартный поток вывода. Если в этом списке указан знак *, возвращаются все пользовательские атрибуты. Если в этом списке указан знак +, возвращаются все операционные атрибуты. Если атрибуты не указаны, то возвращаются все пользовательские атрибуты.
-L.
Таблица 67.6. Параметры команды ldapsearch
|
Параметр
|
Описание
|
|---|---|
|
Параметры поиска
|
|
|
-a {never|always|search|find}
|
Задает способ преобразования псевдонимов. Может принимать значения: never (по умолчанию), always, search или find, указывающие, соответственно, что псевдонимы не преобразуются, преобразуются всегда, преобразуются при поиске, либо преобразуются только при определении базового объекта для поиска
|
|
-A
|
Получить только атрибуты (без значений)
|
|
-b basedn
|
Позволяет переопределить заданную по умолчанию начальную точку поиска
|
|
-c
|
Режим продолжения операции (не останавливать поиск при ошибках)
|
|
-E [!]ext[=extparam]
|
Указывает расширения поиска. Знак '!' обозначает критичность расширения.
Общие расширения:
|
|
-f file
|
Считать серию строк из файла
file и выполнить по одному поиску LDAP для каждой строки. В этом случае заданный в командной строке фильтр filter интерпретируется как шаблон, в котором первое и только первое вхождение %s заменяется строкой из файла file. Любые другие вхождения символа % в шаблоне будут рассматриваться как ошибка. Если требуется, чтобы в поисковом фильтре присутствовал символ %, он должен быть закодирован как \25 (смотрите RFC 4515). Если в качестве значения file указан символ «-», то строки считываются со стандартного ввода
|
|
-F prefix
|
URL-префикс для временных файлов (по умолчанию: file://path, где
path либо /tmp/.private/<user>, либо значение, указанное в параметре -T)
|
|
-l limit
|
Ограничение на время поиска (в секундах). Значение 0 (ноль) или none означает, что ограничений нет. Значение max означает максимальное допустимое протоколом значение (целое число)
|
|
-L[LL]
|
Управление выводом результатов поиска в формате обмена данными LDAP (LDAP Data Interchange Format):
-L — вывести ответы в формате LDIFv1, -LL — отключить вывод комментариев, -LLL — отключить вывод версии LDIF
|
|
-M[M]
|
Включить элемент управления Manage DSA IT.
-MM делает этот элемент управления критичным
|
|
-P {2|3}
|
Версия протокола LDAP (по умолчанию 3)
|
|
-s {base|one|sub|children}
|
Задает область поиска. Может принимать одно из следующих значений: base, one, sub (по умолчанию) или children, что означает поиск только по базовому объекту, на одном уровне, по всему поддереву и по дочерним записям соответственно
|
|
-S attr
|
Отсортировать возвращаемые записи по атрибуту
attr. По умолчанию возвращаемые записи не сортируются. Если в качестве attr задана строка нулевой длины (""), записи сортируются по компонентам их уникального имени Distinguished Name. По умолчанию ldapsearch выводит записи по мере их получения. При использовании параметра -S все данные сначала получаются, потом сортируются, потом выводятся
|
|
-t[t]
|
При указании одного
-t полученные непечатаемые значения записываются в набор временных файлов (полезно при работе со значениями, содержащими несимвольные данные, такими как jpegPhoto или audio). При указании второго -t все полученные значения записываются в файлы
|
|
-T path
|
Временные файлы записываются в указанный в
path каталог (по умолчанию /tmp/.private/<user>)
|
|
-u
|
Включить в вывод форму удобного для пользователя имени (User Friendly Name, UFN) уникального имени (Distinguished Name, DN)
|
|
-z limit
|
Ограничить количество возвращаемых в результате поиска записей значением
limit. Значение 0 (ноль) или none означает, что ограничений нет. Значение max означает максимальное допустимое протоколом значение (целое число)
|
|
Общие параметры
|
|
|
-d debuglevel
|
Установить уровень отладки LDAP
|
|
-D binddn
|
Использовать указанное в
binddn уникальное имя Distinguished Name при подсоединении к каталогу LDAP. При SASL-подсоединениях сервер будет игнорировать это значение
|
|
-e [!]ext[=extparam]
|
Указывает общие расширения. Знак '!' обозначает критичность расширения.
Общие расширения:
|
|
-h host
|
Сервер LDAP
|
|
-H URI
|
Указывает URI (возможно, несколько), ссылающийся на LDAP-сервер (серверы). В URI допускаются поля: протокол/хост/порт
|
|
-I
|
Использовать интерактивный режим SASL
|
|
-n
|
Демонстрируется, что будет сделано, но реальный поиск не выполняется. Используется для отладки совместно с параметром
-v
|
|
-N
|
Не использовать обратное разрешение DNS для получения канонического имени хоста SASL
|
|
-O props
|
Параметры безопасности SASL
|
|
-o opt[=optparam]
|
Указывает опции общего назначения.
Возможные опции:
|
|
-p порт
|
Порт, на котором сервер LDAP принимает запросы. Номер порта по умолчанию — 389. Если номер порта не задан, и указан параметр
-Z, то применяется номер порта LDAP SSL по умолчанию, равный 636
|
|
-Q
|
Использовать тихий режим SASL. Запросы не выводятся никогда
|
|
-R realm
|
Задаёт realm аутентификационного идентификатора для SASL. Форма realm зависит от того, какой механизм аутентификации в действительности используется
|
|
-U authcid
|
Идентификатор аутентификации SASL. Форма идентификатора зависит от того, какой механизм аутентификации в действительности используется
|
|
-v
|
Запустить в подробном режиме (диагностические сообщения посылаются в стандартный вывод)
|
|
-V[V]
|
Вывести информацию о версии. При указании
-VV, после вывода информации о версии осуществляется выход. При указании -V, после вывода информации о версии выполняется поиск согласно заданным критериям
|
|
-w passwd
|
Использовать указанное значение
passwd в качестве пароля для простой аутентификации
|
|
-W
|
Запрашивать ввод пароля для простой аутентификации (используется для того, чтобы не указывать пароль в командной строке)
|
|
-x
|
Использовать простую аутентификацию
|
|
-X authzid
|
Идентификатор авторизации SASL ("dn:<dn>" или "u:<user>")
|
|
-y file
|
Считать пароль из файла
file.
В качестве пароля используется всё содержимое файла. Поэтому файл не должен содержать символа переноса строки
|
|
-Y mech
|
Задаёт механизм SASL, который будет использоваться для аутентификации. Если параметр не указан, программа выберет лучший из известных серверу механизмов
|
|
-Z[Z]
|
Запустить запрос TLS (
-ZZ для запроса успешного ответа)
|
<Атрибут><оператор сравнения><значение>Вместо имени атрибута можно использовать его идентификатор (Attribute-Id). Тело фильтра должно быть заключено в скобки
Таблица 67.7. Примеры LDAP-фильтров
|
Запрос
|
LDAP фильтр
|
|---|---|
|
Все пользователи:
|
(sAMAccountType=805306368)
|
|
Отключенные (Disabled) пользователи:
|
(&(sAMAccountType=805306368)(useraccountcontrol:1.2.840.113556.1.4.803:=2))
|
|
Заблокированные (Locked) пользователи:
|
(&(sAMAccountType=805306368)(badPwdCount>=4))
|
|
Пользователи, у которых в настройках указано «Пароль никогда не истекает»
|
(&(objectCategory=person)(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=65536))
|
|
Пользователи которые не меняли пароль с 5 мая 2023 года (см. https://www.epochconverter.com/ldap для преобразования даты во временную метку Windows)
|
(&(objectCategory=person)(pwdLastSet<=133278047990000000))
|
|
Пользователи с незаполненным полем mail
|
(&(objectCategory=group)(!(mail=*)))
|
|
Пользователи, которые должны сменить пароль при следующем входе в систему
|
(&(sAMAccountType=805306368)(pwdLastSet=0))
|
|
Пользователи с ограниченным сроком действия учетной записи
|
(&(sAMAccountType=805306368)(accountExpires>=1)(accountExpires<=9223372036854775806))
|
|
Пользователи, созданные за определенный период (формат даты: YYYY MM DD HH mm ss.s Z)
|
(&(sAMAccountType=805306368)(whenCreated>=20230401000000.0Z<=20230701000000.0Z))
|
|
Все компьютеры
|
(objectCategory=computer)
|
|
Все контроллеры домена
|
(&(objectCategory=computer)(userAccountControl:1.2.840.113556.1.4.803:=8192))
|
|
Контроллеры домена, доступные только для чтения
|
(&(objectCategory=computer)(userAccountControl:1.2.840.113556.1.4.803:=67108864))
|
|
Группы, в которых нет пользователей
|
(&(objectCategory=group)(!(member=*)))
|
|
Группы, с ключевым словом admin в имени
|
(&(objectCategory=group)(samaccountname=*admin*))
|
|
Все группы безопасности (Security)
|
(&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=2147483648))
|
|
Все члены группы Sales (без учёта вложенности)
|
(memberOf=CN=Sales,CN=Users,DC=test,DC=alt)
|
|
Все члены группы Sales (с учётом вложенности)
|
(memberOf:1.2.840.113556.1.4.1941:=CN=Sales,CN=Users,DC=test,DC=alt)
|
|
Все группы, в которые входит пользователь testldap
|
(&(objectCategory=group)(member=CN=testldap,CN=Users,DC=test,DC=alt)))
|
|
Все подразделения (OU)
|
(objectCategory=organizationalUnit)
|
|
Все объекты групповой политики
|
(objectCategory=groupPolicyContainer)
|
|
Все отношения доверия
|
(objectClass=trustedDomain)
|
|
Объекты связанные с ролями FSMO
|
(fsMORoleOwner=*)
|
|
PDC Emulator
|
(&(objectClass=domainDNS)(fSMORoleOwner=*))
|
|
RID Master
|
(&(objectClass=rIDManager)(fSMORoleOwner=*))
|
|
Объект AD с определенным SID
|
(objectSID=S-1-5-21-1723588197-2340999690-1379671080-1105)
|
Отличительное имя (DN) имя_атрибута: значение имя_атрибута: значение имя_атрибута: значение …Записи разделяются пустыми строками.
-t вместо реальных значений атрибутов будут выводиться URI временных файлов, в которые эти значения помещаются. Если задан параметр -A будут выводиться только имена атрибутов.
Примечание
имя_атрибута:: base64_значение_атрибутаНапример:
dn:: Q0490JfQsNC50YbQtdCy0LAg0J7Qu9GM0LPQsCxDTj1Vc2VycyxEQz10ZXN0LERDPWFsdA==
cn:: 0JfQsNC50YbQtdCy0LAg0J7Qu9GM0LPQsA==
…
$ echo "0JfQsNC50YbQtdCy0LAg0J7Qu9GM0LPQsA==" | base64 -d
Зайцева Ольга
$ ldapsearch -LLL -D testldap@test.alt -x -W | perl -MMIME::Base64 -MEncode=decode -n -00 -e 's/\n
+//g;s/(?<=:: )(\S+)/decode("UTF-8",decode_base64($1))/eg;print'
$ ldapsearch -LLL -H ldap://192.168.0.132:389 \
-D testldap@test.alt -b "dc=test,dc=alt" \
-x -W "(&(sAMAccountName=*)(sn=К*))" cn sn
где:
-H ldap://192.168.0.132:389 — сервер LDAP;
-D testldap@test.alt — пользователь с правом чтения в каталоге LDAP;
-b "dc=test,dc=alt" — контейнер AD, в котором будет выполняться поиск;
-x — использовать простую аутентификацию;
-W — спросить пароль;
"(&(sAMAccountName=*)(sn=К*))" — выражение, по которому будут отфильтрованы результаты;
cn sn — поля, которые необходимо вывести.
/etc/openldap/ldap.conf, например:
BASE dc=test,dc=alt URI ldap://dc1.test.altКоманда с использованием базы поиска и URI по умолчанию:
$ ldapsearch -LLL -D testldap@test.alt \
-x -W "(&(sAMAccountName=*)(sn=К*))" cn sn
$ ldapsearch -LLL -H ldap://192.168.0.132:389 \
-D testldap@test.alt -b "ou=OU,dc=test,dc=alt" -s one \
-x -W "(&(sAMAccountName=*)(mail=К*))" sn mail
В данном примере не будут выведены записи только из подразделения OU, но не из его дочерних подразделений.
new.filter и выполнить функцию поиска LDAP для каждой строки:
$ ldapsearch -H ldap://192.168.0.132:389 \ -D testldap@test.alt -b "dc=test,dc=alt" -x -W -f new.filter "(samaccountname=%s)" cn
Содержимое файла new.filter:
z* ivanov k* *kКоманда выполняет поиск по поддереву для каждого фильтра, начиная с samaccountname=z*. Когда этот поиск завершается, начинается поиск для фильтра cn=ivanov и т.д. Пример вывода вышеуказанной команды с параметром
-n:
LDAPv3 # base <dc=test,dc=alt> with scope subtree # filter pattern: (samaccountname=%s) # requesting: dn # # # filter: (samaccountname=z*) # # # filter: (samaccountname=ivanov) # # # filter: (samaccountname=k*) # # # filter: (samaccountname=*k) #
sssctl — это инструмент командной строки, который предоставляет унифицированный способ получения информации о состоянии Security System Services Daemon (SSSD).
sssctl можно использовать для сбора следующей информации:
sssctl можно:
Таблица 67.8. Основные команды sssctl
|
Команда
|
Описание
|
|---|---|
|
Статус SSSD
|
|
|
domain-list
|
Вывести список доступных доменов
|
|
domain-status домен
|
Вывести информацию о домене
|
|
user-checks пользователь
|
Вывести информацию о пользователе и проверить аутентификацию
|
|
access-report домен
|
Создать отчёт о правилах управления доступом, которые применяются к клиентскому компьютеру (работает только для домена FreeIPA)
|
|
Информация о кешированном содержимом
|
|
|
user-show пользователь
|
Информация о кеше пользователя
|
|
group-show группа
|
Информация о кеше группы
|
|
netgroup-show группа
|
Информация о кеше сетевой группы
|
|
Инструменты для работы с локальными данными
|
|
|
client-data-backup
|
Резервное копирование локальных данных
|
|
client-data-restore
|
Восстановление локальных данных из резервной копии
|
|
cache-remove
|
Резервное копирование локальных данных и удаление кешированного содержимого
|
|
cache-upgrade
|
Выполнить обновление кеша
|
|
cache-expire
|
Сделать недействительными кешированные объекты
|
|
cache-index действие
|
Управление индексами кеша
|
|
Инструменты для управления журналированием
|
|
|
logs-remove
|
Удалить существующие файлы журналов SSSD
|
|
logs-fetch файл
|
Архивировать файлы журналов SSSD в tarball
|
|
debug-level [уровень]
|
Изменить или вывести уровень журналирования SSSD
|
|
analyze
|
Анализ зарегистрированных данных
|
|
Инструменты для проверки файлов конфигурации
|
|
|
config-check
|
Выполнить статический анализ конфигурации SSSD
|
|
Инструменты, связанные с сертификатом
|
|
|
cert-show сертификат
|
Вывести информацию о сертификате
|
|
cert-map сертификат
|
Показать пользователей, привязанных к сертификату
|
man sssctl).
# sssctl user-show --usage
или:
# sssctl user-show --help
# sssctl domain-status TEST.ALT
Online status: Online
Active servers:
AD Global Catalog: dc1.test.alt
AD Domain Controller: dc1.test.alt
Discovered AD Global Catalog servers:
- dc1.test.alt
Discovered AD Domain Controller servers:
- dc1.test.alt
# sssctl user-show kim
Name: kim
Cache entry creation date: 06/18/25 10:37:38
Cache entry last update time: 06/18/25 10:37:41
Cache entry expiration time: 06/18/25 12:07:41
Initgroups expiration time: 06/18/25 12:07:41
Cached in InfoPipe: N
# sssctl user-checks kim
user: kim
action: acct
service: system-auth
SSSD nss user lookup result:
- user name: kim
- user id: 1939201105
- group id: 1939200513
- gecos: Виталий Ким
- home directory: /home/TEST.ALT/kim
- shell: /bin/bash
SSSD InfoPipe user lookup result:
- name: kim
- uidNumber: 1939201105
- gidNumber: 1939200513
- gecos: Олег Ким
- homeDirectory: not set
- loginShell: not set
testing pam_acct_mgmt
pam_acct_mgmt: Success
PAM Environment:
- no env -
testparm можно проверить содержимое файла конфигурации /etc/samba/smb.conf.
$ testparm
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed
Server role: ROLE_ACTIVE_DIRECTORY_DC
Press enter to see a dump of your service definitions
# Global parameters
[global]
dns forwarder = 8.8.8.8
ldap server require strong auth = No
passdb backend = samba_dsdb
realm = TEST.ALT
server role = active directory domain controller
workgroup = TEST
rpc_server:tcpip = no
rpc_daemon:spoolssd = embedded
rpc_server:spoolss = embedded
rpc_server:winreg = embedded
rpc_server:ntsvcs = embedded
rpc_server:eventlog = embedded
rpc_server:srvsvc = embedded
rpc_server:svcctl = embedded
rpc_server:default = external
winbindd:use external pipes = true
idmap_ldb:use rfc2307 = yes
idmap config * : backend = tdb
map archive = No
vfs objects = dfs_samba4 acl_xattr
[dfs]
msdfs root = Yes
path = /media/dfsroot
[sysvol]
path = /var/lib/samba/sysvol
read only = No
[netlogon]
path = /var/lib/samba/sysvol/test.alt/scripts
read only = No
[free]
guest ok = Yes
path = /mnt/win/free
read only = N
/etc/samba/smb.conf — файл конфигурации Samba.
/etc/krb5.conf — файл конфигурации Kerberos.
/etc/sssd/sssd.conf — файл конфигурации SSSD.
/etc/sssd/sssd.conf) для sssd-ad:
[sssd] config_file_version = 2 services = nss, pam # Managed by system facility command: ## control sssd-drop-privileges unprivileged|privileged|default user = _sssd # SSSD will not start if you do not configure any domains. domains = TEST.ALT [nss] [pam] [domain/TEST.ALT] id_provider = ad auth_provider = ad chpass_provider = ad access_provider = ad default_shell = /bin/bash fallback_homedir = /home/%d/%u debug_level = 0 ;cache_credentials = true ad_gpo_ignore_unreadable = true ad_gpo_access_control = permissive ad_update_samba_machine_account_password = true
man sssd.conf).
/etc/resolv.conf — файл конфигурации ресолвера (механизма преобразования имен хостов в IP-адреса).
/etc/resolv.conf указан как минимум один сервер имен, на который перенаправляются все DNS-запросы:
# Generated by resolvconf # Do not edit manually, use # /etc/net/ifaces/<interface>/resolv.conf instead. nameserver 192.168.197.241
Важно
/etc/resolv.conf не следует редактировать вручную — он автоматически генерируется службой resolvconf. Для ручной настройки следует использовать файл /etc/net/ifaces/<interface>/resolv.conf.
MAXNS (в настоящее время — 3) серверов, причём для каждого требуется отдельная строка nameserver. Если указано несколько серверов, библиотека распознавателя запрашивает их в указанном порядке. Если в файле нет строк nameserver, по умолчанию используется сервер имён на локальном компьютере. Используемый алгоритм заключается в том, чтобы попробовать обратиться к первому указанному серверу имён и, если время ожидания запроса истекло, попробовать обратиться к следующему серверу и т.д. пока не будет исчерпан список серверов, а затем повторять попытки, пока не будет сделано максимальное количество повторных попыток.
resolver(3)).
gethostbyname(3), и отображению ответов IPv4 в «туннелированной форме» IPv6, если записи AAAA не были найдены, но существует набор записей A. Начиная с glibc 2.25, эта опция устарела; приложения должны использовать getaddrinfo(3), а не gethostbyname(3).
resolver(3)), прежде чем будет сделан первоначальный абсолютный запрос. По умолчанию n равно 1, поэтому если в имени есть точки, сначала имя пытаются разрешить как абсолютное, прежде чем добавлять к нему элементы из списка поиска. Значение этой опции скрыто ограничено числом 15.
trust-ad, тупиковый распознаватель устанавливает бит AD в исходящих DNS-запросах (чтобы включить поддержку бита AD) и сохраняет бит AD в ответах. Без этой опции бит AD в запросах не устанавливается и всегда удаляется из ответов, прежде чем они будут возвращены приложению. Это означает, что приложения могут доверять биту AD в ответах, если параметр trust-ad установлен правильно.
gethostname(2)). Локальным доменным именем считается всё, что следует после первого знака «.». Если имя хоста не содержит «.», предполагается, что корневой домен является именем локального домена.
search через пробел или символ табуляции. При разрешении запросов имён, в которых меньше точек, чем указано в ndots (по умолчанию 1), будет использован каждый компонент пути поиска, пока не будет найдено соответствующее имя. Для сред с несколькими субдоменами см. параметры ndots:n, чтобы избежать атак типа «человек посередине» и ненужного трафика для корневых DNS-серверов. Обратите внимание, что этот процесс может быть медленным и будет генерировать много сетевого трафика, если серверы для перечисленных доменов не являются локальными, и что время ожидания запросов истечет, если сервер для одного из доменов недоступен.
search используется только список поиска из последнего экземпляра.
domain — это устаревшая форма директивы search, которая обрабатывает только одну запись в списке поиска.
gethostbyname(3). Список сортировки задается в виде пар IP-адрес/сетевая маска. Маску сети указывать не обязательно, по умолчанию используется естественная маска сети. IP-адрес и маска сети разделяются косой чертой. В списке можно указывать до 10 пар. Пример:
sortlist 130.155.160.0/255.255.240.0 130.155.0.0
search системного файла resolv.conf можно переопределить для каждого процесса, задав для переменной среды LOCALDOMAIN список доменов поиска, разделенных пробелами.
options системного файла resolv.conf можно переопределить для каждого процесса, задав для переменной среды RES_OPTIONS список параметров преобразователя, разделенных пробелами.
/etc/resolv.conf, будут перезаписаны при изменении сетевых настроек или перезагрузке.
nameserver). Значение следует за ключевым словом, разделенным пробелом.
resolvconf — это служба для централизованного обновления информации о DNS-серверах. Она действует как посредник между источниками информации (например, DHCP-клиентами) и потребителями (например, библиотеками разрешения имён).
/etc/resolv.conf через resolvconf:
# resolvconf -u
/etc/resolv.conf:
search test.alt example.test nameserver 192.168.0.132 nameserver 8.8.8.8
search позволяет использовать только короткое имя хоста (например, work) для обращения к полному имени в домене test.alt, то есть work.test.alt. Если разрешение не удалось, преобразователь пробует следующий домен (example.test) и формирует, например, work.example.test.
ndots (см. описание параметров выше).
/etc/named.conf — основной файл конфигурации, содержит ссылки на остальные конфигурационные файлы;
/etc/bind/options.conf — файл глобальных настроек службы;
/etc/bind/rndc.conf — параметры удалённого управления службой DNS с помощью rndc;
/etc/bind/local.conf — файл настроек локальных DNS-зон;
/var/lib/samba/bind-dns/named.conf — инструмент для динамического обновления записей DNS при интеграции с Samba.
named.conf или в директиве @ $ORIGIN текущего описания зоны;
Таблица 68.1. Разделы конфигурационного файла bind
|
Раздел
|
Описание
|
|---|---|
acl
|
Позволяет задать именованный список сетей. Формат раздела: acl имя_сети {ip; ip; ip; }
|
controls
|
Объявляет каналы управления, которые будут использоваться утилитой rndc
|
dnssec-policy
|
Описывает ключ DNSSEC и политику подписи для зон
|
key
|
Указывает ключевую информацию для использования при аутентификации и авторизации с использованием TSIG
|
:any:key-store
|
Описывает хранилище ключей DNSSEC
|
logging
|
Указывает, какую информацию регистрирует сервер и куда отправляются сообщения журнала
|
options
|
Задает глобальные параметры конфигурационного файла, управляющие всеми зонами
|
parental-agents
|
Определяет именованный список серверов для включения в списки родительских агентов основной и дополнительной зон
|
primaries
|
Определяет именованный список серверов для включения в основные и дополнительные зоны или списки уведомлений
|
server
|
Устанавливает определенные параметры конфигурации для каждого сервера
|
tls
|
Указывает информацию о конфигурации для соединения TLS
|
http
|
Указывает информацию о конфигурации для HTTP-соединения
|
trust-anchors
|
Определяет якоря доверия DNSSEC: при использовании с ключевым словом Initial-key или Initial-ds якоря доверия поддерживаются в актуальном состоянии с помощью обслуживания якоря доверия RFC 5011; при использовании со static-key или static-ds ключи являются постоянными
|
zone
|
Определяет описание зон(ы)
|
/etc/bind/options.conf. Для получения более подробной информации следует обратиться к man странице named.conf(5).
Таблица 68.2. Основные параметры конфигурационного файла bind
|
Опция
|
Описание
|
|---|---|
directory
|
Указывает каталог расположения таблиц зон
|
listen-on
|
Определяет адреса IPv4, на которых сервер прослушивает DNS-запросы
|
listen-on-v6
|
Определяет адреса IPv6, на которых сервер прослушивает DNS-запросы
|
allow-query
|
IP-адреса и подсети, от которых будут обрабатываться запросы. Если параметр не задан, сервер отвечает на все запросы
|
allow-transfer
|
Устанавливает возможность передачи зон для slave-серверов
|
allow-query-cache
|
IP-адреса и подсети, которые могут получить доступ к кешу этого сервера
|
allow-recursion
|
IP-адреса и подсети, от которых будут обрабатываться рекурсивные запросы (для остальных будут выполняться итеративные запросы). Если параметр не задан, сервер выполняет рекурсивные запросы для всех сетей
|
pid-file
|
Указывает путь к файлу, в который сервер записывает идентификатор процесса
|
tkey-gssapi-keytab
|
Устанавливает файл таблицы ключей KRB5, который будет использоваться для обновлений GSS-TSIG. Это файл таблицы ключей KRB5, который можно использовать для обновлений GSS-TSIG. Если этот параметр установлен, а
tkey-gssapi-credential не установлен, обновления разрешены с любым ключом, соответствующим участнику в указанной вкладке ключей
|
minimal-responses
|
Контролирует, добавляет ли сервер записи в разделы полномочий и дополнительных данных. При значении yes сервер добавляет записи в авторитетные и дополнительные разделы только тогда, когда такие записи требуются протоколом DNS (например, при возврате делегирования или отрицательных ответах). Это обеспечивает лучшую производительность сервера, но может привести к увеличению количества клиентских запросов
|
max-cache-ttl
|
Указывает максимальное время (в секундах), в течение которого сервер кеширует обычные (положительные) ответы. Максимальный срок кеша по умолчанию — 04800 (одна неделя)
|
forward
|
Позволяет указать каким образом сервер обрабатывает запрос клиента. При значении first DNS-сервер будет пытаться разрешать имена с помощью DNS-серверов, указанных в параметре forwarders. Если разрешить имя с помощью данных серверов не удалось, то попытаться разрешить имя самостоятельно. Если указать значение none, сервер не будет пытаться разрешить имя самостоятельно
|
forwarders
|
DNS-сервер, на который будут перенаправляться запросы клиентов
|
dnssec-validation
|
Включает проверку DNSSEC в именованных файлах. Если установлены значения auto (по умолчанию) и yes, проверка DNSSEC включена. Если установлено значение no, проверка DNSSEC отключена
|
type
|
Указывает тип зоны, описываемой в текущем разделе. Тип зоны может принимать следующие значения:
|
Содержание
Примечание
netstat, ss, ping, telnet — для проверки сетевой доступности.
host, dig, nslookup — для проверки разрешения имён.
ldapsearch — для запросов к Samba через LDAP.
ldbsearch — для прямого доступа к локальной базе Samba (ldap-like запросы).
samba-tool — для администрирования и проверки состояния.
diag-domain-controller — для диагностики контроллера домена (подробнее см. Инструмент диагностики состояния контроллера домена).
diag-domain-client — для диагностики клиента домена (подробнее см. Инструмент диагностики клиента домена).
Примечание
diag-domain-controller и diag-domain-client — они автоматизируют проверку большинства критических компонентов.
$ df -h
/etc/samba/smb.conf) на ошибки:
$ testparm
/var/log/samba/log.samba на наличие аномальных сообщений. Для подробного вывода можно увеличить уровень журнала (см. раздел Уровни журналирования).
# samba-tool dbcheck --cross-ncs
log level в разделе [global] файла /etc/samba/smb.conf, например:
log level = 3После изменения параметра следует перезапустить службу
samba:
# systemctl restart samba
/var/log/samba/.
ps:
# ps axf | grep -E "samba|smbd|winbindd"
…
3078 ? S 0:00 /usr/sbin/samba --no-process-group
3091 ? S 0:00 \_ /usr/sbin/samba --no-process-group
3092 ? S 0:00 | \_ /usr/sbin/samba --no-process-group
3096 ? S 0:00 | \_ /usr/sbin/samba --no-process-group
3101 ? Ss 0:00 | \_ /usr/sbin/smbd -D --option=server role check:inhibit=yes --foreground
3138 ? S 0:00 | \_ /usr/sbin/smbd -D --option=server role check:inhibit=yes --foreground
3139 ? S 0:00 | \_ /usr/sbin/smbd -D --option=server role check:inhibit=yes --foreground
3149 ? S 0:00 | \_ /usr/sbin/smbd -D --option=server role check:inhibit=yes --foreground
3150 ? S 0:00 | \_ /usr/sbin/smbd -D --option=server role check:inhibit=yes --foreground
…
3127 ? Ss 0:00 | \_ /usr/sbin/winbindd -D --option=server role check:inhibit=yes --foreground
3140 ? S 0:00 | \_ /usr/sbin/winbindd -D --option=server role check:inhibit=yes --foreground
…
smbd и winbindd должны быть дочерними по отношению к основному процессу samba.
/var/log/samba/). Для подробного вывода можно временно увеличить уровень журнала (см. раздел Уровни журналирования);
# samba -i
В этом режиме ошибки выводятся непосредственно в консоль.
# ss -tulpn | grep ":53"
# systemctl disable --now bind
# systemctl restart samba
# host -t A <домен> 127.0.0.1
Если DNS отвечает корректно, в выводе будет указан IP-адрес контроллера домена.
/var/lib/samba/bind-dns создается только в следующих случаях:
--dns-backend=BIND9_DLZ;
--dns-backend=BIND9_DLZ;
samba_upgradedns с использованием опции --dns-backend=BIND9_DLZ.
Примечание
[root@dc1 /]# host -t A test.alt 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:
test.alt has address 192.168.0.132
test.alt has address 192.168.0.133
[root@dc1 /]#host -t SRV _ldap._tcp.test.alt 127.0.0.1Using domain server: Name: 127.0.0.1 Address: 127.0.0.1#53 Aliases: _ldap._tcp.test.alt has SRV record 0 100 389 dc1.test.alt. _ldap._tcp.test.alt has SRV record 0 100 389 dc2.test.alt. [root@dc1 /]#host -t SRV _kerberos._udp.test.alt 127.0.0.1Using domain server: Name: 127.0.0.1 Address: 127.0.0.1#53 Aliases: _kerberos._udp.test.alt has SRV record 0 100 88 dc1.test.alt. _kerberos._udp.test.alt has SRV record 0 100 88 dc2.test.alt. [root@dc1 /]#host -t SRV _kerberos._tcp.test.alt_kerberos._tcp.test.alt has SRV record 0 100 88 dc1.test.alt. _kerberos._tcp.test.alt has SRV record 0 100 88 dc2.test.alt.
/etc/krb5.conf);
[root@dc1 /]# ss -tulnp | grep ':123'
Или:
[root@dc1 /]# netstat -anp | grep ':123'
[root@dc1 /]#Если служба запущена, запустить:systemctl is-enabled chronyd[root@dc1 /]#systemctl is-active chronyd
[root@dc1 /]# systemctl enable --now chronyd
При ошибках — проверить статус:
[root@dc1 /]# systemctl status chronyd
[root@dc1 /]# control chrony server
[root@dc1 /]# samba-tool user show <пользователь> | grep userAccountControl | awk '{if (and($2, 2)) print "DISABLED"; else print "ACTIVE"}'
DISABLED
[root@dc1 /]# kinit <пользователь;@TEST.ALT
Если пароль неверный — будет выведено соответствующее уведомление:
kinit: Password incorrect while getting initial credentialsВ случае успеха можно проверить выданный билет:
[root@dc1 /]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: пользователь@TEST.ALT
Valid starting Expires Service principal
30.09.2025 17:19:34 01.10.2025 03:19:34 krbtgt/TEST.ALT@TEST.ALT
renew until 01.10.2025 17:19:33
Для диагностики работы Kerberos можно включить отладку:
[root@dc1 /]# KRB5_TRACE=/dev/stdout kinit <учётная_запись>@TEST.ALT
/etc/krb5.conf обязательно должны быть указаны следующие параметры:
[libdefaults] dns_lookup_kdc = true dns_lookup_realm = false default_realm = TEST.ALT
smbclient (при полученном Kerberos-билете):
[user1@myhost1 /]$ smbclient -k -L dc1.test.alt
Должен отобразиться список ресурсов без запроса пароля.
[user1@myhost1 /]$ smbclient -k //dc1.test.alt/sysvol
Должно произойти подключение к ресурсу без запроса пароля.
Failed to join domain: Failed to find DC for domain FSRTN - The object was not foundПри вводе в домен через графический интерфейс отображается ошибка:
Невозможно найти указанный домен
net пытается подключиться к IP-адресу 127.0.0.1. Если служба Samba не прослушивает loopback-интерфейс, соединение завершается ошибкой:
# net rpc rights list -U administrator
Could not connect to server 127.0.0.1
Connection failed: NT_STATUS_CONNECTION_REFUSED
smb.conf строки:
interfaces = lo enp1s0 bind interfaces only = yes
Примечание
-I <IP-адрес> или -S <Имя хоста> в команду net:
# net rpc rights list -U administrator -I 192.168.0.132
Password for [TEST\administrator]:
SeMachineAccountPrivilege Add machines to domain
SeTakeOwnershipPrivilege Take ownership of files or other objects
…
getent passwd и getent group, нельзя увидеть доменных пользователей и группы. Этот функционал отключен по умолчанию, чтобы сократить нагрузку на серверы.
# getent passwd <имя_пользователя>
Например:
# getent passwd ivanov
getent passwd <имя_пользователя> ничего не возвращает, можно попробовать указать домен вручную:
# getent passwd <рабочая_группа>\<имя_пользователя>
Например:
# getent passwd "TEST\ivanov"
smb.conf необходимо добавить строку:
winbind use default domain = yes
Примечание
# samba-tool user list
backend mdb) возможен значительный рост размера базы данных на этапе первичной репликации. Этот рост может существенно превышать её итоговый рабочий объём из-за особенностей работы механизма репликации.
Примечание
Важно
#systemctl stop samba.service#cd /var/lib/samba/private/sam.ldb.d/#for i in *.ldb; do mv $i $i.bak; mdb_copy -n -c $i.bak $i.new; mv $i.new $i; done#systemctl start samba.service
[root@dc1 /]# samba-tool drs showrepl --summary -UAdministrator
ALL GOOD.
[root@dc1 /]# samba-tool drs showrepl --use-kerberos=required -UAdministrator@TEST.ALT --use-krb5-ccache=/tmp/krb5cc_0 | grep -A2 -B3 -e BOUND -e failed
DSA object GUID: 3fd9d6ae-1d33-4721-8e7b-be75999b8637
DSA invocationId: 3f871245-2220-44bd-b34f-64a0f6c42dfb
==== INBOUND NEIGHBORS ====
DC=DomainDnsZones,DC=test,DC=alt
site2\DC2 via RPC
DSA object GUID: fff1244c-b3e7-49e1-84d7-a3128340767e
Last attempt @ Wed Oct 1 10:56:27 2025 +05 failed, result 1232 (WERR_HOST_UNREACHABLE)
4 consecutive failure(s).
Last success @ Wed Oct 1 10:36:24 2025 +05
--
DC=ForestDnsZones,DC=test,DC=alt
site2\DC2 via RPC
DSA object GUID: fff1244c-b3e7-49e1-84d7-a3128340767e
Last attempt @ Wed Oct 1 10:56:31 2025 +05 failed, result 1232 (WERR_HOST_UNREACHABLE)
4 consecutive failure(s).
Last success @ Wed Oct 1 10:36:24 2025 +05
--
CN=Schema,CN=Configuration,DC=test,DC=alt
site2\DC2 via RPC
DSA object GUID: fff1244c-b3e7-49e1-84d7-a3128340767e
Last attempt @ Wed Oct 1 10:56:34 2025 +05 failed, result 1232 (WERR_HOST_UNREACHABLE)
4 consecutive failure(s).
Last success @ Wed Oct 1 10:36:24 2025 +05
--
DC=test,DC=alt
site2\DC2 via RPC
DSA object GUID: fff1244c-b3e7-49e1-84d7-a3128340767e
Last attempt @ Wed Oct 1 10:56:37 2025 +05 failed, result 1232 (WERR_HOST_UNREACHABLE)
4 consecutive failure(s).
Last success @ Wed Oct 1 10:36:24 2025 +05
--
CN=Configuration,DC=test,DC=alt
site2\DC2 via RPC
DSA object GUID: fff1244c-b3e7-49e1-84d7-a3128340767e
Last attempt @ Wed Oct 1 10:56:40 2025 +05 failed, result 1232 (WERR_HOST_UNREACHABLE)
4 consecutive failure(s).
Last success @ Wed Oct 1 10:36:25 2025 +05
==== OUTBOUND NEIGHBORS ====
DC=DomainDnsZones,DC=test,DC=alt
--
DC=test,DC=alt
site2\DC2 via RPC
DSA object GUID: fff1244c-b3e7-49e1-84d7-a3128340767e
Last attempt @ Wed Oct 1 10:57:08 2025 +05 failed, result 1232 (WERR_HOST_UNREACHABLE)
151 consecutive failure(s).
Last success @ NTTIME(0)
Необходимо обратить внимание на строки с failed и кодами ошибок. Код WERR_HOST_UNREACHABLE означает, что целевой контроллер домена недоступен по сети.
/etc/samba/smb.conf в секции [global] указано server services = -dns), следует убедиться, что запросы в зону доверенного домена пересылаются на его DNS-сервер (через forwarders в named.conf).
forest, на клиентах нельзя использовать SSSD.
external, на клиентах использующих SSSD нужно явно указать доверенный домен в /etc/sssd/sssd.conf. В некоторых случаях требуется отключить проверку билетов:
krb5_validate = false
# apt-get install diag-domain-controller
diag-domain-controller [опции] [<тест>]
где тест — название функции из списка тестов. Если не указывать название функции, будут запущены все доступные тесты.
-l, --list — вывести список доступных тестов;
-V, --version — показать версию и выйти;
-v, --verbose — подробный вывод в терминал;
-r[FILE], --report=[FILE] — сохранить отчёт в файл (report_<текущая дата>.txt) и создать архив, содержащий отчёт и копии файлов smb.conf, krb5.conf. Необязательный параметр — имя архива. Если имя не указано, будет создан архив $TMP/report_<текущая дата>.tar.gz;
-a, -alterator — формат вывода для интеграции с приложениями Alterator;
-h, --help — показать справку и выйти.
Таблица 70.1. Тесты diag-domain-controller
|
Тест
|
Описание
|
|---|---|
|
is_domain_info_available
|
Проверка доступности просмотра общей информации о домене
|
|
is_hostname_correct
|
Проверка корректности FQDN узла
|
|
is_hostname_static_and_transient
|
Проверка, что статическое имя хоста задано и совпадает с временным (transient)
|
|
is_not_empty_sysvol
|
Проверка, что каталог
sysvol не пуст.
При запуске от root также выводит неполный список файлов каталога
|
|
does_sysvol_contain_necessary_files
|
Проверка наличия обязательных подкаталогов
<домен>/Policies и <домен>/scripts в sysvol.
Требуется запуск от root
|
|
is_samba_package_installed
|
Проверка установки в системе пакета (samba-dc или samba-dc-mitkrb5). Вывод информации о данных пакетах
|
|
is_samba_service_running
|
Проверка, что служба Samba запущена
|
|
is_resolve_local
|
Проверка, что контроллер домена разрешает DNS-запросы локально (файл
/etc/resolv.conf содержит строку nameserver 127.0.0.1)
|
|
is_krb5_conf_file_exists
|
Проверка наличия и вывод содержимого файла конфигурации
/etc/krb5.conf
|
|
is_smb_conf_file_exists
|
Проверка наличия и вывод содержимого файла конфигурации
/etc/samba/smb.conf
|
|
is_there_way_to_cache_kerberos_tickets
|
Проверка метода кеширования билетов Kerberos (
control krb5-conf-ccache)
|
|
is_sections_with_domain_name_in_krb5_empty
|
Проверка, что секции
[realms] и [domain_realm] в файле /etc/krb5.conf не пусты
|
|
is_dns_lookup_kdc_enabled
|
Проверка, что включен поиск доменного имени Kerberos через DNS (
dns_lookup_kdc = true в файле /etc/krb5.conf)
|
|
is_dns_lookup_realm_disabled
|
Проверка, что поиск доменного имени Kerberos через DNS отключён (
dns_lookup_realm = false в файле /etc/krb5.conf)
|
|
is_resolv_conf_file_exists
|
Проверка наличия и вывод содержимого файла конфигурации
/etc/resolv.conf
|
|
does_resolv_conf_and_default_realm_it_match
|
Проверка соответствия записи области (realm) в файле конфигурации
/etc/krb5.conf одному из доменных имен в файле /etc/resolv.conf
|
|
does_smb_realm_and_krb5_default_realm_it_match
|
Проверка соответствия соответствие записи домена в файле конфигурации
/etc/krb5.conf записи realm в файле конфигурации smb.conf
|
|
are_there_errors_in_samba_databases
|
Проверка целостности баз Samba. Требуется запуск от root
|
|
is_ntp_service_running
|
Проверка, что служба NTP запущена
|
|
is_time_synchronization_enabled
|
Проверяет, включена ли синхронизация времени
|
|
is_ports_listening
|
Проверка доступности необходимых сетевых портов
|
|
is_list_trusts_validated
|
Проверка списка доверенных доменов
|
|
is_nscd_service_disabled
|
Проверка, что служба nscd отключена
|
|
is_nslcd_service_disabled
|
Проверка, что служба nslcd отключена
|
$ diag-domain-controller -l
is_domain_info_available
is_hostname_correct
is_hostname_static_and_transient
is_not_empty_sysvol
does_sysvol_contain_necessary_files
is_samba_package_installed
is_samba_service_running
is_resolve_local
is_krb5_conf_file_exists
is_smb_conf_file_exists
is_there_way_to_cache_kerberos_tickets
is_sections_with_domain_name_in_krb5_empty
is_dns_lookup_kdc_enabled
is_dns_lookup_realm_disabled
is_resolv_conf_file_exists
does_resolv_conf_and_default_realm_it_match
does_smb_realm_and_krb5_default_realm_it_match
are_there_errors_in_samba_databases
is_ntp_service_running
is_time_synchronization_enabled
is_ports_listening
is_list_trusts_validated
is_nscd_service_disabled
is_nslcd_service_disabled
$ diag-domain-controller is_domain_info_available
=================================================
General information about the domain controller:
Forest : test.alt
Domain : test.alt
Netbios domain : TEST
DC name : dc1.test.alt
DC netbios name : DC1
Server site : Default-First-Site-Name
Client site : newSite
=================================================
[DONE]: is_domain_info_available
$ diag-domain-controller
[DONE]: is_domain_info_available
[DONE]: is_hostname_correct
[DONE]: is_hostname_static_and_transient
[WARN]: is_not_empty_sysvol
[DONE]: does_sysvol_contain_necessary_files
[DONE]: is_samba_package_installed
[DONE]: is_samba_service_running
[DONE]: is_resolve_local
[DONE]: is_krb5_conf_file_exists
[DONE]: is_smb_conf_file_exists
[DONE]: is_there_way_to_cache_kerberos_tickets
[DONE]: is_sections_with_domain_name_in_krb5_empty
[DONE]: is_dns_lookup_kdc_enabled
[DONE]: is_dns_lookup_realm_disabled
[DONE]: is_resolv_conf_file_exists
[DONE]: does_resolv_conf_and_default_realm_it_match
[DONE]: does_smb_realm_and_krb5_default_realm_it_match
[WARN]: are_there_errors_in_samba_databases
[DONE]: is_ntp_service_running
[DONE]: is_time_synchronization_enabled
[DONE]: is_ports_listening
[DONE]: is_list_trusts_validated
[DONE]: is_nscd_service_disabled
[DONE]: is_nslcd_service_disabled
kinit user@DOMAIN). Выполнение некоторых проверок требует полномочий суперпользователя (иначе они будут пропущены).
# apt-get install diag-domain-client
diag-domain-client [опции] [<тест>]
где тест — название функции из списка тестов. Если не указывать название функции, будут запущены все доступные тесты.
-h, --help — показать справку и выйти;
-V, --version — показать версию и выйти;
-v, --verbose — подробный вывод;
-w[FILE], --logfile[=FILE] — сохранить отчёт в файл. Если файл не указан, отчёт будет записан в файл ./diag-domain-client.log. В случае если файл уже существует, создаются ротированные копии (например, diag-domain-client.log.1, diag-domain-client.log.2 и т.д.);
-f, --force — принудительная запись в существующий файл отчёта;
-l, --list — вывести список доступных тестов.
Примечание
Таблица 70.2. Тесты diag-domain-client
|
Тест/Проверка
|
Описание
|
|---|---|
|
check_hostnamectl
|
Проверка информации о настройках хоста.
С опцией
-v отображает информацию о хосте: имя, система, версия ядра, архитектура, виртуализация (при наличии)
|
|
test_hostname
|
Проверяет, задано ли полное доменное имя (FQDN)
|
|
check_system_auth
|
Проверяет метод аутентификации пользователей, используемый в подсистеме PAM (sss, winbind — компьютер введен в домен, local — не введен).
С опцией
-v выводит содержимое файла /etc/pam.d/system-auth
|
|
test_domain_system_auth
|
Проверяет, что метод аутентификации допустим для работы в домене (sss или winbind)
|
|
check_system_policy
|
Проверяет информацию об инструменте применения групповых политик
|
|
test_gpupdate_system_policy
|
Проверяет, настроено ли применение групповых политик
|
|
check_krb5_conf_exists
|
Проверяет наличие файла конфигурации
krb5.conf
С опцией
-v отображает права доступа и выводит содержимое /etc/krb5.conf
|
|
check_krb5_conf_ccache
|
Проверяет способ кеширования Kerberos-билетов.
С опцией
-v отображает текущий способ кеширования Kerberos-билетов — keyring, file, dir
|
|
test_keyring_krb5_conf_ccache
|
Проверяет, что для кеширования используется keyring
|
|
check_krb5_conf_kdc_lookup
|
Проверяет, включен ли поиск Kerberos-имени домена через DNS (
dns_lookup_kdc = true в файле /etc/krb5.conf)
|
|
check_krb5_keytab_exists
|
Проверяет наличие файла
/etc/krb5.keytab. В этом файле хранятся принципалы и хеши пароля доменной учётной записи компьютера.
С опцией
-v отображает права доступа и дату последнего изменения файла /etc/krb5.keytab
|
|
check_keytab_credential_list
|
Проверяет содержимое файла
/etc/krb5.keytab.
С опцией
-v отображает содержимое файла /etc/krb5.keytab.
Требуется запуск от root, иначе тест будет пропущен (SKIP)
|
|
check_resolv_conf
|
Проверяет наличие файла конфигурации разрешения имен
resolv.conf
С опцией
-v отображает права и содержимое файла /etc/resolv.conf.
|
|
compare_resolv_conf_with_default_realm
|
Сравнивает домен для поиска (поле search в
/etc/resolv.conf) с доменом по умолчанию, указанным для Kerberos (default_realm из /etc/krb5.conf)
|
|
check_smb_conf
|
Проверяет наличие файла настроек конфигурации Samba
С опцией
-v выводит содержимое файла /etc/samba/smb.conf.
|
|
compare_smb_realm_with_krb5_default_realm
|
Сравнивает домен, указанный в файле конфигурации Samba (
realm в /etc/samba/smb.conf), с доменом по умолчанию, указанным для Kerberos (default_realm из /etc/krb5.conf)
|
|
test_smb_realm
|
Проверяет корректность заполнение настройки домена в конфигурационных файлах Samba (
smb.conf) и Kerberos (krb5.conf)
|
|
test_domainname
|
Сравнивает доменное имя из
/etc/hostname с именем домена в составе FQDN-имени узла
|
|
check_time_synchronization
|
Проверяет, доступна ли информация о часовом поясе, синхронизации времени с сервером (необходимо для корректной работы с сертификатами, электронной подписью, билетами Kerberos).
С опцией
-v выводит подробную информацию — часовой пояс, временную зону и т.д.
|
|
test_time_synchronization
|
Проверяет, включена ли синхронизация времени
|
|
check_nameservers
|
Проверяет доступность всех контроллеров домена по имени (
host <domain FQDN>) и IP-адресу (работает ли resolv.conf)
|
|
check_domain_controllers
|
Проверяет доступность всех контроллеров домена в домене (из SRV-записей)
|
|
check_kerberos_and_ldap_srv_records
|
Проверяет наличие SRV-записей _kerberos._udp.<domain FQDN> и _ldap._tcp.<domain FQDN>. Требуется для корректной работы машины в домене. Без записей Kerberos, sssd и winbind не смогут найти контроллеры домена
|
|
compare_netbios_name
|
Сравнивает короткое имя хоста из
/etc/hostname с NetBios-именем машины (netbios name) в smb.conf
|
|
check_common_packages
|
Проверяет наличие установленных пакетов (alterator-auth, libnss-role, libkrb5 и libsmbclient)
|
|
check_group_policy_packages
|
Проверяет наличие установленных пакетов для управления групповыми политиками (local-policy и gpupdate)
|
|
check_sssd_ad_packages
|
Проверяет наличие установленного мета-пакета для аутентификации с помощью sssd (task-auth-ad-sssd)
|
|
check_sssd_winbind_packages
|
Проверяет наличие установленного мета-пакета для аутентификации с помощью winbind (task-auth-ad-winbind)
|
$ diag-domain-client -l
check_hostnamectl
test_hostname
check_system_auth
test_domain_system_auth
check_system_policy
test_gpupdate_system_policy
check_krb5_conf_exists
check_krb5_conf_ccache
test_keyring_krb5_conf_ccache
check_krb5_conf_kdc_lookup
check_krb5_keytab_exists
check_keytab_credential_list
check_resolv_conf
compare_resolv_conf_with_default_realm
check_smb_conf
compare_smb_realm_with_krb5_default_realm
test_smb_realm
test_domainname
check_time_synchronization
test_time_synchronization
check_nameservers
check_domain_controllers
check_kerberos_and_ldap_srv_records
compare_netbios_name
check_common_packages
check_group_policy_packages
check_sssd_ad_packages
check_sssd_winbind_packages
$ diag-domain-client check_smb_conf
[DONE]: Check Samba configuration
$ diag-domain-client check_krb5_conf_kdc_lookup -v
===============================================================================
| Samba environment diagnostic tool |
-------------------------------------------------------------------------------
Version: 0.5
Date: Пн 20 окт 2025 10:16:37 EET
-------------------------------------------------------------------------------
System information
Kernel: 6.12.34-6.12-alt1
Branch: p11
===============================================================================
===============================================================================
| check_krb5_conf_kdc_lookup |
-------------------------------------------------------------------------------
/etc/krb5.conf: dns_lookup_kdc is enabled
-------------------------------------------------------------------------------
[DONE]: Check DNS lookup kerberos KDC status
===============================================================================
$ diag-domain-client
[DONE]: Check hostname persistance
[DONE]: Test hostname is FQDN (not short)
[DONE]: System authentication method
[DONE]: Domain system authentication enabled
[DONE]: System policy method
[WARN]: System group policy enabled
[DONE]: Check Kerberos configuration exists
[DONE]: Kerberos credential cache status
[DONE]: Using keyring as kerberos credential cache
[DONE]: Check DNS lookup kerberos KDC status
[DONE]: Check machine credential cache is exists
[SKIP]: Check machine credentials list in keytab
[DONE]: Check nameserver resolver configuration
[DONE]: Compare krb5 realm and first search domain
[DONE]: Check Samba configuration
[DONE]: Compare samba and krb5 realms
[DONE]: Check Samba domain realm
[DONE]: Check hostname FQDN domainname
[DONE]: Check time synchronization
[DONE]: Time synchronization enabled
[WARN]: Check nameservers availability
[FAIL]: Check domain controllers list
[DONE]: Check Kerberos and LDAP SRV-records
[DONE]: Compare NetBIOS name and hostname
[DONE]: Check common packages
[FAIL]: Check group policy packages
[DONE]: Check SSSD AD packages
[WARN]: Check SSSD Winbind packages
/tmp/diag-domain-client.log:
$ diag-domain-client check_krb5_conf_kdc_lookup -w/tmp/diag-domain-client.log
[DONE]: Check DNS lookup kerberos KDC status
содержимое файла /tmp/diag-domain-client.log:
=============================================================================== | Samba environment diagnostic tool | ------------------------------------------------------------------------------- Version: 0.5 Date: Пн 20 окт 2025 10:17:11 EET ------------------------------------------------------------------------------- System information Kernel: 6.12.34-6.12-alt1 Branch: p11 =============================================================================== =============================================================================== | check_krb5_conf_kdc_lookup | ------------------------------------------------------------------------------- /etc/krb5.conf: dns_lookup_kdc is enabled ------------------------------------------------------------------------------- [DONE]: Check DNS lookup kerberos KDC status ===============================================================================
# apt-get install adt
Установка инструментов диагностики состояния клиента домена и состояния контроллера домена:
# apt-get install diag-domain-client diag-domain-controller
# systemctl enable --now alterator-manager.service
$ adt








Примечание
-r, --report.
.backend — описывает интерфейс диагностического инструмента, обеспечивающий взаимодействие с D-Bus. В нем же описываются методы интерфейса: info, run, list, report;
.diagnostictool — описывает отображение диагностического инструмента в ADT. Содержит информацию о тестах, доступных в рамках описываемого диагностического инструмента.
.backend и запуска исполняемых файлов.
.backend обо всех установленных диагностических инструментах и создает объекты на системной и сессионных (в зависимости от расположения backend-файлов) шинах D-Bus с именами вида «ru.basealt.alterator.<имя инструмента>».

.backend и .diagnostictool (или .diag), описывающие сущности Alterator Entry.
Примечание
.diagnostictool и .diag считаются верными.
/путь_к_исполняемому_файлу {param}
где {param} — означает имя теста, который необходимо выполнить.
-l или --list — вывод списка тестов. Список необходимо выводить в стандартный вывод. Имя каждого теста должно быть с новой строки;
-r или --report — сгенерировать файл с отчетом. Файл с отчетом может представлять собой как текстовые данные, так и бинарные (например, архив). Его содержимое необходимо направить в стандартный вывод. ADT получит этот вывод и сохранит в файл с именем вида «имя_инструмента_дата» и суффиксом, указанным в файле .diagnostictool.
.backend и .diagnostictool следует воспользоваться спецификацией Alterator Entry.
.backend и .diagnostictool являются текстовыми и содержат описание в виде секций. Синтаксис файлов:
[имя секции1] Поле1 = значение Поле2 = значение ПолеN = значение [имя секции2] Поле1 = значение Поле2 = значение ПолеN = значение [имя секцииN] Поле1 = значение Поле2 = значение ПолеN = значениеПри этом следует учитывать:
./backends для файла .backend;
./diagnostictools для файла .diagnostictool (или .diag).
.diagnostictool имеет имя вида <имя диагностического инструмента>.diagnostictool.
/usr/share/alterator/diagnostictools/. В противном случае рекомендуется использовать каталог /etc/alterator/diagnostictools/.
.diagnostictool содержит информацию для GUI. Он включает секцию [Alterator Entry] и секции, описывающие варианты тестирования.
.backend имеет имя вида <имя диагностического инструмента>.ru.basealt.alterator.backend.
/usr/share/alterator/backends/system — если объект необходимо создать на системной шине;
/usr/share/alterator/backends/user — если объект необходимо создать на сессионной шине;
/etc/alterator/backends/system/ — если объект необходимо создать на системной шине;
/etc/alterator/backends/user/ — если объект необходимо создать на сессионной шине;
.diagnostictool (cat <путь к файлу>);
<путь к исполняемому файлу> {param};
<путь к исполняемому файлу> -l;
<путь к исполняемому файлу> -R;
/usr/bin/diag-example;
/usr/share/alterator/backends/diag-example.backend;
/usr/share/alterator/diagnostictools/diag-example.diag.
/usr/bin/diag-example:
#!/bin/bash
#
# Copyright (c) 2024 Evgeny Sinelnikov <sin@altlinux.org>
#
# Example diagnostic tool
#
# SPDX-License-Identifier: GPL-2.0-or-later
#
set -euo pipefail
. shell-getopt
PROG="${0##*/}"
PROG_VERSION='0.0.1'
cmd="run"
global_retval=0
print_version()
{
cat <<EOF
$PROG version $PROG_VERSION
Written by Evgeny Sinelnikov <sin@altlinux.org>
Copyright (C) 2024 Evgeny Sinelnikov <sin@altlinux.org>
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
EOF
exit
}
show_usage()
{
cat <<EOF
$PROG - example diagnostic tool.
Usage: $PROG [options] [<diagnostic-task>]
Options:
-l, --list list of diagnostic tasks;
-V, --version print program version and exit;
-h, --help show this text and exit.
Report bugs to https://bugzilla.altlinux.org/
EOF
exit
}
TEMP=$(getopt -n "$PROG" -o "l,V,h" -l "list,version,help" -- "$@") || show_usage
eval set -- "$TEMP"
while :; do
case "$1" in
--) shift; break
;;
-l|--list) cmd="list";
;;
-V|--version) print_version
;;
-h|--help) show_usage
;;
*) fatal "Unrecognized option: $1"
;;
esac
shift
done
task_list="$*"
task_show()
{
local func="$1"
echo "$func"
}
task_run()
{
local retval=126
local func="$1"
if test -n "$task_list"; then
echo "$task_list" | tr ' ' '\n' | grep -q "^$func\$" ||
return 0
fi
$func && retval=0 || retval="$?"
test $retval = 0 || global_retval=1
return $retval
}
task()
{
local task="$1"
case "$cmd" in
list) task_show "$task"
;;
run) task_run "$task" && echo "[DONE]: $task" || echo "[FAIL]: $task"
;;
*) fatal "Unrecognized command: $cmd"
;;
esac
}
is_gigabyte()
{
/usr/sbin/dmidecode -s baseboard-manufacturer | grep -q "^Gigabyte Technology"
}
is_std_def_kernel_running()
{
uname -r | grep -q '^[[:digit:]]\+\.[[:digit:]]\+\.[[:digit:]]\+-std-def-'
}
task is_gigabyte
task is_std_def_kernel_running
exit "$global_retval"
/usr/share/alterator/backends/diag-example.backend:
[Alterator Entry]
Type = Backend
Module = executor
Name = diag_example
Interface = diag1
[Info]
execute = cat /usr/share/alterator/diagnostictools/diag-example.diag
stdout_bytes = enabled
stdout_byte_limit = 200000
action_id = Info
[Run]
execute = diag-example {param}
stdout_signal_name = diag_example_stdout_signal
stderr_signal_name = diag_example_stderr_signal
thread_limit = 1
action_id = Run
[List]
execute = diag-example -l
stdout_strings = enabled
stdout_strings_limit = 200000
action_id = List
/usr/share/alterator/diagnostictools/diag-example.diag:
[Alterator Entry] Type = diag Name = Example DisplayName = Diagnostic tool example DisplayName[ru] = Пример инструмента диагностики Comment = Diagnostic tool comment Comment[ru] = Комментарий к диагностическому инструменту Icon = system-run [is_gigabyte] DisplayName = Is motherboard manufacturer — Gigabyte? DisplayName[ru] = Производитель материнской платы — Gigabyte?
Примечание
# systemctl restart alterator-manager.service


Примечание

# ssh-keygen -t ed25519
На запрос о файле для сохранения ключа можно нажать Enter (используется путь по умолчанию). На запрос о пароле для ключа можно также нажать Enter (без установки пароля).
# ssh-copy-id -i ~/.ssh/id_ed25519.pub user@dc2.test.alt
#ssh user@dc2.test.alt[user@dc2 ~]$su -Password: [root@dc2 ~]#cat /home/user/.ssh/authorized_keys >> .ssh/authorized_keys[root@dc2 ~]#exitвыход [user@dc2 ~]$exitвыход Connection to dc2 closed.
alteratorctl);
alteratorctl включает модули: компоненты, редакции, информация о системе, пакеты, диагностика, менеджер системных интерфейсов.
alteratorctl. Веб-интерфейс может быть установлен дополнительно через компоненты: alteratorctl components.
, расположенную на панели задач;
acc.


Примечание


Примечание
$ acc-legacy
$ alteratorctl components status alterator-legacy-web
Компонент: Web-интерфейс - Альтератор (legacy)
Категория: Альтератор (legacy)
Статус: не установлен
Список пакетов, входящих в компонент:
[ ] alterator-fbi
Установка компонента:
# alteratorctl components install alterator-legacy-web
# systemctl enable --now ahttpd.service
https://ip-адрес:8080/.


$ rpm -qa | grep alterator*
Прочие пакеты для ЦУС можно найти, выполнив команду:
$ apt-cache search alterator*
#apt-get install alterator-net-openvpn#apt-get remove alterator-net-openvpn
# systemctl restart ahttpd