Home

Реклама

Настроить
19 Октябрь 2008 @ 02:54

Результат теста «На кого из героев „Футурамы“ ты похож»:
 

Проф.

Лила

Гермес

Бендер

Зойдберг

Фрай

Эми

Киф

Зепп
     
09-16-570-42
      

Если Вы желаете узнать больше о своем характере и о характере героев «Футурамы», то прочитайте статью «Псих-о-рама».

Пройти тест.

 
 
05 Сентябрь 2008 @ 23:46
Есть у меня небольшая проблемка, не слышу будильник по утрам.
Дабы разрешить сей вопрос раз и навсегда решил сделать свой.
Компьютер у меня постоянно включен, вдобавок к нему подключен домашний кинотеатр.
Итогом пятиминутного мозгового штурма возник следующий вариант:


скрипт будильника запускается по крону
25 07 * * * /bin/utro /home/chemist/utro.m3u
05 11 * * * /usr/bin/killall mpg321




сам скрипт
#!/usr/bin/perl
#


use Time::HiRes qw(sleep);
$list=$ARGV[0];
unless (@ARGV) {
print "укажите путь к списку песен\n";
exit 1;
}
print "Проигрывается этот список $list\n";
$mixer="/usr/bin/amixer cset iface=MIXER,name='PCM Playback Volume' ";
$as=`$mixer 0`;
$as=system("/usr/bin/mpg321 -Z -@ $list &");
for ($i=1;$i<=250;$i++) {
$as=`$mixer $i`;
sleep(1);
}




список песен выглядит следующим образом
/home/chemist/Музыка/Best of Instrumental/CD 1/C.ATKINS - Jam Man.mp3
/home/chemist/Музыка/Best of Instrumental/CD 1/D.BRUBECK - Take Five.mp3
/home/chemist/Музыка/Best of Instrumental/CD 1/D.GRUZIN - Fratelli Chase.mp3
/home/chemist/Музыка/Best of Instrumental/CD 1/E.MORRICONE - Chi Mai.mp3
/home/chemist/Музыка/Best of Instrumental/CD 1/EXEPTION - Toccata.mp3
/home/chemist/Музыка/Best of Instrumental/CD 1/F.GOYA - La Raggazia Di Blue.mp3
/home/chemist/Музыка/Best of Instrumental/CD 1/F.GOYA - Romance De Amour.mp3
/home/chemist/Музыка/Best of Instrumental/CD 1/F.PAPETTI - I Just Called To Say Love You.mp3
и далее.

Как результат: хорошее настроение, гарантированное пробуждение.
PS. есть еще вариант в котором используется amarok (работал нормально, но первый вариант показался лучше)
#!/usr/bin/perl
#


use Time::HiRes qw(sleep);
$list="/home/chemist/utro.m3u";
print "Проигрывается этот список $list\n";
$as=`/usr/bin/amarok`;
$as=`dcop --session .DCOPserver_limbo__0 --user chemist amarok player setVolume 10`;
$as=`dcop --session .DCOPserver_limbo__0 --user chemist amarok playlist clearPlaylist`;
$as=`dcop --session .DCOPserver_limbo__0 --user chemist amarok playlist playMedia $list`;
#$as=`dcop --all-sessions --user chemist amarok player enableRandomMode 1`;
#$as=`dcop --all-sessions --user chemist amarok player enableRepeatPlaylist 1`;
$as=`dcop --session .DCOPserver_limbo__0 --user chemist amarok player play`;
$as=`echo start >> /home/chemist/utro.log`;
for ($i=1;$i<=100;$i++) {
$as=`dcop --session .DCOPserver_limbo__0 --user chemist amarok player setVolume $i`;
$as=`echo volume >> /var/log/utro.log`;
sleep(.5);
}
 
 
Настроение: бодрое
Музыка: тишина
 
 
03 Сентябрь 2008 @ 20:40
Есть желание разработать рабочую схему аудентификации рабочих станций под ос windows xp на unix сервере.
Предположительная схема работы выглядит следущим образом:
На рабочих станциях меняются библиотеки отвечающие за аудентификацию пользователя.
Для этих целей будет использоваться следующий проект http://www.pgina.org/
Со стороны сервера возможно использование самых различных вариантов аудентификации.
В данном случае я буду использовать ldap аудентификацию.
Ресурсы, програмное обеспечение, куда копать и что делать первоначальный набросок.

Подготовка лаборатории:
Имеется персональный компьютер следующей конфигурации:
Процесор AMD Athlon(tm) 64 X2 Dual Core Processor 5200
ОЗУ - 2 Gb
ОС gentoo

Ядро самосборное, параметры системы, и механизм настройки лаборатории указывать не буду.
Укажу лишь основные пункты. В качестве системы виртуализации используется kvm, соответственно должны быть подгружены следующие модули:
kvm, kvm_amd для использования аппаратной виртуализации(естественно в биосе функции апаратной виртуализации должны быть включены).
tun, bridge модули требуются для настройки сети.
При желании данные модули могут быть вкомпилированны в ядро.

Для дальнейшей работы мне потребуется 2 виртуальных машины,
для сервера:
os linux, ради простоты экперимента будет использоваться debian etch
место хранения пользовательских бюджетов - openldap
способ редактирования пользовательских данных - для начала ручками формирую ldif файлы, а далее возможно написание скриптов, либо управление через какую либо вебморду.
для рабочей станции:
os windows xp,
пакет pgina.
Чтобы особо не мудрить с выделением ресурсов остановлюсь на следующих параметрах для обеих машинок:
отрезаю два диска по 5 Gb жесткий диск (в моем случае это lvm http://gazette.linux.ru.net/rus/articles/taleLinuxLVM.html ),
500 Mb озу
Запуск выглядит следующим образом:
для windows
kvm -drive file=/dev/lvm_disk/windows,if=ide,media=disk -drive file=/dev/hdb,if=ide,media=cdrom -m 512 -net nic,macaddr=52:54:00:12:34:57 -net tap
далее устанавливаем саму операционку.

для linux поступаем аналогичным образом.
Проблема:
После установки debian etch на виртуальный компьютер обнаружилась слдующая трабла:
Ядро которое встало по умолчанию отказывалось загружаться.
Небольшие поиски в инете навели на http://sourceforge.net/tracker/index.php?func=detail&aid=1906272&group_id=180599&atid=893831
После добавления параметра -no-kvm в строку запуска виртуальной машины загрузка прошла без проблем.
В дальнейшем было добавленно другое ядро (aptitude install kernel-image-2.6-amd64-generic), и полет продолжился в правильном направлении.
По окончании подготовки тестовой лаборатории оскрипт запуска выглядит следующим образом:

#!/bin/bash
# laba for pgina - ldap

# start laba
case $1 in
start)
echo "start laba"
# load modules
modprobe kvm
modprobe kvm-amd
modprobe bridge
modprobe tun

# add bridge, make nat for windows and linux
brctl addbr switch
ifconfig switch 192.168.10.1
iptables -t nat -A POSTROUTING -s 192.168.10.10 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.10.5 -j MASQUERADE

# start windows
kvm -drive file=/dev/lvm_disk/test,if=ide,media=disk -drive file=/dev/hdb,if=ide,media=cdrom -m 256 -net nic,macaddr=52:54:00:12:34:57 -net tap -name WindowsXP &

# start linux
kvm -drive file=/dev/lvm_disk/fedora,if=ide,index=0,media=disk -cdrom /home/chemist/Downloads/iso/debian-40r3-i386-DVD-1.iso -m 512 -net nic -net tap -name Debian &
;;
stop)

echo "stop laba"
brctl delbr switch
iptables -t nat -D POSTROUTING -s 192.168.10.10 -j MASQUERADE
iptables -t nat -D POSTROUTING -s 192.168.10.5 -j MASQUERADE
rmmod tun
rmmod bridge
rmmod kvm-amd
rmmod kvm


;;

*)
echo "try laba start|stop"
;;

esac

По идее в скрипте необходимы строчки для завершения работы виртуальных машин, но для меня это не актуально.

Итого в итоге имеем два виртуальных компьютера.
Далее требуется настроить сеть между ними, и лаборатория готова к дальнейшему использованию.

За сим первый шаг в подготовке закончен, и можно переходить непосредственно к решению первоначальной задачи.

Ну чтож следующим шагом будет установка и настройка openldap.
aptitude install ldap-server
aptitude install ldap-client

При желании можно добавить вебинтерфейс
aptitude install phpldapadmin
Далее производим первоначальную настройку:
/etc/ldap/slapd.conf
Привожу то что я правил

loglevel 256
database bdb
suffix "dc=laba"
rootdn "cn=admin,dc=laba"
rootpw мегапароль
directory "/var/lib/ldap"

и ограничения по безопастности
access to attrs=userPassword,shadowLastChange
by dn="cn=admin,dc=laba" write
by * auth
by * none
access to *
by self write
by anonymous read
by * none

Вообщемто для тех целей что мне интересны, этого более чем достаточно.
В случае применения на боевой инфраструктуре этим параметрам стои уделить куда больше внимания.
/etc/ldap/ldap.conf - параметры для ldap-client
BASE dc=laba
URI ldap://debian - так зовется мой виртуальный linux

Теперь можно остановить ldap, и подготовить почву для новой базы данных.
/etc/init.d/slapd stop
удалим имеющуюся базу ldap
rm /var/lib/ldap/*
стартуем сервис заного
/etc/init.d/slapd start
проверяем успешный старт.
tail -f /var/log/syslog
netstat -ltw

Пробуем подцепиться клиентом
ldapsearch -D "cn=admin,dc=laba" -W -x
в итоге должны получить следующее сообщение:
Enter LDAP Password:
# extended LDIF
#
# LDAPv3
# base <> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# search result
search: 2
result: 32 No such object

# numResponses: 1


Если все так, готовим минимальный ldif файл.
У меня он выглядит следующим образом:
cat pgina.ldif
dn: dc=laba
objectClass: dcObject
objectClass: organization
objectClass: top
dc: laba
o: home

dn: ou=Users,dc=laba
ou: Users
objectClass: organizationalUnit
objectClass: top

dn: ou=Groups,dc=laba
ou: Groups
objectClass: organizationalUnit
objectClass: top

dn: cn=chemist,ou=Users,dc=laba
givenName: Alexej
sn: Smirnov
cn: chemist
uid: chemist
uidNumber: 1000
gidNumber: 1000
homeDirectory: /home/chemist
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top

dn: cn=test,ou=Users,dc=laba
givenName: test
sn: test
cn: test
uid: test
uidNumber: 1001
gidNumber: 1000
homeDirectory: /home/test
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top

dn: cn=Users,ou=Groups,dc=laba
cn: users
gidNumber: 1000
objectClass: posixGroup
objectClass: top
memberUid: chemist
memberUid: test

далее заливаем данные на ldap сервер
ldapadd -D "cn=admin,dc=laba" -W -x -f pgina.ldif
Enter LDAP Password:
adding new entry "dc=laba"

adding new entry "ou=Users,dc=laba"

adding new entry "ou=Groups,dc=laba"

adding new entry "cn=chemist,ou=Users,dc=laba"

adding new entry "cn=test,ou=Users,dc=laba"

adding new entry "cn=Users,ou=Groups,dc=laba"

Теперь необходимо установить пароли для заведенных пользователей

ldappasswd -S -x -D "cn=admin,dc=laba" -W "cn=chemist,ou=users,dc=laba"
New password:
Re-enter new password:
Enter LDAP Password:
Result: Success (0)

ldappasswd -S -x -D "cn=admin,dc=laba" -W "cn=test,ou=users,dc=laba"
New password:
Re-enter new password:
Enter LDAP Password:
Result: Success (0)

Пробуем подсоединиться пользователем

ldapsearch -x -D "cn=chemist,ou=users,dc=laba" -W
Enter LDAP Password:

результат который должен получиться:
# extended LDIF
#
# LDAPv3
# base <> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# chemist, Users, laba
dn: cn=chemist,ou=Users,dc=laba
givenName: Alexej
sn: Smirnov
cn: chemist
uid: chemist
uidNumber: 1000
gidNumber: 1000
homeDirectory: /home/chemist
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

Если нет желания писать ldif файл можно воспользоваться phpldapadmin.

Если все прошло удачно, можно переходить к настройке WindowsXP

Требуется выкачать следующие пакеты:
http://sourceforge.net/project/showfiles.php?group_id=53525
pGina 1.8.8
Plugin Bundle 12-30-2006

Далее разархивируем и устанавливаем pgina и ldapauth.
Запускаем
пуск/все программы/pGina/Configuration Tools
Вкладка Plugin
Browse - выбираем интересующий плугин, в моем случае c:\pGina\plugins\ldapauth\ldapauth_plus.dll
Пока оставляем там все как есть.
Advanced - т.к. я цепляюсь к windows через rdp ставлю галочку Enable TerminalServices and Remout Desktop support
здесь пока все, жмем ок.
Запускаем Plugin Tester
Browse - выбираем ldapauth_plus.dll как и ранее.
configure - непосредственно настройка
я выставил следующие параметры:
LDAP Configuration
LDAP Method: Map Mode
- аудентификация на рабочей станции проходит pgina успешно аудентифицируется на ldap сервере
LDAP Server: 192.168.10.5
Port: 389
PrePend: cn=
Append: ou=users,dc=laba

Последние 2 строки получаю следующим образом:
ldapsearch -x uid=chemist dn
dn: cn=chemist,ou=Users,dc=laba - тут PrePend все что до имени пользователя, Append все что после.
Жмем OK
Вводим Test Data
Username: chemist
Password: мегапароль

жмем Login
Если получаем Successful Test то все ок
Жмем ОК и Exit
Теперь выходим из системы, и пробуем подцепиться с бюджетом хранящимся в ldap каталоге.

Эксперимент удался.

Если кому интересно выложу видео запись последней части эксперимента.
Выкладываю
Метки: , , , , ,
 
 
Настроение: ровное
Музыка: спокойная
 
 
 
 

Реклама

Настроить