Администрирование пользователей и групп
Для администрирования пользователей и групп в домене Inno Samba с помощью утилиты samba-tool используются группы подкоманд user и group.
|
При выполнении операций с помощью групп подкоманд В этом случае для успешного выполнения подкоманды:
|
Управление пользователями
Подкоманда samba-tool user позволяет выполнять следующие операции:
Добавление пользователя
Для добавления учетной записи пользователя в домене Inno Samba используется следующий формат вызова:
samba-tool user add <username> [<password>] [options]
Переданное в команде значение <username> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName). Оно должно быть уникальным.
Учетные записи могут служить для представления в домене как обычных пользователей, так и приложений. Также они являются субъектами безопасности, которым присваиваются идентификаторы безопасности (SID).
Учетная запись позволяет пользователю получать доступ к компьютеру после прохождения процедуры аутентификации. Для обеспечения максимального уровня безопасности каждый пользователь должен иметь уникальную учетную запись и пароль. Доступ к ресурсам домена предоставляется пользователю на основе разрешений и прав, выданных его учетной записи.
К учетной записи могут быть добавлены атрибуты Unix (в соответствии с RFC 2307). На отдельно взятой локальной машине поставщиком данных атрибутов является диспетчер службы имен (NSS). Явно заданные значения переопределяют значения, полученные от NSS. Для использования этих атрибутов для сопоставления UID/GID в конфигурации (smb.conf) должен быть задан параметр idmap_ldp:use rfc2307 = Yes.
Для обеспечения обратной совместимости также поддерживается команда samba-tool user create <username> [<password>] [options], которая является синонимом команды samba-tool user add.
|
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
--must-change-at-next-login— включить принудительную смену пароля при первом входе в домен; -
--random-password— формировать пароль случайным образом; -
--smartcard-required— требовать наличие смарт-карты при входе в интерактивном режиме; -
--use-username-as-cn— включить принудительное использование имени пользователя в качестве общего имени (CN); -
--userou=USEROU— имя (DN) альтернативного расположения (безdomainDN), в котором будет создан пользователь (вместо используемого по умолчаниюCN=Users); -
--surname=SURNAME— фамилия пользователя; -
--given-name=GIVEN_NAME— имя пользователя; -
--initials=INITIALS— инициалы пользователя; -
--profile-path=PROFILE_PATH– путь к профилю пользователя; -
--script-path=SCRIPT_PATH— путь к скрипту, задающему сценарий входа в систему для пользователя; -
--home-drive=HOME_DRIVE— буква диска домашнего каталога для пользователя; -
--home-directory=HOME_DIRECTORY— домашний каталог пользователя; -
--job-title=JOB_TITLE— должность пользователя; -
--department=DEPARTMENT— подразделение, к которому относится пользователь; -
--company=COMPANY— компания, в которой работает пользователь; -
--description=DESCRIPTION— информация о пользователе; -
--mail-address=MAIL_ADDRESS— адрес электронной почты пользователя; -
--internet-address=INTERNET_ADDRESS— URL домашней страницы пользователя; -
--telephone-number=TELEPHONE_NUMBER— номер телефона пользователя; -
--physical-delivery-office=PHYSICAL_DELIVERY_OFFICE— физический адрес офиса пользователя; -
--rfc2307-from-nss— включение копирования атрибутов пользователя Unix из диспетчера службы имен (NSS); значение параметра переопределяется в случае явного задания числового идентификатора пользователя (UID), числового идентификатора основной группы пользователя (GID), информации о пользователе (GECOS) или интерпретатора команд, который должен запускаться при входе пользователя в систему (shell); -
--nis-domain=NIS_DOMAIN— домен службы сетевой информации (NIS) для пользователя (Unix/RFC 2307); -
--unix-home=UNIX_HOME— домашний каталог для пользователя (Unix/RFC 2307); -
--uid=UID— имя пользователя (Unix/RFC 2307); -
--uid-number=UID_NUMBER— уникальный числовой идентификатор пользователя (Unix/RFC 2307); -
--gid-number=GID_NUMBER— числовой идентификатор основной группы пользователя (Unix/RFC 2307); -
--gecos=GECOS— информация о пользователе в поле GECOS (Unix/RFC 2307); -
--login-shell=LOGIN_SHELL— оболочка (shell), которая должна запускаться при входе в систему пользователя (Unix/RFC 2307).
Примеры
Пример добавления в домен нового пользователя с указанием удаленного LDAP-сервера и включением принудительной смены пароля:
samba-tool user add User1 passw0rd --given-name=Ivan --surname=Ivanov --must-change-at-next-login -H ldap://samba.samdom.example.com -U administrator
Пример добавления в домен нового пользователя на локальном сервере с включением принудительной смены пароля:
samba-tool user add User2 passw2rd --given-name=Anton --surname=Antonov --must-change-at-next-login
Пример добавления нового пользователя в подразделение OrgUnit:
samba-tool user add User3 passw3rd --userou='OU=OrgUnit'
Пример добавления нового пользователя с получением значений Unix-атрибутов UID, GID и shell из локального диспетчера сетевой службы (NSS) и заданием в качестве GEGOS значения 'some text':
samba-tool user add User4 passw4rd --rfc2307-from-nss --gecos 'some text'
Пример добавления новой учетной записи в домен с поддержкой расширенных атрибутов в соответствии с RFC 2307 (при задании --nis-domain остальные четыре параметра являются обязательными):
samba-tool user add User5 passw5rd --nis-domain=samdom --unix-home=/home/User5 --uid-number=10005 --login-shell=/bin/bash --gid-number=10000
Добавление атрибутов Unix/RFC 2307 для пользователя
Для добавления учетной записи в домене AD атрибутов Unix в соответствии с RFC 2307 используется следующий формат вызова:
samba-tool user addunixattrs <username> <uid-number> [options]
Переданное в команде значение <username> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName).
Также должен быть передан уникальный числовой идентификатор пользователя в качестве значения для атрибута uidNumber.
Для использования этих атрибутов для сопоставления UID/GID в конфигурации (smb.conf) должен быть задан параметр idmap_ldp:use rfc2307 = Yes.
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
--gid-number=GID_NUMBER— числовой идентификатор основной группы пользователя (Unix/RFC 2307);Если параметр не передается, в качестве
gitNumberдля пользователя устанавливается значение, заданное для группыDomain Users. -
--unix-home=UNIX_HOME— домашний каталог для пользователя (Unix/RFC 2307);Если параметр не передается, в качестве домашнего каталога для пользователя устанавливается каталог
/home/DOMAIN/username. -
--login-shell=LOGIN_SHELL— оболочка (shell), которая должна запускаться при входе в систему пользователя (Unix/RFC 2307);Если параметр не передается, в качестве оболочки для пользователя устанавливается значение
/bin/sh. -
--gecos=GECOS— информация о пользователе в поле GECOS (Unix/RFC 2307);Если значение не передается, в качестве значения для поля GECOS используется общее имя пользователя (CN).
-
--uid=UID— имя пользователя (Unix/RFC 2307).
Примеры
Пример добавления отдельного атрибута в соответствии с RFC 2307 учетной записи в домене:
samba-tool user addunixattrs User1 10001
В результате выполнения команды пользователю будет присвоен Unix ID 10001 (при условии, что он не занят). В качестве gidNumber будет установлено значение, заданное для группы Domain Users.
Пример добавления списка атрибутов в соответствии с RFC 2307учетной записи в домене:
samba-tool user addunixattrs User2 10002 --gid-number=10001 --unix-home=/home/User2
Пример добавления списка атрибутов, включая значение для поля GECOS, в соответствии с RFC 2307 учетной записи в домене:
samba-tool user addunixattrs User3 10003 --gid-number=10001 --login-shell=/bin/false --gecos='User3 test'
Изменение атрибутов пользователя
Для изменения состава и значений атрибутов учетной записи в домене Inno Samba используется следующий формат вызова:
samba-tool user edit <username> [options]
В результате выполнения команды в системном текстовом редакторе или текстовом редакторе, переданном в качестве значения параметра --editor, открывается список атрибутов учетной записи. Редактирование и сохранение внесенных изменений выполняется средствами текстового редактора.
Переданное в команде значение <username> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName).
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
--editor=EDITOR— текстовый редактор, который следует использовать вместо редактора, заданного в системе по умолчанию, либо вместо vi, если в системе не задан редактор по умолчанию.
Примеры
Пример запуска редактирования атрибутов учетной записи в домене с указанием удаленного LDAP-сервера:
samba-tool user edit User1 -H ldap://samba.samdom.example.com -U administrator
Пример запуска редактирования атрибутов учетной записи пользователя в домене на локальном сервере:
samba-tool user edit User2
Пример запуска редактирования атрибутов учетной записи пользователя в домене с использованием редактора nano:
samba-tool user edit User3 --editor=nano
Удаление пользователя
Для удаления существующей учетной записи пользователя в домене Inno Samba используется следующий формат вызова:
samba-tool user delete <username> [options]
Переданное в команде значение <username> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName).
При удалении учетной записи также удаляются все связанные с нею разрешения, права и членства в группах. Если в последствии в домен будет добавлена учетная запись с тем же именем, она не получит разрешения, права или членства удаленной записи, так как ей будет присвоен новый идентификатор безопасности (SID).
Отключение пользователя
Для отключения учетной записи в домене Inno Samba используется следующий формат вызова:
samba-tool user disable (<username>|--filter <filter>) [options]
Переданное в команде значение <username> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName). Также для задания имени пользователя может использоваться параметр --filter.
После выполнения команды пользователь не сможет входить на рабочие станции или серверы в домене с использованием отключенной учетной записи.
Включение пользователя
Для включения учетной записи в домене Inno Samba используется следующий формат вызова:
samba-tool user enable (<username>|--filter <filter>) [options]
Переданное в команде значение <username> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName). Также для задания имени пользователя может использоваться параметр --filter.
Учетная запись может быть отключена, например, по следующим причинам:
-
достигнуто максимальное количество попыток входа, установленное для учетной записи политикой;
-
учетная запись отключена администратором;
-
истек период действия учетной записи.
Команда включения может использоваться администратором как для восстановления доступа отключенной ранее учетной записи к ресурсам домена, так и для включения группы учетных записей, созданных с разрешениями по умолчанию.
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
--filter=FILTER— LDAP-фильтр для поиска объектов в AD.
Примеры
Пример включения учетной записи с указанием удаленного LDAP-сервера:
samba-tool user enable User1 --URL=ldap://samba.samdom.example.com
Пример включения учетной записи в домене на локальном сервере:
samba-tool user enable User2
Пример включения учетной записи в домене на локальном сервере с указанием имени пользователя с помощью параметра --filter=samaccountname:
samba-tool user enable --filter=samaccountname=User3
Получение списка всех пользователей
Для получения полного списка учетных записей в домене Inno Samba используется следующий формат вызова:
samba-tool user list [options]
По умолчанию выводится список имен учетных записей SAM (sAMAccountName).
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
--full-dn— выводить в списке вместо имен учетных записей SAM (sAMAccountName) уникальные составные имена (Distinguished Name, DN); -
-b BASE_DN|--base-dn=BASE_DN— выводить в списке только пользователей с указанным базовым уникальным именем (DN); -
--hide-expired— не выводить в списке учетные записи с истекшим периодом действия; -
--hide-disabled— не выводить в списке отключенные учетные записи.
Задание основной группы для пользователя
Для задания основной группы для учетной записи в домене Inno Samba используется следующий формат вызова:
samba-tool user setprimarygroup <username> <primarygroupname> [options]
Переданные в команде значения <username> и <primarygroupname> интерпретируется как имя учетной записи и имя группы SAM (значение атрибута sAMaccountName).
Получение списка групп пользователя
Для получения списка групп, членом которых является учетная запись пользователя в домене Inno Samba, используется следующий формат вызова:
samba-tool user getgroups <username> [options]
Переданное в команде значение <username> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName).
Получение атрибутов пользователя
Для получения атрибутов учетной записи в домене Inno Samba используется следующий формат вызова:
samba-tool user show <username> [options]
Переданное в команде значение <username> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName).
В параметре --attributes может передаваться список атрибутов (через запятую), значения которых требуется отобразить. Если параметр --attributes не задан или задан в формате --attributes=*, выводятся все доступные атрибуты учетной записи.
В дополнение к доступным атрибутам могут выводиться скрытые атрибуты. Для этого достаточно явно указать их имя в параметре --attributes наряду с *. Например: --attributes=*,msDS-UserPasswordExpiryTimeComputed.
Если запрошенный в параметре --attributes атрибут отсутствует у указанной учетной записи, он опускается в выводе.
Для атрибутов, содержащих в качестве своего значения дату и/или время, может дополнительно указываться формат вывода: --attributes=attributeName;format=formatSpecifier. Доступны следующие форматы:
-
GeneralizedTime— синтаксис общего времени в форматеГГГГММДДЧЧммСС[.|,доли][(+|-ЧЧмм)|Z](например:20230529113259.0Z); -
UnixTime— Unix-время (например:1685444624); -
TimeSpec— системное время с точностью до наносекунд (например:168544462.267546892).
Атрибуты со значением NTTIME, равным 0 и 9223372036854775807, интерпретируются как несуществующие.
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
--attributes=USER_ATTRS— список атрибутов (через запятую), которые требуется вывести; поддерживаются следующие виртуальные атрибуты:virtualGeneralizedTime,virtualUnixTime,virtualTimeSpec.
Примеры
Пример получения атрибутов пользователя в домене с указанием удаленного LDAP-сервера:
samba-tool user show User1 -H ldap://samba.samdom.example.com - U administrator
Пример получения атрибутов пользователя в домене на локальном сервере:
samba-tool user show User2
Пример получения значений атрибутов objectSid и memberOf пользователя:
samba-tool user show User3 --attributes=objectSid,memberOf
Пример получения значения атрибута pwdLastSet пользователя в форматах времени GeneralizedTime и UnixTime:
samba-tool user show User4 --attributes='pwdLastSet;format=GeneralizedTime,pwdLastSet;format=UnixTime'
Перемещение пользователя в подразделение/контейнер
Для перемещения учетной записи пользователя в домене Inno Samba в указанное подразделение (OU) или контейнер используется следующий формат вызова:
samba-tool user move <username> <new_parent_dn> [options]
Переданное в команде значение <username> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName).
Имя подразделения или контейнера может указываться в формате полного уникального составного имени (DN) или без компонента domainDN.
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта.
Примеры
Пример перемещения пользователя в подразделение OrgUnit с указанием удаленного LDAP-сервера:
samba-tool user move User1 'OU=OrgUnit,DC=samdom,DC=example,DC=com' -H ldap://samba.samdom.example.com -U administrator
Пример перемещения пользователя обратно в контейнер CN=Users на локальном сервере:
samba-tool user move User1 CN=Users
Изменение пароля пользователя
Для изменения пароля текущей учетной записи (пользователя, прошедшего аутентификацию) в домене Inno Samba используется следующий формат вызова:
samba-tool user password [options]
Изменение имени пользователя и связанных атрибутов
Для изменения имени учетной записи пользователя в домене Inno Samba и связанных с ним атрибутов (given-name, surname, initials) используется следующий формат вызова:
samba-tool user rename <username> [options]
Новое общее имя пользователя (CN) будет составлено путем комбинирования значений параметров given-name, initials и surname. При необходимости к инициалам будет автоматически добавлена точка ('.'). Используйте опцию --force-new-cn для задания нового значения CN вручную и опцию --reset-cn для отмены этого изменения.
Для удаления указанного атрибута задайте в нем пустое значение.
Переданное в команде значение <username> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName).
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
--surname=SURNAME— новое значение фамилии; -
--given-name=GIVEN_NAME— новое значение имени; -
--initials=INITIALS— новое значение инициалов; -
--force-new-cn=NEW_CN— новое значение CN (RND) для использования вместо комбинации значений атрибутовgiven-name,initialsиsurname; -
--reset-cn— использовать в качестве значения CN комбинацию значений атрибутовgiven-name,initialsиsurname; используйте данную опцию для отмены изменений, внесенных с помощью опции--force-new-cn; -
--display-name=DISPLAY_NAME— новое отображаемое имя; -
--mail-address=MAIL_ADDRESS— новое значение для адреса электронной почты; -
--samaccountname=SAMACCOUNTNAME— новое значение для имени учетной записи SAM (значение атрибутаsAMAccountName/ имя для входа в систему); -
--upn=UPN— новое значение для имени пользователя в формате адреса электронной почты.
Примеры
Пример изменения фамилии пользователя на локальном сервере:
samba-tool user rename ivanivanov --surname='Petrov'
В результате выполнения команды будет автоматически обновлено значение CN пользователя на основе значений атрибутов given-name, initials и surname.
Пример изменения значения CN для пользователя с указанием удаленного LDAP-сервера:
samba-tool user rename ivanivanov --force-new-cn='Ivan Petrov (Sales)' --surname=Petrov -H ldap://samba.samdom.example.com -U administrator
Задание периода действия учетной записи пользователя
Для задания времени окончания периода действия учетной записи пользователя в домене Inno Samba используется следующий формат вызова:
samba-tool user setexpiry (<username>|--filter <filter>) [options]
Переданное в команде значение <username> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName). Также для задания имени пользователя может использоваться параметр --filter.
По истечении заданного периода учетная запись отключается; пользователь не может получать доступ к ресурсам домена. После этого администратор может восстановить доступ пользователя к ресурсам с помощью команды samba-tool user enable. При этом сохраняются связанные с учетной записью разрешения, права и членства.
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
--filter=FILTER— LDAP-фильтр для поиска объектов в AD; -
--days=DAYS— продолжительность периода в днях; -
--noexpiry— период действия неограничен.
Примеры
Пример задания 20-дневного периода действия (начиная с текущей даты) для учетной записи пользователя с указанием удаленного LDAP-сервера:
samba-tool user setexpiry User1 --days=20 --URL=ldap://samba.samdom.example.com --username=administrator
Пример задания неограниченного периода действия для учетной записи пользователя на локальном сервере:
samba-tool user setexpiry User2 --noexpiry
Пример задания 20-дневного периода действия для учетной записи с указанием имени пользователя с помощью параметра --filter:
samba-tool user setexpiry --days=20 --filter=samaccountname=User3
Пример задания неограниченного периода действия для учетной записи пользователя с указанием в качестве имени значения атрибута sAMAccountName:
samba-tool user setexpiry --noexpiry User4
Задание/сброс пароля пользователя
Для задания или сброса пароля учетной записи пользователя в домене Inno Samba используется следующий формат вызова:
samba-tool user setpassword (<username>|--filter <filter>) [options]
Переданное в команде значение <username> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName). Также для задания имени пользователя может использоваться параметр --filter.
Если пароль не передается в открытом виде в значении параметра --newpassword, пользователь получит запрос на ввод пароля в командной строке.
Для включения принудительной смены пароля при первом входе пользователя в домене может передаваться опция --must-change-at-next-login.
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
--filter=FILTER— LDAP-фильтр для поиска объектов в AD; -
--newpassword=NEWPASSWORD— новый пароль; -
--must-change-at-next-login— включить принудительную смену пароля при первом входе в домен; -
--random-password— формировать пароль случайным образом; -
--smartcard-required— требовать наличие смарт-карты при входе в интерактивном режиме; -
--smartcard-required— не требовать наличие смарт-карты при входе в интерактивном режиме.
Примеры
Пример задания пароля для пользователя с указанием удаленного LDAP-сервера:
samba-tool user setpassword User1 --newpassword=passw0rd --URL=ldap://samba.samdom.example.com -U administrator
Пример сброса администратором пароля пользователя с включением принудительной смены пароля при первом входе:
samba-tool user setpassword User2 --newpassword=passw0rd --must-change-at-next-login
Пример сброса администратором пароля пользователя с указанием имени пользователя с помощью параметра --filter:
samba-tool user setpassword --filter=samaccountname=User3 --newpassword=passw0rd
Получение пароля пользователя
Для получения значений связанных с паролем полей учетной записи пользователя в домене Inno Samba используется следующий формат вызова:
samba-tool user getpassword (<username>|--filter <filter>) [options]
Команда позволяет получить пароль, используемый для доступа к ресурсам домена пользователем или компьютером.
Переданное в команде значение <username> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName). Также для задания имени пользователя может использоваться параметр --filter.
Параметр --attributes принимает в качестве значения список атрибутов (через запятую), которые должны быть выведены или переданы скрипту, заданному в параметре --script. Если переданный атрибут отсутствует среди атрибутов запрашиваемого объекта, он пропускается. В параметре могут передаваться любые атрибуты, заданные в схеме каталога, а также следующие виртуальные атрибуты (для получения полного списка поддерживаемых виртуальных атрибутов используйте --help):
-
virtualClearTextUTF16— незашифрованный текст в том виде, в каком он хранится в буфереPrimary:CLEARTEXT(илиPrimary:SambaGPGс опцией--decrypt-samba-gpg) внутри атрибутаsupplementalCredentials; как правило, атрибут содержит валидное байтовое представление символов Unicode в UTF-16 LE, но также может содержать случайные байты, например, для учетных записей компьютеров; -
virtualClearTextUTF8— аналогичноvirtualClearTextUTF16, но с преобразованием в UTF-8 (только из валидного значения в UTF-16 LE); -
virtualSSHA— аналогичноvirtualClearTextUTF8, но с вычислением контрольной суммы с использованием функции хеширования SHA-1 с солью; может использоваться для алгоритма SSHA в OpenLDAP; -
virtualCryptSHA256— аналогичноvirtualClearTextUTF8, но с вычислением контрольной суммы с использованием функции хеширования SHA256 с солью; может использоваться для алгоритма CRYPT в OpenLDAP;Также может быть указано количество циклов расчета хеша. Для этого к атрибуту добавляется дополнительный параметр
;rounds=x. Например, если задать значение атрибутаvirtualCryptSHA256;rounds=10000, будет выполнено 10000 циклов расчета хеша с использованием функции SHA256. Если для параметраroundзадано нечисловое значение, оно игнорируется.Расчет выполняется следующим образом:
-
Если в
Primary:userPasswordсуществует значение с указанным количеством циклов, возвращается оно. -
Если существует значение
Primary:CLEARTEXTилиPrimary:SambaGPGс ключом--decrypt-samba-gpg, рассчитывается хеш с указанным количеством циклов. -
Возвращается первое значение
CryptSHA256вPrimary:userPassword.
-
-
virtualCryptSHA512— аналогичноvirtualClearTextUTF8, но с вычислением контрольной суммы с использованием функции хеширования SHA512 с солью, начинающейся с$6$; может использоваться для алгоритма CRYPT в OpenLDAP;Также может быть указано количество циклов расчета хеша. Для этого к атрибуту добавляется дополнительный параметр
;rounds=x. Например, если задать значение атрибутаvirtualCryptSHA512;rounds=10000, будет выполнено 10000 циклов расчета хеша с использованием функции SHA512. Если для параметраroundзадано нечисловое значение, оно игнорируется.Расчет выполняется следующим образом:
-
Если в
Primary:userPasswordсуществует значение с указанным количеством циклов, возвращается оно. -
Если существует значение
Primary:CLEARTEXTилиPrimary:SambaGPGс ключом--decrypt-samba-gpg, рассчитывается хеш с указанным количеством циклов. -
Возвращается первое значение
CryptSHA512вPrimary:userPassword.
-
-
virtualWDigestNN— отдельное значение хеша, хранящееся вPrimary:WDigest, гдеNN— хеш-число в диапазоне от 01 до 29; -
virtualKerberosSalt— строковая соль, используемая для вычисления ключей Kerberos на основе незашифрованного пароля в UTF-8; -
virtualSambaGPG— незашифрованный текст в том виде, в каком он хранится в буфереPrimary:SambaGPGвнутри атрибутаsupplementalCredentials(см. описание опцииpassword hash gpg key idsв файле smb.conf).
При задании опции --decrypt-samba-gpg выполняется дешифрование содержимого буфера Primary:SambaGPG. Перед использованием следует убедиться, что данная возможность доступна, с помощью опции --help (требуется пакет python-gpgme). Также может потребоваться задать переменную окружения GNUPGHOME. Если у ключа дешифрования есть парольная фраза, необходимо убедиться, что корректно задана переменная окружения GPG_AGENT_INFO и gpg-agent имеет доступ к парольной фразе.
Для атрибутов, содержащих в качестве своего значения дату и/или время, может дополнительно указываться формат вывода: --attributes=attributeName;format=formatSpecifier. Доступны следующие форматы:
-
GeneralizedTime— синтаксис общего времени в форматеГГГГММДДЧЧммСС[.|,доли][(+|-ЧЧмм)|Z](например:20230529113259.0Z); -
UnixTime— Unix-время (например:1685444624); -
TimeSpec— системное время с точностью до наносекунд (например:168544462.267546892).
Атрибуты со значением NTTIME, равным 0 или 9223372036854775807, интерпретируются как несуществующие.
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
--filter=FILTER— LDAP-фильтр для поиска объектов в AD; -
--attributes=ATTRIBUTE_LIST— атрибуты, которые требуется вывести (через запятую); поддерживаются следующие виртуальные атрибуты:virtualClearTextUTF16,virtualClearTextUTF8,virtualCryptSHA256,virtualCryptSHA512,virtualKerberosSalt,virtualSSHA,virtualSambaGPG,virtualDigest01..29; -
--decrypt-samba-gpg— дешифровать парольSambaGPG.
Примеры
Пример получения пароля для пользователя:
samba-tool user getpassword User1 --attributes=pwdLastSet,virtualClearTextUTF8
Пример получения пароля с указанием имени пользователя с помощью параметра --filter:
samba-tool user getpassword --filter=samaccountname=User2 --attributes=msDS-KeyVersionNumber,unicodePwd,virtualClearTextUTF16
Синхронизация паролей
Для синхронизации паролей учетных записей в домене Inno Samba используется следующий формат вызова:
samba-tool user syncpasswords [--cache-ldb-initialize] [options]
Данная команда обеспечивает синхронизацию паролей, используемых учетными записями для доступа к ресурсам в домене.
Достаточно запустить команду на одном контроллере домена. Однако для успешного ее выполнения на всех контроллерах домена должна быть настроена опция password has gpg key ids.
Команда поддерживает три режима выполнения:
Инициализация кэша (Cache Initialization)
В первый раз команда должна выполняться с параметром, обеспечивающим инициализацию кэша: --cache-ldb-initialize.
Для корректной инициализации кэша требуется передать список атрибутов в параметре --attributes. Также доступны опции --decrypt-samba-gpg, --script, --filter и -H/--URL.
Параметр --attributes принимает в качестве значения список атрибутов (через запятую), которые должны быть выведены или переданы скрипту, заданному в параметре --script. Если переданный атрибут отсутствует среди атрибутов запрашиваемого объекта, он пропускается. В параметре могут передаваться любые атрибуты, заданные в схеме каталога, а также следующие виртуальные атрибуты (для получения полного списка поддерживаемых виртуальных атрибутов используйте --help):
-
virtualClearTextUTF16— незашифрованный текст в том виде, в каком он хранится в буфереPrimary:CLEARTEXT(илиPrimary:SambaGPGс опцией--decrypt-samba-gpg) внутри атрибутаsupplementalCredentials; как правило, атрибут содержит валидное байтовое представление символов Unicode в UTF-16 LE, но также может содержать случайные байты, например, для учетных записей компьютеров; -
virtualClearTextUTF8— аналогичноvirtualClearTextUTF16, но с преобразованием в UTF-8 (только из валидного значения в UTF-16 LE); -
virtualSSHA— аналогичноvirtualClearTextUTF8, но с вычислением контрольной суммы с использованием функции хеширования SHA-1 с солью; может использоваться для алгоритма SSHA в OpenLDAP; -
virtualCryptSHA256— аналогичноvirtualClearTextUTF8, но с вычислением контрольной суммы с использованием функции хеширования SHA256 с солью; может использоваться для алгоритма CRYPT в OpenLDAP;Также может быть указано количество циклов расчета хеша. Для этого к атрибуту добавляется дополнительный параметр
;rounds=x. Например, если задать значение атрибутаvirtualCryptSHA256;rounds=10000, будет выполнено 10000 циклов расчета хеша с использованием функции SHA256. Если для параметраroundзадано нечисловое значение, оно игнорируется.Расчет выполняется следующим образом:
-
Если в
Primary:userPasswordсуществует значение с указанным количеством циклов, возвращается оно. -
Если существует значение
Primary:CLEARTEXTилиPrimary:SambaGPGс ключом--decrypt-samba-gpg, рассчитывается хеш с указанным количеством циклов. -
Возвращается первое значение
CryptSHA256вPrimary:userPassword.
-
-
virtualCryptSHA512— аналогичноvirtualClearTextUTF8, но с вычислением контрольной суммы с использованием функции хеширования SHA512 с солью, начинающейся с$6$; может использоваться для алгоритма CRYPT в OpenLDAP;Также может быть указано количество циклов расчета хеша. Для этого к атрибуту добавляется дополнительный параметр
;rounds=x. Например, если задать значение атрибутаvirtualCryptSHA512;rounds=10000, будет выполнено 10000 циклов расчета хеша с использованием функции SHA512. Если для параметраroundзадано нечисловое значение, оно игнорируется.Расчет выполняется следующим образом:
-
Если в
Primary:userPasswordсуществует значение с указанным количеством циклов, возвращается оно. -
Если существует значение
Primary:CLEARTEXTилиPrimary:SambaGPGс ключом--decrypt-samba-gpg, рассчитывается хеш с указанным количеством циклов. -
Возвращается первое значение
CryptSHA512вPrimary:userPassword.
-
-
virtualWDigestNN— отдельное значение хеша, хранящееся вPrimary:WDigest, гдеNN— хеш-число в диапазоне от 01 до 29; -
virtualKerberosSalt— строковая соль, используемая для вычисления ключей Kerberos на основе незашифрованного пароля в UTF-8; -
virtualSambaGPG— незашифрованный текст в том виде, в каком он хранится в буфереPrimary:SambaGPGвнутри атрибутаsupplementalCredentials(см. описание опцииpassword hash gpg key idsв файле smb.conf).
При задании опции --decrypt-samba-gpg выполняется дешифрование содержимого буфера Primary:SambaGPG. Перед использованием следует убедиться, что данная возможность доступна, с помощью опции --help (требуется пакет python-gpgme). Также может потребоваться задать переменную окружения GNUPGHOME. Если у ключа дешифрования есть парольная фраза, необходимо убедиться, что корректно задана переменная окружения GPG_AGENT_INFO и gpg-agent имеет доступ к парольной фразе.
С помощью опции --script может быть задан пользовательский скрипт, который будет вызываться при каждом изменении атрибутов dirSyncAttributes (см. список атрибутов ниже). Скрипт вызывается без каких-либо аргументов. Он получает данные в формате LDIF ровно для одного объекта из stdin. В случае успешного завершения обработки объекта, скрипт должен вернуть ответ в виде одной строки, начинающейся со слов DONE-EXIT: и содержащей произвольное сообщение.
Следует учитывать, что скрипт может вызываться, в том числе, и в случаях, не связанных с изменением пароля. Например — при отключении учетной записи (изменение userAccountControl) или изменении sAMAccountName. В качестве уникального идентификатора учетной записи всегда возвращаются значения атрибутов objectGUID, isDeleted и isRecycled. Также может быть полезным запросить атрибуты, не связанные с паролем, включая, например, атрибуты objectSid, sAMAccountName, userPrincipalName, userAccountControl, pwdLastSet и msDS-KeyVersionNumber. В зависимости от особенностей конкретного объекта те или иные атрибуты могут отсутствовать либо быть недоступны.
Если опция --script не передается, данные в формате LDIF выводятся в stdout или в лог-файл.
По умолчанию при поиске по LDAP_SERVER_DIRSYNC_OID применяется следующий фильтр:
(&(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=512)(!(sAMAccountName=krbtg*))
Таким образом, в процессе мониторинга учитываются только обычные (non-krbtgt) учетные записи пользователей. Если требуется изменить данное поведение (например, чтобы выполнять синхронизацию также и для учетных записей компьютеров), следует задать соответствующее значение фильтра с помощью параметра --filter.
Запуск циклической синхронизации (Sync Loop Run)
В данном режиме, который используется по умолчанию, запускается бесконечный цикл ожидания связанных с паролями изменений в базе данных службы каталогов Active Directory. Для эффективного контроля изменений используются элементы LDAP_SERVER_DIRSYNC_OID и LDAP_SERVER_NOTIFICATION_OID.
В процессе мониторинга учитываются изменения значений следующих атрибутов (dirSyncAttributes) объектов: unicodePwd, dBCSPwd, supplementalCredentials, pwdLastSet, sAMAccountName, userPrincipalName, userAccountControl.
В случае обрыва соединения с LDAP-сервером процесс синхронизации возобновляется после восстановления соединения и обеспечивает обновление кэша в консервативном режиме (пошагово, при каждой успешной обработке изменения).
При возникновении ошибки в работе скрипта, заданного в параметре --script, процесс синхронизации прекращается. При этом кэш будет сохранять корректное состояние. Работа с ним будет возобновлена при следующем запуске команды в режиме Sync Loop Run.
С помощью опции --logfile может быть указан опциональный лог-файл (использование опции является обязательным при запуске в режиме --daemon), в котором будут сохраняться все выводимые командой данные. Лог-файл автоматически открывается, если fstat возвращает st_nlink == 0.
Опция --daemon позволяет запустить команду в фоновом режиме. Для остановки команды в этом случае используется стандартное сочетание клавиш CTRL+C.
При задании опции --no-wait команда будет пропускать шаг ожидания LDAP_SERVER_NOTIFICATION_OID и прекращать работу сразу после получения всех изменений по LDAP_SERVER_DIRSYNC_OID.
Остановка циклической синхронизации (Sync Loop Terminate)
Для остановки ранее запущенной команды циклической синхронизации (в том числе работающей в режиме демона) может использоваться опция --terminate. При ее использовании также требуется указать опцию --logfile.
Параметры
Параметры вызова:
-
--cache-ldb-initialize— первоначальная инициализация кэша; -
--cache-ldb=CACHE_LDB_PATH— адрес (URL) размещения файла кэша (user-syncpasswords-cache.ldb); -
-H URL|--URL=URL— адрес LDB; -
--filter=FILTER— LDAP-фильтр для поиска объектов в AD; -
--attributes=ATTRIBUTE_LIST— атрибуты, которые требуется вывести (через запятую); поддерживаются следующие виртуальные атрибуты:virtualClearTextUTF16,virtualClearTextUTF8,virtualCryptSHA256,virtualCryptSHA512,virtualKerberosSalt,virtualSSHA,virtualSambaGPG,virtualDigest01..29; -
--decrypt-samba-gpg— дешифровать парольSambaGPG; -
--script=/path/to/syncpasswords.script— скрипт, который должен вызываться при каждом изменении пароля; -
--no-wait— пропускать шаг ожидания изменений; -
--logfile=/path/to/syncpasswords.log— лог-файл (параметр является обязательным при запуске команды в режиме--daemon); -
--daemon— перейти в режим демона после первоначальной настройки; -
--terminate— послать сигнал SIGTERM работающему процессу (демону).
Примеры
Пример последовательности команд для инициализации и запуска процесса синхронизации:
samba-tool user syncpasswords --cache-ldb-initialize --attributes=virtualClearTextUTF8
samba-tool user syncpasswords
Пример последовательности команд для инициализации, запуска и остановки процесса синхронизации:
samba-tool user syncpasswords --cache-ldb-initialize \
--attributes=objectGUID,objectSID,sAMAccountName,\
userPrincipalName,userAccountControl,pwdLastSet,\
msDS-KeyVersionNumber,virtualCryptSHA512 \
--script=/path/to/my-custom-syncpasswords-script.py
samba-tool user syncpasswords --daemon \
--logfile=/var/log/samba/user-syncpasswords.log
samba-tool user syncpasswords --terminate \
--logfile=/var/log/samba/user-syncpasswords.log
Разблокировка пользователя
Для разблокировки учетной записи пользователя в домене Inno Samba используется следующий формат вызова:
samba-tool user unlock (<username>|--filter <filter>) [options]
Переданное в команде значение <username> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName). Также для задания имени пользователя может использоваться параметр --filter.
Управление группами
Подкоманда samba-tool group позволяет выполнять следующие операции:
Добавление группы
Для создания новой группы в домене Inno Samba используется следующий формат вызова:
samba-tool group add <groupname> [options]
Переданное в команде значение <groupname> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName). Оно должно быть уникальным.
В группу могут входить учетные записи пользователей и компьютеров, а также другие группы. Такое объединение объектов в рамках одной сущности упрощает работу с ними, включая выполнение задач по управлению безопасностью и системному администрированию.
Также группы могут использоваться для создания списков рассылки (группы рассылки). Для этого при вызове команды должна быть передана опция --group-type=Distribution.
В доменах группы располагаются в подразделениях (OU). Область действия (scope) группы определяет место группы в дереве доменов или лесу.
При создании группы с помощью команды samba-tool group add могут быть заданы ее расположение (OU), тип (группа безопасности или группа рассылки) и область действия.
Поддерживается работа с группой безопасности «Защищенные пользователи». Для ее создания необходимо добавить группу с именем Protected Users с указанием опции --special.
| Группа «Защищенные пользователи» доступна только при функциональном уровне домена Windows Server 2012 R2. |
В данную группу должны включаться только учетные записи пользователей.
После добавления в группу в отношении учетной записи начинают действовать следующие ограничения:
-
недоступна аутентификация по протоколу NTLM;
-
пользователю не выдаются и от пользователя не принимаются TGT-билеты Kerberos с использованием алгоритма шифрования RC4 (используется алгоритм AES);
-
максимальный период действия TGT-билета — 4 часа;
-
недоступно неограниченное и ограниченное делегирование Kerberos.
Для обеспечения обратной совместимости также поддерживается команда samba-tool group create <groupname> [<password>] [options], которая является синонимом команды samba-tool group add.
|
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
--groupou=GROUPOU— альтернативное расположение (безdomainDN) по умолчанию дляCN=Users; будет использоваться по умолчанию при создании новых учетных записей пользователей; -
--group-scope=GROUP_SCOPE— область действия; возможные значения:Domain | Global | Universal; -
--group-type=GROUP_TYPE— тип группы; возможные значения:Security |Distribution; -
--description=DESCRIPTION— описание группы; -
--mail-address=MAIL_ADDRESS— адрес электронной почты группы; -
--notes=NOTES— дополнительная информация о группе; -
--gid-number=GID_NUMBER— числовой идентификатор группы Unix/RFC 2307; -
--nis-domain=NIS_DOMAIN— домен NIS; -
--special— параметр может использоваться для создания группы безопасности с именемProtected Users.
Примеры
Пример добавления новой группы в контейнер Users с указанием удаленного LDAP-сервера:
samba-tool group add Group1 -H ldap://samba.samdom.example.com --description='Simple group'
Пример добавления новой группы рассылки на локальном сервере:
samba-tool group add Group2 --group-type=Distribution
Пример добавления новой группы в соответствии с RFC 2307 в домен NIS samdom с GID 12345:
samba-tool group add Group3 --nis-domain=samdom --gid-number=12345
Пример добавления группы безопасности «Защищенные пользователи» с указанием удаленного LDAP-сервера:
samba-tool group add 'Protected Users' --special -H ldap://samba.samdom.example.com -U administrator
Пример добавления группы безопасности «Защищенные пользователи» на локальном сервере:
samba-tool group add 'Protected Users' --special
Добавление атрибутов Unix/RFC 2307 для группы
Для добавления для группы в домене Inno Samba атрибутов в соответствии с RFC 2307 используется следующий формат вызова:
samba-tool group addunixattrs <groupname> <gidnumber> [options]
Переданное в команде значение <groupname> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName).
Для использования этих атрибутов для сопоставления UID/GID в конфигурации (smb.conf) должен быть задан параметр idmap_ldp:use rfc2307 = Yes.
Изменение атрибутов группы
Для изменения состава и значений атрибутов группы в домене Inno Samba используется следующий формат вызова:
samba-tool group edit <groupname> [options]
В результате выполнения команды в системном текстовом редакторе или текстовом редакторе, переданном в качестве значения параметра --editor, открывается список атрибутов группы. Редактирование и сохранение внесенных изменений выполняется средствами текстового редактора.
Переданное в команде значение <groupname> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName).
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
--editor=EDITOR— текстовый редактор, который следует использовать вместо редактора, заданного в системе по умолчанию, либо вместо vi, если в системе не задан редактор по умолчанию.
Примеры
Пример запуска редактирования атрибутов группы в домене с указанием удаленного LDAP-сервера:
samba-tool group edit Group1 -H ldap://samba.samdom.example.com -U administrator
Пример запуска редактирования атрибутов группы в домене на локальном сервере:
samba-tool group edit Group2
Пример запуска редактирования атрибутов группы в домене с использованием редактора nano:
samba-tool group edit Group3 --editor=nano
Удаление группы
Для удаления существующей группы в домене Inno Samba используется следующий формат вызова:
samba-tool group delete <groupname> [options]
Переданное в команде значение <groupname> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName).
Операция удаления является необратимой.
При удалении группы также удаляются все связанные с нею разрешения и права, а также унаследованные от нее разрешения и права участников.
Перемещение группы
Для перемещения группы в подразделение (OU) или контейнер в домене Inno Samba используется следующий формат вызова:
group move <groupname> <new_parent_dn> [options]
Переданное в команде значение <groupname> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName).
Имя подразделения (OU) или контейнера может указываться в формате полного уникального имени (DN) либо без части domainDN.
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта.
Примеры
Пример перемещения группы в подразделение OrgUnit с указанием удаленного LDAP-сервера:
samba-tool group move Group1 'OU=OrgUnit,DC=samdom,DC=example,DC=com` -H ldap://samba.samdom.example.com -U administrator
Пример перемещения группы назад в контейнер CN=Users на локальном сервере:
samba-tool group move Group1 CN=Users
Изменение имени группы и связанных атрибутов
Для изменения имени группы в домене Inno Samba и связанных с нею атрибутов (mail-address, samaccountname) используется следующий формат вызова:
samba-tool group rename <groupname> [options]
В результате выполнения операции будет автоматически изменено общее имя группы (CN). Используйте опцию --force-new-cn для задания нового значения CN вручную и опцию --reset-cn для отмены этого изменения.
Для удаления указанного атрибута задайте в нем пустое значение.
Переданное в команде значение <groupname> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName).
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
--mail-address=MAIL_ADDRESS— новое значение адреса электронной почты; -
--samaccountname=SAMACCOUNTNAME— новое значение имени (значение атрибутаsAMAccountName/ имя, используемое для входа); -
--force-new-cn=NEW_CN— новое значение CN (RND) для использования вместоsAMAccountName; -
--reset-cn— использовать в качестве значения CN имяsAMAccountName; используйте данную опцию для сброса изменений, внесенных с помощью опции--force-new-cn.
Примеры
Пример изменения имени группы:
samba-tool group rename employees --samaccountname=staff
В результате выполнения операции значения sAMAccountName и CN (если текущее значение CN также равно значению sAMAccountName) группы будут заменены значением staff.
Пример изменения адреса электронной почты группы с указанием удаленного LDAP-сервера:
samba-tool group rename employees --mail-address='staff@company.com' -H ldap://samba.samdom.example.com -U administrator
Получение списка всех групп
Для получения полного списка групп в домене Inno Samba используется следующий формат вызова:
samba-tool group list [options]
По умолчанию выводится список имен учетных записей SAM (sAMAccountName).
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
--full-dn— выводить в списке вместо имен учетных записей SAM (sAMAccountName) уникальные имена (Distinguished Name, DN); -
-b BASE_DN|--base-dn=BASE_DN— выводить в списке только группы с указанным базовым уникальным именем (DN).
Получение списка участников группы
Для получения списка участников группы в домене Inno Samba используется следующий формат вызова:
samba-tool group listmembers <groupname> [options]
При вызове команды может указываться только одна группа.
Переданное в команде значение <groupname> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName).
По умолчанию в результате выполнения команды выводится список имен учетных записей SAM (sAMAccountNames). При отсутствии sAMAccountName выводятся общие имена (CN).
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
--full-dn— выводить в списке вместо имен учетных записей SAM (sAMAccountName) уникальные имена (Distinguished Name, DN); -
--hide-expired— не выводить в списке учетные записи с истекшим периодом действия; -
--hide-disabled— не выводить в списке отключенные учетные записи.
Добавление в группу участников
Для добавления участников в существующую группу в домене Inno Samba используется следующий формат вызова:
samba-tool group addmembers <groupname> (<listofmembers>|--member-dn=<member-dn>) [options]
Переданное в команде значение <groupname> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName).
Команда позволяет добавить в группу одного или нескольких участников (через запятую). В качестве участника группы может выступать учетная запись пользователя, учетная запись компьютера или другая группа, существующая в домене.
При добавлении в группу участник может наследовать имеющиеся у группы разрешения и права. В этом случае любые изменения в составе и объеме разрешений и прав группы будут автоматически отражаться на разрешениях и правах участника через механизм наследования.
В качестве имен участников должны указываться имена учетных записей SAM (sAMAaccountName).
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
--member-dn=MEMBER_DN— уникальное составное имя (DN) добавляемого в группу нового участника; значение опции--object-typesигнорируется; -
--object-types=OBJECT_TYPES— список типов объектов (через запятую); указанные типы используются в качестве фильтра при выполнении поиска для указанных в команде участников; возможные значения:user,group,computer,serviceaccount,contact,all; значение по умолчанию —user,group,computer; -
--member-base=MEMBER_BASE_DN— базовое уникальное имя (DN) для поиска участников группы; значение по умолчанию — уникальное имя (DN) домена.
Примеры
Пример добавления в группу двух других групп и учетной записи пользователя с указанием удаленного LDAP-сервера:
samba-tool group addmembers supergroup Group1,Group2,User1 -H ldap://samba.samdom.example.com -U administrator
Пример добавление в группу одной учетной записи пользователя на локальном сервере:
samba-tool group addmembers supergroup User2
Удаление участников из группы
Для удаления участников из группы в домене Inno Samba используется следующий формат вызова:
samba-tool group removemembers <groupname> (<listofmembers>|--member-dn=<member-dn>) [options]
Переданное в команде значение <groupname> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName).
Команда позволяет удалить из группы одного или нескольких участников (через запятую). В качестве участника группы может выступать учетная запись пользователя, учетная запись компьютера или другая группа, существующая в домене.
При удалении из группы участник теряет все унаследованные от нее разрешения и права.
В качестве имен участников должны указываться имена учетных записей SAM (sAMAaccountName).
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
--member-dn=MEMBER_DN— уникальное составное имя (DN) удаляемого из группы участника; значение опции--object-typesигнорируется; -
--object-types=OBJECT_TYPES— список типов объектов (через запятую); указанные типы используются в качестве фильтра при выполнении поиска для указанных в команде участников; возможные значения:user,group,computer,serviceaccount,contact,all; значение по умолчанию —user,group,computer; -
--member-base=MEMBER_BASE_DN— базовое уникальное имя (DN) для поиска участников группы; значение по умолчанию — уникальное имя (DN) домена.
Примеры
Пример удаления из группы входящей в ее состав другой группы с указанием удаленного LDAP-сервера:
samba-tool group removemembers supergroup Group1 -H ldap://samba.samdom.example.com -U administrator
Пример удаления из группы одной учетной записи пользователя на локальном сервере:
samba-tool group removemembers supergroup User1
Получение атрибутов группы
Для получения атрибутов группы в домене Inno Samba используется следующий формат вызова:
samba-tool group show <groupname> [options]
Переданное в команде значение <groupname> интерпретируется как имя учетной записи SAM (значение атрибута sAMaccountName).
Получение статистики по группам и участникам групп
Для получения общей статистика по группам и их участникам в домене Inno Samba используется следующий формат вызова:
samba-tool group stats [options]
В результате выполнения команды выводятся следующие сведения:
-
общее количество групп;
-
общее количество участников (без учета вложенности);
-
среднее количество участников в группе;
-
максимальное количество участников в группе;
-
медианное количество участников в группе;
-
распределение участников по группам с точки зрения количественного состава.