Несколько админов в openldap, или каждому своя ветка

Как при большом количестве контейнеров в openldap разрешить конкретным пользователям работать с конкретными контейнерами?

Исходные данные:
корень зла: dc=test,dc=com
организация раз: o=org1,dc=test,dc=com
организация два: o=org2,dc=test,dc=com

Необходимо пользователю uid=admin1,o=org1,dc=test,dc=com дать возможность управлять (добавлять, удалять, редактировать) записи в org1. Пользователю uid=admin2,o=org2,dc=test,dc=com, аналогичные права на org1 и org2.

Мы не будем жестко прописывать в acl пользователей. Каждый раз менять sldap.conf или динамический cn=config при изменении администратора контейнера не очень удобно. Для разгарничения доступа будем использовать objectclass: groupOfNames. По сути своей — это группа, которую, в отличии от posixGroup, openldap умеет использовать в acl.

Создадим две группы: cn=admins1,dc=test,dc=com и cn=admins2,dc=test,dc=com. В первую будем добавлять пользователей, которые будут рулить org1, во вторую, пользователей управляющих org2. Обратите внимание на то, что эти группы в иерархии находятся на одном уровне с org1 и org2, это сделано для того, чтобы добавлять/удалять пользователей в эти группы мог только суперадмин.

Создать группы можно при помощи ldif файла, пример которого показан ниже. Или при помощи любого клиента ldap, например phpLDAPadmin
dn: cn=admins1,dc=test,dc=com
cn: admins1
member: uid=admin1,o=org1,dc=test,dc=com
member: uid=admin2,o=org2,dc=test,dc=com
objectclass: groupOfNames
objectclass: top

dn: cn=admins2,dc=test,dc=com
cn: admins2
member: uid=admin2,o=org2,dc=test,dc=com
objectclass: groupOfNames
objectclass: top

Теперь займемся sldap.conf. За основу был взят файл из пакета в OpenSuSE. От оригинала остались только первые два правила.

access to attrs=userPassword,userPKCS12
        by self write
        by * auth
access to attrs=shadowLastChange
        by self write
        by * read
#=====================================
access to dn.subtree=»o=org1,dc=test,dc=com»
        by self write
        by group.exact=»cn=admins1,dc=test,dc=com» write
        by anonymous auth
        by * read
#======================================
access to dn.subtree=»o=org2,dc=test,dc=com»
        by self write
        by group.exact=»cn=admins2,dc=test,dc=com» write
        by anonymous auth
        by * read
#=======================================
access to dn.base=»dc=test,dc=com»
        by * read
access to dn.one=»dc=test,dc=com»
        by * read
access to dn.base=»»
        by * read
access to dn.base=»cn=Subschema»
        by * read
access to *
        by * none

Рассмотрим подробнее этот файл. Как я уже говорил, первые два правила отсались от оригинала.
Правило доступа к контейнеру o=org1,dc=test,dc=com

access to dn.subtree=»o=org1,dc=test,dc=com»
        by self write
        by group.exact=»cn=admins1,dc=test,dc=com» write
        by anonymous auth
        by * read
  • dn.subtree — доступ ко всем объектам контейнера, включая все дочерние контейнеры.
  • by self write — любой пользователь должен иметь возможность изменять свои данные.
  • by group.exact=»cn=admins1,dc=test,dc=com» write — а вот собственно и группа админов, членам которой можно изменять все.
  • by anonymous auth — открываем возможность аутентификации пользователям.
  • by * read — тут вопрос спорный — выдавать информацию о записях или нет всем остальным? В принципе я бы поставил none, или более подробно расписал какие атрибуты можно или нельзя читать. В конце концов, что разрешать остальным — решать вам 🙂

Аналогично описан доступ ко второму контейнеру.

access to dn.base=»dc=test,dc=com»
        by * read
access to dn.one=»dc=test,dc=com»
        by * read
access to dn.base=»»
        by * read
Эти правила добавил для того, чтобы программы типа phpLDAPadmin могли отображать информацию о корневых контейнерах.

access to dn.base=»cn=Subschema»
        by * read
Это запись для удобства. В phpLDAPadmin можно смотреть схемы, описания атрибутов, при условии, что ldap сервер такую информацию отдаёт.

access to *
        by * none

Традиционное правило по умолчанию.

Вот пожалуй и все. В результате, если поменялся администратор контейнера не надо рестартовать сервер (в случае статической конфигурации) или возится с ldif файлами (в случае динамической конфигурации). В любом клиенте ldap заходим суперадмином и меняем членов групп admins1 и admins2.

phpLDAPadmin не работает шаблон PosixGroup

Решил обновить свои познания в openLDAP. В процессе подготовки столкнулся с небольшой проблемкой в phpLDAPadmin: если ставить по умолчанию openldap, в phpLDAPadmin перестаёт работать шаблон по созданию PosixGroup.
При первом входе в phpLDAPadmin выводятся предупреждения типа таких:
Posix Group: cn removed from template as it is not defined by an ObjectClass
И в дальнейшем шаблон добавления группы не работает 🙁

Лечится это просто, в sldap.conf необходимо заменить схему rfc2307bis.schema на nis.schema. Перезапустить ldap сервер. В интерфейсе phpLDAPadmin-на очистить кеш (там есть соответствующая ссылочка). После этого шаблон создания группы будет доступен.

Путин и мужик (Они пахали)

Какие молодцы 🙂

SLES 11 SDK

Народ, подскажите кто знает, существует ли инет репозиторий с devel пакетами у SLES 11?

SLES 11

Жизнь заставила вернуться к SLES.
Заказчик попросил  прикрутить к kerberos аутентификацию по карточкам. Задача вообщем не сложная, но как оказалось на на SLES+SLED. Модуль pkinit в krb5 не хочет настраиваться.
Решил посмотреть подробные логи модуля, но для этого необходимо пересобрать его исходники (во как!). Опять же не сложно, но не в SLES 🙂 У этих гадов по умолчанию на диске не поставляются -devel пакеты! Они доступны только из сетевого репозитория, который, в свою очередь, доступен только после регистрации продукта 🙂
Пришлось демо ключик брать. Сижу, качаю апдейты, день пропал 🙁

Вышла новая версия alfresco

Вышла новая версия alfresco. Только мне кажется, что ребята занимаются какими то фантиками-бантиками, вместо нормального допиливания продукта до кондиции?
http://www.opennet.ru/opennews/art.shtml?num=31996
Новый сервис для публикации контента и обновления статуса в социальных сетях и на сайтах, таких как YouTube, Facebook, LinkedIn, Twitter, Flickr и SlideShare. Сервис публикации в социальных сетях теперь является частью рабочего процесса управления контентом предприятия. Для контроля публикации на внешних ресурсах предусмотрена специальная система рецензирования материалов перед их публикацией;

Купил вот пианино…

С детства мечтал научиться играть на пианино. Но, то денег на муз школу в семье не было, то студентом был, то работал как вол. И вот все обстоятельства сошлись в кучку 🙂 и время появилось и желание и пенёнзы.
Прикупил пианину Casio Privia PX-330. Вчерась вот привезли. Распаковал, проверил нажатие всех клавиш, расписался в получении. Как и положено, пошел гаммы шпарить, И вот тут то Casio проявило себя. При сильном нажатии и удержании соль второй октавы, при нажатии на клавиши рядом перестает работать контроль силы нажатия, и ноты играются в максимальной громкости и в другой тональности. Стоит соль отпустить и все играет как нужно.
Так обидно блин. Причем видно, что проблема на уровне программы, а не механики. Ну я тут же облазил весь инет по поводу перепрошивки девайса и ничего по этому поводу не нашел 🙁 В casio предложили везти пианину в сервисный центр.
У меня сложилось ощущение, что какую бы сложную технику я ни купил, обязательно будут подляны с поездкой в сервисные центры (сейчас у меня моноблок HP ждет, когда мне надоест бороться с его DVD приводом 🙂 ). 
Но тут меня удивили в интерент магазине, где я покупал пианину. Предложили сами отвезти его в сервис и после перепрошивки завести его обратно, причем бесплатно. Вау! Бывают же чудеса. Сегодня заедут забирать. Ну и ладно, все равно моя учитель музыки пока в отпуске. Надеюсь, что к ее приезду у пианины мозги поправят.

Кургинян — историческая.

Очень длинная передача, но рекомендую дослушать до конца.

Ливия…величайшая мистификация ХХI века… На очереди — Сирия…

[info]turowalex
August 29th, 10:52
Знаете, в плане войн я много чего видел, но такого, что творится в Ливии — впервые…
Воистину — жизнь, а особенно империалистическая война — гораздо шире всех наших представлений о ней… А если говорить о Ливии, то наши выводы о войне там в последнюю неделю абсолютно не верны…
Поверьте, я — человек достаточно искушённый и даже по простой видеокартинке могут сделать достаточно много выводов.
Для того, чтобы вам было понятно, о чём я, приведу простые примеры.
Итак…
В Триполи идут городские бои.
Как ведётся городской бой?
Устав — закон для военных — говорит следующее: дом за домом, улица за улицей, квартал за кварталом…
Что это означает? Это означает, что подразделение сначала занимает один дом, проверяя каждую квартиру и, закрепляя часть бойцов на крыше, чтобы они могли контролировать местность и, в случае чего, подавить огневые точки противника, а затем занимает второй дом.
И так бертся вся улица…
Затем — квартал…
Ну, и, в итоге, город…
Подобная тактика универсальна и применяется всеми военными в мире…Без исключений…
Это вы из картинки в Триполи видите?
Я — нет…
Лично я вижу лихих «повстанцев» смело рассекающих на легковых машинах по улицам. А толщина стали у такой машины миллиметра 2. И что? Спасёт она в случае чего? Конечно же нет.
К слову говоря, когда вы видите в американских фильмах копов, укрывающихся за машинами от автоматных пуль плохих парней, посмейтесь, ибо машина защитить от пули в принципе не может.
Единственно, где можно попытаться укрыться за машиной от автоматных и пулемётных очередей, так это в области расположения двигателя. Но и то не факт, что вам повезёт.
Далее, в условиях городского боя крайне важна бронетехника — бронетранспортёры, боевые машины пехоты, бронированные джипы…
Не буду расшифровывать зачем и почему, но, поверьте, они, безусловно, нужны..
Вы хоть одну такую машину видели?
Вот и я — нет.
Это вторая, мягко говоря, странность этой городской войны..
Страность третья, которую вы все, безусловно, видели.
Как ведёт себя боец в условиях городского боя?
Если говорить просто и без всяких вычурностей — трётся обо всё на своём пути.
Поверьте, даже искушённый боец делает это инстинктивно при любом звуке выстрела, ибо не знает он, где противник и откуда он стреляет — этажей много, окон сотни.
Поэтому боец бежит, падает, ползёт, идёт, вжимаясь в стены, т.е.: собирает всю грязь по дороге, рвёт одежду и, в итоге, представляет из себя чумазое существо с разводами грязи на лице, шее, руках.
Вы тех «повстанцев» «ведущих бой» видели?
И как они вам?
Как вам их одёжка чистая и ни разу не рваная?
Вот и мне так же…
Странность четвёртая.
Вы в лес хотя бы на день по грибы ходили?
Безусловно, хоть раз в жизни, но ходили.
Вспомните, что брали с собой?
Еду, воду, нож, рюкзак, ну и остальное — исходя из собственно леса, погоды, маршрута.
Что такое боец в условиях боя в городе?
Это, грубо говоря, грибник, который пошёл в неизвестно какой лес с неизвестными последствиями.
Т.е. в бою за город можно легко оказаться запертым противником в каком-нибудь доме дней на тридцать, например…
И не факт, что в этом доме будут: вода, еда, боеприпасы, средства связи… Что обязательно должно быть у бойца в бою за город:
1. Оружие.
2. Боеприпасы.
3. Продовольствие.
4. Вода.
5. Средства связи.
6. Медикаменты.
Вы всё это у «штурмующих Триполи» видели? Ну, рюкзаки там и тому подобное? Вот и я НИ РАЗУ не видел.
Более того, когда показывают картинку с войны, я сначала смотрю на количество боеприпасов у бойца и только потом — на тип оружия…
Любой автомат без боеприпасов — ничто. Кусок железки. Поэтому боец старается взять с собой как можно больше боеприпасов. Часть патронов в магазинах, часть — россыпью.
И как вам лихие «повстанцы» максимум с двумя магазинами к автомату и без дополнительных боеприпасов?
По мне — так цирк шапито на выезде.
Конечно, кто-то может мне возразить, мол, боеприпасы в машине остались, на базе и т.п.
Нет, ребята-демократы, скажу я вам, так на НАСТОЯЩЕЙ войне и у НАСТОЯЩИХ бойцов не бывает.
Любой боец постоянно носит, надеясь исключительно на себя, боеприпасы с собой….ВСЕГДА…
У военных всего мира на этот счёт есть универсальная и грубоватая поговорка — каждый ишак таскает свои яйца сам и в одиночку…
Далее о бое в городе…
Что крайне важно в таком сложном виде боя, так это гранаты. Зачем? Уверен, что и сами понимаете. Так вот — Я НИ РАЗУ НЕ ВИДЕЛ НИ ОДНОЙ РУЧНОЙ ГРАНАТЫ НИ У ОДНОГО «ПОВСТАНЦА»…
Это всё-равно, что вам показывают репортаж из ресторана, где приготовили роскошный суп и собралось много-много желающих его поесть, но половников и ложек нет.
И вас уверяют, что сейчас супчик этот все замечательно так навернут…
Вы поверите?
Вот, и я не поверю…
И последнее, хотя, на самом деле — это главное.
Когда показывают картинку с «повстанцами», смотрите в первую очередь на обувь…
Исключительно на обувь…
На войне обувь — первое дело. От её удобства зависит очень многое, в т.ч. и жизнь бойца…
Как вам «освободители Триполи» в сланцах?
Много вы набегаете в шлёпанцах?
Скажите, что не беда, мол, и босым можно повоевать.
Можно, конечно же, отвечу я…
Но не забывайте, что самая большая опасность в боях за город для бойца — это битое стекло, которое летит сверху, усыпает асфальт и дороги…
Много вы набегаете босыми ногами по стеклу?
ВЫВОД ПЕРВЫЙ:
1. Триполи брали исключительно НАТОвские войска.
2. Зачищают Триполи — они же.
3. Представленные «освободители Триполи» — просто сброд, мародёры и люди вообще не представляющие, что такое война.
ВЫВОД ВТОРОЙ:
1. НАТО включилось в прямой вооружённый захват Триполи исключительно потому, что в планах у альянса была двухходовка — ЛИВИЯ, а затем СИРИЯ…
Но в Ливии «освобождение» начало давать сбой, сроки стали нарушаться. Поэтому, чтобы побыстрей приступить к следующему этапу ОБЩЕЙ ВОЕННОЙ КОМПАНИИ (Ливия-Сирия), НАТО и бросило свои войска на штурм Триполи.
2. Атака на Сирию начнётся не по завершению военной компании в Ливии, как думают многие, а гораздо быстрее.
Я не специалист по погоде и не могу сказать, когда спадает жара в Сирии.
Но, поверьте, как только жара пойдёт на убыль — НАТО нанесёт удар по Дамаску.
Сценарий будет такой же, как и в Ливии…
Собственно говоря, эта — сирийская фаза операции НАТО — уже началась..
.

Специалист — курсы по ipad.

В Специалисте открылись курсы iPad и iPhone: возможности на уровне профи.

Я в шоке! Вы только зацените темы:

  • Возможен ли доступ к файловой системе iPad без джейлбрейка?
  • Заглючит ли iPad и пропадет ли гарантия из-за джейлбрейка?
  • Что такое непривязанный и привязанный джейлбрейк?
  • Как закинуть в iPad патч AppSync без Wi-Fi?
  • Существуют ли кастомные прошивки для iPad?
  • Как сделать джейлбрейк на прошивке версии 3.2.2?
  • Как сделать джейлбрейк на прошивке версии 4.2.1?
  • Как «откатиться» с прошивки версии 4.2.1 на 3.2.2?
  • Пропадут ли приложения и прочий контент после обновления прошивки?

Мне вот интересно — как быстро на них подаст в суд Яблоко?