Кнопки реальные или виртуальные
Сенсорные не удобны, палец регулярно залазит в область кнопок и происходит непроизвольное нажатие.
Так что старайтесь выбирать телефоны с настоящими кнопками, они дороже но оно того стоит.
Еще мысли
С другой стороны митинг — это способ спустить пар у толпы. Если наши чудо руководители не смогут его правильно разыграть (а мне почему то кажется, что не смогут) — то будет жестокое махание палками ОМОН-ом и куча озлобленных граждан.
Я бы на месте власти выделили под митинг аэродром. Организовал бы туалеты, чай, булочки. Что бы все могли высказаться, спустить пар. И разойтись. Ни в коем случае нельзя организовать давку, прессинг. Вот если толпа пойдет за пределы, тогда да, аккуратненько разбиваем толпу на части (ОМОН это умеет) и вежливо, под ручки в душ остыть.
Но я боюсь, что власть опять начнет быковать и тупо будет бить правых и левых. И в результате может случиться, снежная революция! Так что нефиг ругать тех, кто хочет пойти на митинг, они имеют право высказаться. Попросите своих любимых правителей с умом подойти к делу, а не отмахнуться от народа в очередной раз.
Кстати, тот же Путин может на этом примере показать, какой он мудрый правитель, а не тупо рассуждать, что ЕР — это не очень его дело.
мысли
Почему власти не стравили пар? Ведь всего делов то — устроить пару показательных расследований с деятельностью избирательных комиссий. Согласиться стем, что вон они гады все накрутили! Но мы с этим боремся! Ну потеряют при этом пару процентов, но ведь в результате у них все равно будет большинство (ЕР+Жирик+Справороссы) и народ поутихнет.
Не понимаю, зачем было доводить до кипения? Зачем быковать? Причем заранее зная, что редиски забугорные спят и видят как бы у нас протащить цветную революцию.
Теперь власти придется натравливать ОМОН на свой же народ и репутация подмочена. Вон даже Путин говорит, я к Едру имею так себе отношение — вот народный фронт!!!
Апдейт:
О, власти таки послушали умных людей 🙂 Не можешь запретить, возглавь 🙂 Счаз потихоньку весь накал на тормозах спустят и не будет ни какой революции и мордобоя. Позитивно.
http://www.lenta.ru/news/2011/12/08/freedom/
Выборы закончились, можно жечь.
cyrus-imap ipurge
Например, у пользователей чистятся папки с карантином. Раньше работало вот так:
purgespam cmd=»ipurge -f -d 5 user.*.quarantine» at=0100
Но теперь программа стала «выборочно» очищать папки, некоторые просто игнорирует.
Есть подозрение, что изменили таймаут, по которому прекращается выполнение ipurge.
Пока не разобрался в причине, пришлось выкручиваться вот таким смешным образом:
purgespam cmd=»ipurge -f -d 5 user.b*.quarantine» at=0110
и так далее, по всему алфавиту 🙂
Несколько админов в 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, это сделано для того, чтобы добавлять/удалять пользователей в эти группы мог только суперадмин.
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
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
При первом входе в phpLDAPadmin выводятся предупреждения типа таких:
Posix Group: cn removed from template as it is not defined by an ObjectClass
И в дальнейшем шаблон добавления группы не работает 🙁
Лечится это просто, в sldap.conf необходимо заменить схему rfc2307bis.schema на nis.schema. Перезапустить ldap сервер. В интерфейсе phpLDAPadmin-на очистить кеш (там есть соответствующая ссылочка). После этого шаблон создания группы будет доступен.