Обсуждение участника:Nir: различия между версиями
Nir (обсуждение | вклад) Нет описания правки |
Nir (обсуждение | вклад) (→Руководство мейнтейнера ALT Linux: новая тема) |
||
Строка 111: | Строка 111: | ||
* '''Q5''': Команда просмотра просмотра дерева (например, '''ls''' или графический файловый менеджер) зависает. | * '''Q5''': Команда просмотра просмотра дерева (например, '''ls''' или графический файловый менеджер) зависает. | ||
* '''A5''': Наиболее вероятной причиной проблемы в данном случае является обрыв связи с сервером. '''hadfs''' пытается подключиться к серверу, но соединения не происходит. Подключите дерево заново, чтобы установить связь с сервером. | * '''A5''': Наиболее вероятной причиной проблемы в данном случае является обрыв связи с сервером. '''hadfs''' пытается подключиться к серверу, но соединения не происходит. Подключите дерево заново, чтобы установить связь с сервером. | ||
== Руководство мейнтейнера ALT Linux == | |||
__TOC__ | |||
==Введение== | |||
Данная статья предназначена для централизации всей информации о процессе работы над репозиторием [http://sisyphus.ru Sisyphus] и интеграции в сообщество ALT Linux (Team). | |||
Для индивида может существовать множество причин стать участником сообщества: | |||
* Желание внести свой вклад в развитие открытого ПО и сделать мир лучше; | |||
* Желание "отполировать резюме" и показать рекрутёрам свои навыки; | |||
* Желание решить вполне себе практическую проблему - например, воспользоваться конкретной программой; | |||
* Вы, волей судьбы, стали эксплуатантом дистрибутива в коммерческой или государственной структуре и сталкиваетесь с проблемами, которые надо как-то решать. | |||
==Кто такой мейнтейнер== | |||
'''Мейнтейнер''' (дистрибутива или пакета) - это человек, который занимается тем, что интегрирует ПО в дистрибутив и сопровождает его впоследствии. То есть делает пакет для установки программы из централизованного репозитория, чинит обнаруженные в программе баги, общается с разработчиками программы, старается реагировать на нужды пользователей (багрепорты, вопросы). | |||
В понимании '''ALT Linux''' - мейнтейнер должен быть членом '''ALT Linux Team''' (Команды ALT Linux). | |||
==Что такое ALT Linux Team== | |||
'''ALT Linux Team''' - распределённая и независимая команда энтузиастов, которые совместно работают над поддержкой наборов программ в репозитории [http://sisyphus.ru Sisyphus] и собирают дистрибутивы на основе этого репозитория. | |||
==Как стать членом ALT Linux Team== | |||
Существует процедура принятия в '''ALT Linux Team'''. Обычно, этот процесс происходит естественно, когда человек активно участвует в работе сообщества: | |||
* Тестирует ПО и заводит багрепорты о найденных багах; | |||
* Помогает чинить баги - присылает патчи; | |||
* Пакетирует новое ПО или помогет поддерживать существующие пакеты. | |||
Взаимодействие членов команды осуществляется с помощью разнообразных средств связи (сложилось исторически): | |||
* [http://sisyphus.ru Sisyphus] - репозиторий ПО; | |||
* [http://bugzilla.altlinux.org bugzilla.altlinux.org] - багтрекер проекта; | |||
* [http://lists.altlinux.org lists.altlinux.org] - списки рассылки проекта; | |||
* [irc:#altlinux@irc.freenode.net IRC:#altlinux] и [irc:#altlinux-devel@irc.freenode.net] - IRC каналы; | |||
* [http://forum.altlinux.org forum.altlinux.org] - форум сообщества. |
Версия от 12:26, 13 июня 2019
Введение в Active Directory File System
Настройки Active Directory представляются деревьями LDAP. Данный подход сложен для человеческого восприятия. Существует утилита называемая hadfs, которая представляет дерево объектов Active Directory в виде структуры файлов и каталогов. Таким образом становится возможным редактировать настройки контроллера домена простыми способами - в текстовом редакторе, с помощью скриптов или с помощью специализированного ПО.
Сборка и установка
Сборка из исходного кода
Исходный код находится по адресу: https://github.com/altlinuxteam/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
Использование
Зависимости
При использовании утилиты в ALT Linux потребуются следующие пакеты:
- libldap
- openldap
- libsasl2
- libsasl2-plugin-gssapi
- krb5-kinit
Предварительная настройка
Утилита hadfs оперирует деревом объектов LDAP, потому для работы hadfs необходим доступ к портам LDAP - 88 и 389. Также, данная утилита использует FUSE (Filesystem in Userspace), потому у пользователя должно быть достаточно прав для использования fuse.
В случае с ALT Linux необходимо добавить пользователя в соответствующую группу:
sudo usermod -aG fuse username
Подключение схемы
Для получения дерева объектов в требуемом каталоге необходимо подключить утилиту hadfs-exe к контроллеру домена. Сделать это можно командой:
kinit administrator@DOMAIN.ALT
hadfs-exe /mnt/dc0.domain.alt dc0.domain.alt
Данное действие импортирует схему от контроллера домена dc0.domain.alt в каталог /mnt/dc0.domain.alt. При этом, прежде, чем hadfs-exe представит данные в качестве файловой системы, необходимо провести авторизацию в Kerberos с помощью утилиты kinit.
Специальные файлы
Объекты дерева представлены в виде директорий, а их свойства представлены в виде текстовых файлов. Для изменения свойства необходимо, чтобы текстовый редактор записывал файл после изменения целиком. Вы можете столкнуться с проблемами, например, при использовании редактора mcedit.
Среди специальных файлов в каталогах (дереве) можно встретить следующие:
- .chpwd - Доступный только на запись файл, куда вы можете записать новый пароль для пользователя.
- .attributes - Атрибуты объекта в виде LDIF файла.
- .attributes.json - Атрибуты объекта в виде JSON.
Также в каталоге запуска программы, в случае ошибок, вы можете встретить файл .lasterror, который хранит в себе текст последней ошибки.
Также существует специальный файл .refresh. Его назначение состоит в том, чтобы вызвать обновление дерева (которое закэшировано). Сделать это можно командой:
touch .refresh
Это вызовет обновление дерева в том каталоге, где произведена данная операция.
Работа с деревом
В самом простом случае возможна навигация по дереву каталогов и файлов с помощью любого файлового менеджера и правка конфигурации с помощью текстового редактора или стандартных системных утилит.
Диагностика проблем
- 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 открыты на контроллере домена.
- Q4: hadfs-exe: ldapGSSAPISaslBind: LDAPException LdapLocalError(-2): Local error (SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (Server not found in Kerberos database))
- A4: У данной проблемы может быть много причин одной из которых могут быть неполадки при reverse DNS lookup. Проблему можно решить отключением данной функции в файле
/etc/openldap/ldap.conf
из пакетаopenldap
с помощью прописывания строки:sasl_nocanon yes
- Q5: Команда просмотра просмотра дерева (например, ls или графический файловый менеджер) зависает.
- A5: Наиболее вероятной причиной проблемы в данном случае является обрыв связи с сервером. hadfs пытается подключиться к серверу, но соединения не происходит. Подключите дерево заново, чтобы установить связь с сервером.
Руководство мейнтейнера ALT Linux
Введение
Данная статья предназначена для централизации всей информации о процессе работы над репозиторием Sisyphus и интеграции в сообщество ALT Linux (Team).
Для индивида может существовать множество причин стать участником сообщества:
- Желание внести свой вклад в развитие открытого ПО и сделать мир лучше;
- Желание "отполировать резюме" и показать рекрутёрам свои навыки;
- Желание решить вполне себе практическую проблему - например, воспользоваться конкретной программой;
- Вы, волей судьбы, стали эксплуатантом дистрибутива в коммерческой или государственной структуре и сталкиваетесь с проблемами, которые надо как-то решать.
Кто такой мейнтейнер
Мейнтейнер (дистрибутива или пакета) - это человек, который занимается тем, что интегрирует ПО в дистрибутив и сопровождает его впоследствии. То есть делает пакет для установки программы из централизованного репозитория, чинит обнаруженные в программе баги, общается с разработчиками программы, старается реагировать на нужды пользователей (багрепорты, вопросы).
В понимании ALT Linux - мейнтейнер должен быть членом ALT Linux Team (Команды ALT Linux).
Что такое ALT Linux Team
ALT Linux Team - распределённая и независимая команда энтузиастов, которые совместно работают над поддержкой наборов программ в репозитории Sisyphus и собирают дистрибутивы на основе этого репозитория.
Как стать членом ALT Linux Team
Существует процедура принятия в ALT Linux Team. Обычно, этот процесс происходит естественно, когда человек активно участвует в работе сообщества:
- Тестирует ПО и заводит багрепорты о найденных багах;
- Помогает чинить баги - присылает патчи;
- Пакетирует новое ПО или помогет поддерживать существующие пакеты.
Взаимодействие членов команды осуществляется с помощью разнообразных средств связи (сложилось исторически):
- Sisyphus - репозиторий ПО;
- bugzilla.altlinux.org - багтрекер проекта;
- lists.altlinux.org - списки рассылки проекта;
- [irc:#altlinux@irc.freenode.net IRC:#altlinux] и [irc:#altlinux-devel@irc.freenode.net] - IRC каналы;
- forum.altlinux.org - форум сообщества.