Електронен подпис на Инфонотари под Линукс (Убунту)

Днес успях да подкарам (отново) електронния си подпис под Линукс. Не го бях използва от много време и наскоро, когато ми потрябва, установих, че не работи. Ще се опитам да опиша това, което направих стъпка по стъпка, така че да е от ползва на някой друг в бъдеше. Нямаше да се оправя без написаното тук и тук.
Най-напред, трябва да се уверим, че сме инсталирали pcscd. Това е демончето, с помощта на което достъпваме четеца. В моя случай, става дума за един USB Dongle на Omnikey, моделът е 6121. Инсталираме го, заедно със следните две библиотеки:

# aptitude install pcscd libpcsclite-dev libpcsclite1

След това, трябва да инсталираме драйвера за самото устройство (USB Dongle-а). Можем да го изтеглим от сайта на OmniKey. Избираме Линукс от падащото меню. Трябва ни файла „CardMan 3×21 PC/SC CCID for Linux 32 Bit“. След като го разархивираме стартираме install скрипта.
Накрая трябва да инсталираме OpenSC. Това е библиотеката, с помощта на която достъпваме картата.

# aptitude install opensc

След като го инсталираме, отваряме /etc/opensc/opensc.con , за да настройм opensc да използва само pcsc за връзка с четеца. Това става като, като разкоментираме reader_drivers опцията и оставим само pcsc. Ето как изглежда този ред при мен:

# What reader drivers to load at start-up
#
# A special value of ‘internal’ will load all
# statically linked drivers. If an unknown (ie. not
# internal) driver is supplied, a separate configuration
# configuration block has to be written for the driver.
# Default: internal
# NOTE: if „internal“ keyword is used, must be the
# last entry in reader_drivers list
#
reader_drivers = pcsc;

Рестартираме pcscd:

# /etc/init.d/pcscd restart

И проверяваме дали всичко работи, както трябва:

# opensc-tool -l
Readers known about:
Nr. Driver Name
0 pcsc OMNIKEY CardMan 6121 00 00

# opensc-tool -n
Using reader with a card: OMNIKEY CardMan 6121 00 00
CardOS M4

Публикувано в Linux | Коментирайте

Първи впечатления от Мото Пфое

Ще започна с това, че карам едно старо Волво В40. Колата е оборудвана с оригинален касетофон, който успях да заключа преди няколко дни. За да се отключи, трябва да се въведе четири цифрен код, който обаче аз не знаех.
Потърсих в Интернет и се оказа, че този код, може да се разбере по номера на шасито. За целта се свързах по телефона с Мото Пфое, по-специално с Андрей Серафимов и му продиктувах номера на шасито. Той на момента провери и се оказа, че за моята кола, не би трябвало да има код за касетофона. С други думи, не би трябвало да може да се заключи. Предложи да дойда в сервиза на Мото Пфое в Люлин, за да свалят касетофона и снимат серийния номер, след което той ще го прати на Волво, а те ще върнат кода за касетофона. Попитах колко ще ми струва услугата, а той каза, че е безплатно. Ще ми струва колкото да ми свалят касетофона, за да се вземе номера и след това да го монтират пак.
Речено сторено. Днес, малко преди обяд отидох в сервиза им. На врата ме посрещна една не особено общителна госпожа, работеща на информация, която не отвърна на поздрава ми. Въпросната госпожа ме упъти към приемчика на Волво. Обясних му каква е ситуацията, с кого съм говорил и за финал го питам колко ще ми струва услугата. И тук изненада ! Оказа се, че за да ми свалят касетофона и за да го върнат обратно след това, ще ми вземат „около 66 лева“ ! Слушам и не вярвам на ушите си ! Попитах го, кога може да свършим това нещо, с мисълта че може да стане на момента, а той ми каза „ела утре“. Трябва да отбележа, че през цялото време се обръщаше към мен на ти, не че е проблем, но се почуствах малко неловко, предвид факта, че аз му говорех на Вие. Хубаво казвам, ще дойда ама някой друг път. Малко по-късно, след като се прибрах извадих касетофона. За незнаещите, ще кажа че отнема точно половин минута и не са необходими никакви инструменти. Натискат се двете пластинки и се дърпат напред, с тях излиза и касетофона. Отгоре е залепена една лепенка, на която е изписан и серийният номер.
След като го снимах, се свързах отново с Андрей Серафимов (големи благодарности, за отзивчивостта и бързо свършената работа). Разбрахме се да му изпратя снимките по email-а, а той да ги препрати на Волво, за да върнат кода. След няма и половин час ми звънна по телефона и ми продиктува кода.

Публикувано в Размисли и страсти | Коментирайте

Конфигуриране на Subversion под FreeBSD

Настоящата публикация е свързана единствено с инсталирането и конфигурирането на Subversion. Няма да навлизам в подробности относно Subversion, какво представлява, как се използва и работи с тази, бих казал широко разпространена система за контрол на версиите. Повече за Subversion може да научите от „Version Control with Subversion“. Книгата е публикувана под Creative Commons лиценз, можете да изберете да я изтеглите заедно със Subversion, по време на инсталацията от ports.
С това всъщност трябва да започнем – инсталирането на subversion от ports системата на FreeBSD.

[root@myserver /usr/ports]# cd /usr/ports/devel/subversion
[root@myserver /usr/ports/devel/subversion]# make install clean

Тук всичко би трябвало да мине безпроблемо. Ще ми се да отбележа, че Subversion зависи от sqlite3, а той „отказва“ да се компилира с -ffast-math. За инсталирането на sqlite, временно махнах тази опция от /etc/make.conf и след това отново я върнах обратно. След като приключим с инсталацията, създаваме svn потребител и група.

[root@myserver /var]# adduser
Username: svn
Full name: SVN Repository
Uid (Leave empty for default):
Login group [svn]:
Login group is svn. Invite svn into other groups? []:
Login class [default]:
Shell (sh csh tcsh bash rbash nologin) [sh]: bash
Home directory [/home/svn]: /var/svn
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]: no
Lock out the account after creation? [no]:
adduser: INFO: Successfully added (svn) to the user database.

Home директорията, на този потребител всъщност е директорията, в която ще съхраняваме хранилищата. Аз избрах това да е /var/svn. Трябва да променим правата за достъп до тази директорията, така че всички от svn групата да имат пълен достъп до нея. Идеята е, всеки който принадлежи към svn групата, да има достъп до хранилищата.

[root@myserver /var]# chmod g+rwx svn
[root@myserver /var]# chmod o-rwx svn
drwxrwx— 2 svn svn 512 Nov 27 17:18 svn

Последно, трябва да променим и umask на svn потребителя. По подразбиране, той е 022. Ще го направим 007, така че групата да има пълен достъп до файловете. Понеже за shell избрахме bash, файлът в който трябва да направим това, ще бъде .bashrc. За целта, като svn потребител създаваме .bashrc и добавяме вътре „umask 0007″.

[root@myserver /var]# su svn
[svn@myserver /var]$ cd
[svn@myserver ~]$ touch .bashrc

Ето как би трябвало да изглежда .bashrc след тази промяна.

[svn@myserver ~]$ cat .bashrc
# Change umask
umask 0007

Трябва да добавим всички потребители, които искаме да достъпват хранилищата към svn групата, за целта редактираме /etc/group. Аз добавих само себе си към тази група. Ето как изглежда при мен реда със svn групата.

svn:*:1003:saiman

За да достъпвам по-лесно svn хранилищата, направих връзка от /svn към /var/svn.

[root@myserver /var]# ln -s /var/svn/ /svn

Последно, отново като svn потребител, създаваме хранилище.

[svn@myserver /svn]$ svnadmin create repo

За да се уверя, че всичко работи реших да се свържа към сървъра посредством ssh, изтегля хранилището и добавя един тестов файл.

saiman@mylaptop:/media/sda2/home/saiman/svnroot$ svn co svn+ssh://myserver.com/svn/repo
Checked out revision 0.
saiman@mylaptop:~/svnroot/repo$ svn add test.txt
A test.txt
saiman@mylaptop:~/svnroot/repo$ svn ci
Adding test.txt
Transmitting file data .svn: Commit failed (details follow):
svn: attempt to write a readonly database
svn: attempt to write a readonly database
svn: Your commit message was left in a temporary file:
svn: ‘/media/sda2/home/saiman/svnroot/repo/svn-commit.tmp’

Явно не работеше, така както очаквах. Оказа се, че repo/db/rep-cache.db, който се създава от svnadmin е без права за писане на групата. За да заработят нешата, трябва да променим правата на групата за този файл.

[svn@myserver /svn]$ chmod g+rwx repo/db/rep-cache.db

След тази последна намеса от наша страна, всичко би трябвало да заработи нормално.

Публикувано в *BSD | Коментирайте

Bash майстора

Никога не съм писал shell скриптове … до онзи ден. Реших да пренапиша php скрипта за конвертиране на mp3 в wave използвайки bash. Ето и резултата:

[geshi lang=bash]
#!/bin/bash
if [ -z "$1" ];
then
echo ‘Place enter the path to the mp3 files directory’;
echo ‘example: script.sh /sample/path/’;
exit;
fi

path=$1″*.mp3″;
counter=1;

for i in $path; do
newname=`printf „%02d“ $counter`;
newname=$newname“.wav“;
lame –decode „$i“ „$newname“;

counter=$(($counter+1));
done;
normalize-audio *.wav;
[/geshi]

Публикувано в Компютри | Коментирайте

Смяна паролата на стандартния ключодържател в Gnome

Ще се опитам да обясня с две думи, за какво се използва стандартният ключодържател, така както аз го разбирам. Ключодържателят в Gnome е приложение, което съхранява всичките ви пароли. Идеята е при влизане в Gnome (login) да въведете една единствена парола, тази за ключодържателя и след това автоматично да получите достъп (Gnome приложенията да получат достъп) до всички пароли, въведени преди това и съхранявани в ключодържателя. Пример за такава парола, е тази за връзка с wireless рутера. По подразбиране паролата на ключодържателя и паролата ви за вход в Убунту е една.
Преди няколко дни, смених потребителската си парола, за жалост тази на ключодържателя не се промени автоматично, а остана старата такава (старата ми потребителска парола). Само по себе си това нямаше да е проблем, ако след влизане в Убунту, не трябваше да въвеждам още веднъж парола, този път тази на ключодържателя. След известно време, прекарано в лутане из менютата, така и не успях да открия как да променя паролата на ключодържателя. Исках да я направя отново еднаква с тази за вход (login), за да не се налага да въвеждам две пароли. Накрая, след няколко неуспешни опита, да намеря откъде се променя, прибягнах до Google. Оказа се, че приложението за управление на паролите в Gnome се казва seahorse. Странното е, че никъде не успях да открия връзка към него от менюто и трябваше да го стартирам от конзолата с командата seahorse. За да променим паролата на ключодържателя, трябва да изберем с десен бутон „Пароли: login“ -> „Смяна на парола“ (отново Google помогна).
Започвам да си мисля, как нещо толкова елементарно може да те откаже от използването на Линукс, особено ако си потребител, който за първи път се сблъсква с тази операционна система.

Публикувано в Linux | 1 коментар