Обсуждение участника:Nir: различия между версиями
Nir (обсуждение | вклад) Нет описания правки |
Nir (обсуждение | вклад) Нет описания правки |
||
Строка 34: | Строка 34: | ||
==Использование== | ==Использование== | ||
===Предварительная настройка=== | |||
Утилита '''hadfs''' оперирует деревом объектов '''LDAP''', потому для работы '''hadfs''' необходим доступ к портам '''LDAP''' - '''88''' и '''386'''. Также, данная утилита использует '''FUSE''' (Filesystem in Userspace), потому у пользователя должно быть достаточно прав для использования '''fuse'''. | |||
В случае с '''ALT Linux''' вам необходимо добавить пользователя в соответствующую группу: | |||
<source> | |||
sudo usermod -aG fuse username | |||
</source> | |||
===Подключение схемы=== | ===Подключение схемы=== | ||
Строка 40: | Строка 50: | ||
<source> | <source> | ||
hadfs-exe dc0.domain.alt | hadfs-exe /mnt/dc0.domain.alt dc0.domain.alt | ||
</source> | </source> | ||
Версия от 11:00, 9 июня 2019
Введение в Active Directory File System
Настройки Active Directory представляются деревьями LDAP. Данный подход сложен для человеческого восприятия. Существует утилита называемая hadfs, которая представляет дерево объектов Active Directory в виде структуры файлов и каталогов. Таким образом становится возможным редактировать настройки контроллера домена простыми способами - в текстовом редакторе, с помощью скриптов или с помощью специализированного ПО.
Сборка и установка
Сборка из исходного кода
Исходный код находится по адресу: https://github.com/omgbebebe/hadfs
Данное ПО написано на языке программирования Haskell, потому вам понадобится компилятор (например, GHC - Glasgow Haskell Compiler) и, желательно, утилиты cabal-install или stack.
Для сборки в среде ALT Linux понадобятся следующие зависимости:
- git
- libfuse-devel
- libldap-devel
- libsasl2-devel
- libsasl2-plugin-gssapi
- ghc8.6.4
- ghc8.6.4-cabal-install
В репозитории с программой находятся детальные инструкции, но, в целом, решение проблемы для опытных специалистов можно свести к процедуре:
sudo apt-get install git libfuse-devel libldap-devel libsasl2-devel libsasl2-plugin-gssapi ghc8.6.4 ghc8.6.4-cabal-install
git clone https://github.com/omgbebebe/hadfs.git
cd hadfs
git submodule update --init --recursive
cabal update
cabal new-build
Использование
Предварительная настройка
Утилита hadfs оперирует деревом объектов LDAP, потому для работы hadfs необходим доступ к портам LDAP - 88 и 386. Также, данная утилита использует FUSE (Filesystem in Userspace), потому у пользователя должно быть достаточно прав для использования fuse.
В случае с ALT Linux вам необходимо добавить пользователя в соответствующую группу:
sudo usermod -aG fuse username
Подключение схемы
Для получения дерева объектов в требуемом вам каталоге необходимо подключить утилиту hadfs-exe к контроллеру домена. Сделать это можно командой:
hadfs-exe /mnt/dc0.domain.alt dc0.domain.alt
Данное действие импортирует схему от контроллера домена dc0.domain.alt в каталог /mnt/dc0.domain.alt.
Специальные файлы
Объекты дерева представлены в виде директорий, а их свойства представлены в виде текстовых файлов. Для изменения свойства необходимо, чтобы текстовый редактор записывал файл после изменения целиком. Вы можете столкнуться с проблемами, например, при использовании редактора mcedit.
Среди специальных файлов в каталогах (дереве) можно встретить следующие:
- .chpwd - доступный только на запись файл, куда вы можете записать новый пароль для пользователя.
- .attributes - Атрибуты объекта в виде LDIF файла.
- .attributes.json - Атрибуты объекта в виде JSON.
Также в каталоге запуска программы, в случае ошибок, вы можете встретить файл .lasterror, который хранит в себе текст последней ошибки.
Работа с деревом
В самом простом случае возможна навигация по дереву каталогов и файлов с помощью любого файлового менеджера и правка конфигурации с помощью текстового редактора или стандартных системных утилит.
Диагностика проблем
- Q1: hadfs-exe: ldapGSSAPISaslBind: LDAPException LdapAuthUnknown(-6): Unknown authentication method (SASL(-4): no mechanism available: No worthy mechs found)
- A1: Установите пакет libsasl2-plugin-gssapi
- Q2: hadfs-exe: ldapGSSAPISaslBind: LDAPException LdapLocalError(-2): Local error (SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (No Kerberos credentials available (default cache: KEYRING:persistent:500)))
- A2: Проверьте, что имя контроллера домена можно разрешить в IP-адрес.
- Q3: hadfs-exe: ldapGSSAPISaslBind: LDAPException LdapServerDown(-1): Can't contact LDAP server
- A3: Проверьте, что порты LDAP открыты на контроллере домена.