Вопрос или проблема
Как я могу перечислить атрибуты пользователей Active Directory с компьютера под управлением Linux? Компьютер под управлением Linux уже подключен к домену. Я могу использовать ‘getent’ для получения информации о пользователях и группах, но это не отображает полные атрибуты пользователей Active Directory.
Вы можете использовать ldapsearch
для запроса к серверу AD. Например, следующий запрос отобразит все атрибуты всех пользователей в домене:
ldapsearch -x -h adserver.domain.int -D "[email protected]" -W -b "cn=users,dc=domain,dc=int"
Параметры команды объяснены:
- -x использовать простую аутентификацию (в отличие от SASL)
- -h ваш сервер AD
- -D DN для привязки к директории. Другими словами, пользователь, с которым вы аутентифицируетесь.
- -W Запросить пароль. Пароль должен совпадать с тем, что находится в вашей директории для binddn (-D). Взаимоисключающий с -w.
- -b Начальная точка для поиска
Больше информации: http://www.openldap.org/software/man.cgi?query=ldapsearch&apropos=0&sektion=0&manpath=OpenLDAP+2.0-Release&format=html
Гораздо более простая команда:
id myuser@MYDOMAIN
Для того чтобы эта команда сработала, ваш компьютер должен быть уже подключен к домену; вы можете проверить это с помощью:
realm list
Если операционная система интегрирована с Active Directory, то просто выполнение команды “id” должно быть достаточно для отображения групп AD, назначенных пользователю.
Команды, такие как id/gid, будут выдавать результаты так же, как и при отсутствии интеграции с AD.
Пример:
[oracle@wlsserver1~]$ id s_dhan
uid=1356186729(s_dhan) gid=1356000513(domain users) groups=1356000513(domain users),1356162912(linux-skl-prod-login),1356177219(linux-tom-dv-login),....
Или просто используйте команду groups:
# groups <user_ID>
Мне удалось получить результат с помощью команды:
getent passwd jondoe
Хотя мне печально признаться, что я не совсем уверен, что она делает за кулисами.
Ответ или решение
Чтобы перечислить атрибуты пользователей Active Directory с компьютера под управлением Linux, необходимо выполнять LDAP-запросы к вашему серверу Active Directory. Убедитесь, что ваша система уже присоединена к домену, после чего вы можете использовать следующие методы.
Использование ldapsearch
:
Самый мощный способ получить информацию об атрибутах пользователей – это использовать команду ldapsearch
. Этот инструмент позволяет выполнить LDAP-запрос напрямую к серверу Active Directory. Например, следующая команда вернет все атрибуты всех пользователей в домене:
ldapsearch -x -h adserver.domain.int -D "[email protected]" -W -b "cn=users,dc=domain,dc=int"
Параметры команды:
-x
– использовать простую аутентификацию (в отличие от SASL).-h
– укажите ваш сервер Active Directory.-D
– DN для привязки к каталогу, то есть используемое имя пользователя для аутентификации.-W
– запрос пароля. Пароль должен соответствовать учетной записи, указанной в-D
.-b
– начальная точка для поиска.
Дополнительную информацию можно найти в документации к ldapsearch.
Использование команды id
:
Если ваша система интегрирована с Active Directory, вы можете использовать команду id
для быстрого получения информации о пользователе:
id myuser@MYDOMAIN
Эта команда отобразит идентификатор пользователя (UID) и группы, к которым принадлежит этот пользователь. Убедитесь, что ваша машина присоединена к домену, выполнив команду:
realm list
Использование команды getent
:
Для получения базовой информации о пользователе можно использовать команду getent
:
getent passwd jondoe
Эта команда вернет информацию о пользователе, включая их UID и GID, а также другую основную информацию.
Использование команды groups
:
Чтобы быстро вывести список групп, к которым принадлежит пользователь, используйте:
groups <user_ID>
Заключение:
Таким образом, для получения атрибутов пользователей Active Directory с компьютера под управлением Linux вы можете использовать различные подходы, такие как ldapsearch
, id
, getent
и groups
. Все зависит от ваших требований и конфигурации системы.