среда, 28 октября 2009 г.

Apache2 и аутентификация пользователей в NDS / AD

1. Модной тулзой включаем в конфигурацию апача модуль ldap аутентификации:
a2enmod authnz_ldap


В конфигурации виртуал хоста пишем:
AuthType Basic
AuthName "Novell login required"
AuthBasicProvider ldap
AuthLDAPURL "ldap://nds.domain/o=ORG?cn??(objectClass=user)"
Require ldap-group cn=Subversion, ou=Unit, ou=Department, o=ORG


для AD
 
AuthLDAPBindDN user@domain.org
AuthLDAPBindPassword "password"
AuthLDAPURL "ldap://dc1.domain.org/ou=users,dc=domain,dc=org?sAMAccountName?sub?(objectClass=*)"
Require ldap-group "cn=nagios_admins,ou=group,OU=Dep,OU=users,DC=domain,DC=org"   

вторник, 27 октября 2009 г.

redmine и экспорт в pdf на русском

Debian/squeeze
В репозитории redmine 0.9.0~svn2907-1, поддержка mysql отдельным пакетом redmine-mysql.

Перед конфигурированием redmine необходимо в /etc/mysql/my.cnf добавить:
[client]
default-character-set=utf8

[mysqld]
init_connect='SET collation_connection = utf8_general_ci'
init_connect='SET NAMES utf8'
default-character-set=utf8
character-set-server = utf8
collation-server = utf8_general_ci

[mysql]
default-character-set=utf8
иначе таблицы будут созданы с кодировкой latin1.

Из коробки экспорт в pdf выводит плящущие сикарашки. Патча от разработчиков не ожидается, но есть "народное" решение для версии 0.8.
Для версии 0.9 требуются небольшие исправления, но в целом лечится аналогично.
1. Отсюда берем модифицированный пакет RFPDF и заменяем содержимое каталога redmine/vendor/plugins/rfpdf на содержимое архива.
2. Патчим redmine:



diff -urN redmine_orig/lib/redmine/export/pdf.rb redmine_works/lib/redmine/export/pdf.rb
--- redmine_orig/lib/redmine/export/pdf.rb      2009-10-27 15:17:35.000000000 +0600
+++ redmine_works/lib/redmine/export/pdf.rb     2009-10-27 15:22:46.000000000 +0600
@@ -17,7 +17,6 @@

 require 'iconv'
 require 'rfpdf/fpdf'
-require 'rfpdf/chinese'

 module Redmine
   module Export
@@ -25,7 +24,7 @@
       include ActionView::Helpers::TextHelper
       include ActionView::Helpers::NumberHelper

-      class IFPDF < FPDF
+      class IFPDF < TCPDF
         include Redmine::I18n
         attr_accessor :footer_date

@@ -49,8 +48,8 @@
             @font_for_content = 'Big5'
             @font_for_footer = 'Big5'
           else
-            @font_for_content = 'Arial'
-            @font_for_footer = 'Helvetica'
+            @font_for_content = 'FreeSans'
+            @font_for_footer = 'FreeSans'
           end
           SetCreator(Redmine::Info.app_name)
           SetFont(@font_for_content)
@@ -113,7 +112,7 @@
         title = query.new_record? ? l(:label_issue_plural) : query.name
         title = "#{project} - #{title}" if project
         pdf.SetTitle(title)
-        pdf.AliasNbPages
+        pdf.alias_nb_pages
         pdf.footer_date = format_date(Date.today)
         pdf.AddPage("L")

@@ -180,7 +179,7 @@
       def issue_to_pdf(issue)
         pdf = IFPDF.new(current_language)
         pdf.SetTitle("#{issue.project} - ##{issue.tracker} #{issue.id}")
-        pdf.AliasNbPages
+        pdf.alias_nb_pages
         pdf.footer_date = format_date(Date.today)
         pdf.AddPage

@@ -307,7 +306,7 @@
       def gantt_to_pdf(gantt, project)
         pdf = IFPDF.new(current_language)
         pdf.SetTitle("#{l(:label_gantt)} #{project}")
-        pdf.AliasNbPages
+        pdf.alias_nb_pages
         pdf.footer_date = format_date(Date.today)
         pdf.AddPage("L")
         pdf.SetFontStyle('B',12)
diff -urN redmine_orig/vendor/plugins/rfpdf/environment.rb redmine_works/vendor/plugins/rfpdf/environment.rb
--- redmine_orig/vendor/plugins/rfpdf/environment.rb    2009-10-27 15:17:35.000000000 +0600
+++ redmine_works/vendor/plugins/rfpdf/environment.rb   2009-10-27 15:23:18.000000000 +0600
@@ -8,14 +8,6 @@
 require "#{File.dirname __FILE__}/lib/core/view"
 require "#{File.dirname __FILE__}/lib/core/rfpdf"

-begin
-  require 'RMagick'
-  require "#{File.dirname __FILE__}/lib/core/rmagick"
-rescue LoadError
-  require 'image_science'
-  require "#{File.dirname __FILE__}/lib/core/image_science"
-end
-
 require "#{File.dirname __FILE__}/lib/math"

 require "#{File.dirname __FILE__}/lib/tcpdf"
diff -urN redmine_orig/vendor/plugins/rfpdf/lib/tcpdf.rb redmine_works/vendor/plugins/rfpdf/lib/tcpdf.rb
--- redmine_orig/vendor/plugins/rfpdf/lib/tcpdf.rb      2009-10-27 15:17:35.000000000 +0600
+++ redmine_works/vendor/plugins/rfpdf/lib/tcpdf.rb     2009-10-27 15:24:07.000000000 +0600
@@ -3077,7 +3077,7 @@
                        out('/Filter /FlateDecode');
                end
                out('>>');
-    open(ctgfile) do |f|
+    open(ctgfile, 'rb') do |f|
       putstream(f.read())
     end
                out('endobj');

Поиск в ldap по отсутсвующему атрибуту

Примерно половина пользовательских учеток в дереве унаследованна со старой версии Netware. У этих учеток нет аттрибута uid, что привело к странным глюкам в Openfire, т.е. после настройки ldap сервер стал падать на чтении списка пользователей.

Фильтр: (&(ObjectClass=Person)(!(uid=*)))

Выберет все пользовательские аккаунты (ObjectClass=Person), у которых нет атрибута uid

пятница, 16 октября 2009 г.

Перенос аккаунтов samba на другой сервер

1. Экспорт юзерских учеток в текстовый файл
dbedit -e smbpasswd:/tmp/test -i tdbsam

2. Импорт аккаунтов из текстого файла в базу
pdbedit -i smbpasswd:/tmp/test -e tdbsam

четверг, 1 октября 2009 г.

Монтирование образа дискеты в Ынтерпрайзной ОС

Given an disk image in /export/temp/software.img, a loopback file device (/dev/lofi/1) is created with the following command:

lofiadm -a /export/temp/software.img /dev/lofi/1

The lofi device creates a block device version of a file. This block device can be mounted to /mnt with the following command:

mount -F pcfs -o ro /dev/lofi/1 /mnt

пятница, 10 июля 2009 г.

Навалищенское ущелье - Чертовы врата

7 августа 2007 года, около семи вечера








вторник, 7 июля 2009 г.

bluetooth for linux

Взял на угад porto ba-520, в интернетах про него ничего не пишут кроме спеки на bluetooth и 3-х граммового веса. В результате эксперимента:
в debian stable завелся сам собой: сам определился - драйвер в дистрибутивном ядре был, гном сам проникся новыми возможностями и нарисовал икону в трее, для руления процессом, рук прикладывать не пришлось.

С хр чуть посложнее, несколько раз вставил/выдернул, прежде чем определился.

воскресенье, 28 июня 2009 г.

Воздействие пребывания в открытом космосе на организм человека

Как утверждают учёные НАСА, вопреки распространённым представлениям, при попадании в открытый космос без защитного скафандра человек не замёрзнет, не взорвётся и мгновенно не потеряет сознание, его кровь не закипит. Вместо этого настанет быстрая смерть от недостатка кислорода. Кроме того, со слизистых оболочек организма (язык, глаза, лёгкие) начнёт быстро испаряться вода. Некоторые другие проблемы — декомпрессионная болезнь, солнечные ожоги незащищённых участков кожи и поражение подкожных тканей — начнут сказываться уже через 10 секунд. В какой-то момент человек потеряет сознание из-за нехватки кислорода. Смерть может наступить примерно через 1-2 минуты, хотя точно это не известно. Тем не менее, если не задерживать дыхание в лёгких (попытка задержки приведёт к баротравме), то 30-60 секунд пребывания в открытом космосе не вызовут каких-либо необратимых повреждений человеческого организма.

В НАСА описывают случай, когда человек случайно оказался в пространстве, близком к вакууму (давление ниже 1 Па) из-за утечки воздуха из скафандра. Человек оставался в сознании приблизительно 14 секунд — примерно такое время требуется для того, чтобы обеднённая кислородом кровь попала из лёгких в мозг. Внутри скафандра не возник полный вакуум, и рекомпрессия испытательной камеры началась приблизительно через 15 секунд. Сознание вернулось к человеку, когда давление поднялось до эквивалентного высоте примерно 4,6 км. Позже попавший в вакуум человек рассказывал, что он чувствовал и слышал, как из него выходит воздух, и его последнее осознанное воспоминание состояло в том, что он чувствовал, как вода на его языке закипает.

Журнал «Aviation Week and Space Technology» 13 февраля 1995 г. опубликовал письмо, в котором рассказывалось об инциденте, произошедшем 16 августа 1960 года во время подъёма стратостата с открытой гондолой на высоту 19,5 миль для совершения рекордного прыжка с парашютом. Правая рука пилота оказалась разгерметизирована, однако он решил продолжить подъём. Рука, как и можно было ожидать, испытывала крайне болезненные ощущения, и ею нельзя было пользоваться. Однако при возвращении пилота в более плотные слои атмосферы состояние руки вернулось в норму.

понедельник, 22 июня 2009 г.

японский календарь

Японский календарь, известный также как календарь Варэки, функционирует в точности так же, как и григорианский, за исключением различий в годах и эрах. Правление каждого императора считается отдельной эрой. Текущей эрой является эра Хэйсэй, началом которой является 1989 год по григорианскому календарю. Название эры обычно помещается перед годом. Например, 2001 год по григорианскому календарю — это 13 год эры Хэйсэй. Обратите внимание, что первый год эры называется "Ганнэн". Поэтому 1989 год по григорианскому календарю был годом Хэйсэй Ганнэн по японскому календарю.






Название эрыАббревиатура эрыДаты по григорианскому календарю
平成 (Хэйсэй)平 (H, h)8 января 1989 г. — по настоящее время
昭和 (Сёва)昭 (S, s)25 декабря 1926 г. — 7 января 1989 г.
大正 (Тайсё)大 (Т, т)30 июля 1912 г. — 24 декабря 1926 г.
明治 (Мэйдзи)明 (M, m)1 января 1868 г. — 29 июля 1912 г.

Високосные годы в японском календаре соответствуют високосным годам григорианского календаря.














МесяцРусское названиеЧисло дней
1月 (Итигацу)Январь31
2月 (Нигацу)Февраль28(29)
3月 (Сангацу)Март31
4月 (Сигацу)Апрель30
5月 (Гогацу)Май31
6月 (Рокугацу)Июнь30
7月 (Ситигацу)Июль31
8月 (Хатигацу)Август31
9月 (Кугацу)Сентябрь30
10月 (Дзюгацу)Октябрь31
11月 (Дзюитигацу)Ноябрь30
12月 (Дзюнигацу)Декабрь31

пятница, 19 июня 2009 г.