Записи с метками Open Source
Запуск приложений работающих с базами данных Access в wine
25 Март
Сегодня подопытным приложением будет довольно специфичное программное обеспечение для топографа роговицы Tomey TMS-4.
Установка производилась в Ubuntu 9.10. Цели работать с самим прибором не было, нужен был лишь просмотр результатов.
Установка проходит нормально:
Регистрация ActiveX компонентов делается путем перехода в режим командной строки wine и запуском идущего в комплекте с ПО bat файла: Читать дальше >
Монтирование удаленных ресурсов с помощью Gigolo
17 Февраль
Решил перейти на CrunchBang Linux. Всем он хорош, но, так как вместо Gnome используется OpenBox + PCman, простых способов создать закладки с подключениями к серверам нет.
Есть такой проект – Gigolo. Представляет собою оболочку для монтирования различных сетевых ресурсов.
sudo apt-get install gigolo
Так как файловый менеджер PCMan, установленный в CrunchBang не поддерживает URI вида sftp://user@192.168.0.5/, установим и настроим gvfs-fuse:
sudo apt-get install gvfs-fuse
Собственно, вся настройка заключается в добавлении пользователя в группу fuse:
sudo gpasswd -a username fuse
Вот и все, выходим из системы и заходим заново, подключаемся, щелкаем на иконке подключения и работаем с удаленным ресурсом как с обычной директорией.
Обаятельный минимализм: CrunchBang Linux
29 Декабрь
Отличный дистрибутив, основанный на Ubuntu и Openbox. Парни проделали много работы, дистрибутив скроен аккуратно, минималистичный дизайн удался на славу. В комплекте сразу же поставляется Flash Player, Skype и много чего еще. NetworkManager присутствует. Рекомендую
Список других «минималистичных» дистрибутивов Linux:
http://wiki.laptop.org/go/Minimal_Linux_distros
Установка OpenDS Directory Server в Ubuntu Server 8.04
23 Декабрь
Сегодня мы установим службу каталогов OpenDS Directory Server
Скачивам архива вида OpenDS-2.x.x.zip отсюда:
https://opends.dev.java.net/public/downloads_index.html
Устанавливаем Java 6 JDK:
sudo apt-get install sun-java6-jdk
Копируем содержимое архива, например, в /var/opends и запускаем установку:
cd /var/opends
./setup
Вводим имя менеджера каталога (по-умолчанию Directory Manager), его пароль, порт LDAP (по-умолчанию – 389), порт для утилиты администрирования (по-умолчанию – 4444), базовый DN (например, dc=mtaalamu,dc=ru):
Установка OpenSSO в Linux (Ubuntu Server 8.04)
22 Декабрь

Проект Open Web SSO project (OpenSSO) – это сервис, разработанный Sun Microsystems, позволяющий упростить процесс авторизации пользователей в сетевой инфраструктуре. OpenSSO берет всю работу по поддержке различных механизмов авторизации на себя.
Сайт проекта:
Скачать можно здесь:
https://opensso.dev.java.net/public/use/index.html
Я устанавливал на платформе Ubuntu Server 8.04.
Скачиваем архив вида opensso_express_20090901.zip:
wget http://download.java.net/general/opensso/stable/opensso-build8/opensso_express_20090901.zip
Распаковываем, например, в ~/opensso.
Также необходим сервер Apache Tomcat, скачиваем здесь: Читать дальше >
Сборка Google Chrome OS (Chromium OS) в Ubuntu 8.04
17 Декабрь
Нынче делают свои ОС все кому не лень. С появлением нетбуков – все наперебой стали пытаться захватить кусочек рынка. Moblin, Ubuntu Netbook Remix, вот теперь еще и Chrome OS (на основе открытого проекта Chromium) от великой и ужасной. Конечно, назвать полноценной ОС язык не поворачивается, скорее, это будущая встраиваемая операционная система на базе Linux, предназначенная для использования различных Web сервисов Google (и не только).
Вобщем, рискнем собрать ее из исходного кода. Я собирал на Ubuntu 8.04.
Скачиваем архив с исходным кодом со страницы: Читать дальше >
Ограничиваем права пользователя в оболочке c помощью Limited Shell (lshell) в Debian Lenny
11 Декабрь
Limited Shell помогает в тех ситуациях, когда по каким-либо причинам chroot не подходит, а защитить систему нужно … хоть символически. Принцип действия прост – lshell позволяет выполнять только определенный администратором набор команд, переходить только в разрешенные каталоги, отслеживает попытки запуска других оболочек.
Для Debian Lenny я скачал архив с исходным кодом. Распаковываем, запускаем:
python setup.py install --no-compile
running install
running build
running build_py
creating build
creating build/lib
copying lshellmodule/lshell.py -> build/lib
running build_scripts
creating build/scripts-2.5
copying and adjusting bin/lshell -> build/scripts-2.5
changing mode of build/scripts-2.5/lshell from 644 to 755
running install_lib
copying build/lib/lshell.py -> /usr/lib/python2.5/site-packages
running install_scripts
copying build/scripts-2.5/lshell -> /usr/bin
changing mode of /usr/bin/lshell to 755
running install_data
copying etc/lshell.conf -> /etc
creating /usr/share/doc/lshell
copying README -> /usr/share/doc/lshell
copying COPYING -> /usr/share/doc/lshell
copying CHANGES -> /usr/share/doc/lshell
copying man/lshell.1 -> /usr/share/man/man1/
running install_egg_info
Writing /usr/lib/python2.5/site-packages/lshell-0.9.8.egg-info
Все, lshell установлен.
Создаем директорию для log файлов:
mkdir /var/log/lshell
Создаем группу lshellg:
groupadd --system lshellg
Изменяем права на директорию с log файлами:
chown :lshellg /var/log/lshell
chmod 770 /var/log/lshell
Изменяем shell пользователя и добавляем его в группу lshellg:
usermod -s /usr/bin/lshell user1
usermod -a -G lshellg user1
Настройки хранятся в файле /etc/lshell.conf и подробно описаны в README. Мы добавляем следующие строки для пользователя user1 в конец конфигурационного файла:
[user1]
allowed : ['ls','ll','echo','cd','cp','rm','mkdir','rmdir','wget','vi','vim']
path : ['/var/www/1', '/var/www/2', '/var/www/3']
forbidden : [';', '&', '|','`','>','<']
warning_counter : 5
aliases : {'ll':'ls -l', 'vi':'vim'}
Суть – данные настройки имеют больший приоритет, чем настройки из секции [default] конфигурационного файла. Разрешены только определенные команды (allowed), помимо домашней, разрешены переходы в несколько директорий (path), в консоли запрещены перенаправления ввода-вывода и прочие вещи (forbidden), разрешено наступать на мины 5 раз, перед тем, как пользователь будет отключен (warning_counter), прописаны алиасы команд.
Это разумеется не панацея. Нужно внимательно следить за тем, какие команды разрешены и какие в них «недокументированные возможности». Например, разрешая mc можем заходить во все директории, ну и т.п.
Запрещаем выполнять команды по ssh, но разрешаем scp, sftp, cvs, rdist или rsync в Debian Lenny
11 Декабрь
Иногда нужно запретить какому-либо пользователю выполнение команд по ssh, но разрешить только scp, sftp, cvs, rdist или rsync.
Устанавливаем:
apt-get install rssh
Меняем shell по-умолчанию у пользователя:
usermod -s /usr/bin/rssh user
По-умолчанию все запрещено.
Редактируем /etc/rssh.conf, разблокируя то, что нам нужно:
#allowscp
#allowsftp
#allowcvs
#allowrdist
#allowrsync
Запуск Java и Apache Felix в chroot jail окружении в Debian Lenny
9 Декабрь
Создание отдельного chroot окружения для Java и Apache Felix позволяет повысить безопасность сервера. Настройку chroot будем производить с помощью утилиты makejail:
apt-get install makejail
Создаем директорию, в которой будет работать Java и Apache Felix.
mkdir /var/flx
Скачиваем свежий JDK и устанавливаем его, запустив бинарный файл в директории /var/flx – он будет распакован в директорию jdk1.6.0_xx.
Директорию с рабочим Apache Felix скопируем, например, в /var/flx/felix.
Создаем пользователя flx, от имени которого Apache Felix будет запускаться в chroot окружении:
adduser --home /var/flx --no-create-home --system --group flx
Создаем скрипт /var/flx/felix-start.sh – он будет запускаться внутри chroot окружения и стартовать Java и Apache Felix:
# !/bin/sh
cd /felix
/jdk1.6.0_18/bin/java -jar ./bin/felix.jar
Пока директория /var/flx выглядит так:
jdk1.6.0_18
felix
felix-start.sh
Меняем владельцев директорий и файлов в /var/flx:
chown root:root -R /var/flx
chown flx:flx /var/flx
chown flx:flx -R /var/flx/felix
chown flx:flx /var/flx/felix-start.sh
chmod 750 /var/flx/
chmod 750 /var/flx/felix
chmod 750 /var/flx/felix-start.sh
В /etc/makejail/ создаем файл felix.py следующего содержания:
chroot="/var/flx"
testCommandsInsideJail=['sh', 'cd', '/var/flx/jdk1.6.0_18/bin/java']
users=["flx"]
groups=["flx"]
Запускаем утилиту makejail, указав созданный конфигурационный файл. makejail проверит все зависимости команд, перечисленных в testCommandsInsideJail и скопирует необходимые библиотеки в /var/flx:
makejail /etc/makejail/felix.py
Получаем предупреждение о том, что /proc придется примонтировать:
WARNING:
You'll need the filesystem procfs mounted as /var/flx/proc
It's mounted now, you can mount it again for example before starting the daemon with :
mount -t proc proc /var/flx/proc
Не забываем проверить, чтобы в /var/flx/etc/passwd, /var/flx/etc/group и /var/flx/etc/shadow (если есть) не было записей других пользователей и групп!
Создаем tmp директорию:
mkdir /var/flx/tmp
chown flx:flx /var/flx/tmp
Теперь /var/flx выглядит так:
drwxr-xr-x 2 root root 4096 Дек 9 18:56 bin
drwxr-xr-x 2 root root 4096 Дек 9 18:56 dev
drwxr-xr-x 2 root root 4096 Дек 9 19:10 etc
drwxr-x--- 7 flx flx 4096 Дек 9 19:12 felix
-rwxr-x--- 1 flx flx 63 Дек 9 19:08 felix-start.sh
drwxr-xr-x 10 root root 4096 Дек 9 16:39 jdk1.6.0_18
drwxr-xr-x 4 root root 4096 Дек 9 18:57 lib
dr-xr-xr-x 2 root root 4096 Дек 9 18:56 proc
drwxr-xr-x 2 root root 4096 Дек 9 18:57 sbin
drwxr-xr-x 2 root root 4096 Сен 16 2008 selinux
drwxr-xr-x 3 root root 4096 Дек 9 18:56 sys
drwxr-xr-x 3 flx flx 4096 Дек 9 19:06 tmp
drwxr-xr-x 4 root root 4096 Дек 9 18:56 usr
drwxr-xr-x 3 root root 4096 Дек 9 18:56 var
Создаем 2 скрипта для запуска и остановки Apache Felix в chroot окружении:
/etc/felix-chroot-start.sh:
# !/bin/sh
mount -t proc proc /var/flx/proc
start-stop-daemon --start --chroot /var/flx --chuid flx:flx --exec felix-start.sh &
/etc/felix-chroot-stop.sh:
# !/bin/sh
killall felix-start.sh
killall java -u flx
umount /var/flx/proc
Меняем права:
chmod 750 /etc/felix-chroot-start.sh /etc/felix-chroot-stop.sh
Вот и все. Запускаем /etc/felix-chroot-start.sh:
Winetricks – простая установка библиотек в Wine
1 Декабрь
Winetricks облегчает установку различных библиотек, кодеков, шрифтов, софта и т.п в Wine. Скрипт сам скачает нужные файлы и установит все что нужно.
Скачиваем скрипт в консоли и запускаем:
wget http://www.kegel.com/wine/winetricks
chmod 777 winetricks
./winetricks
Например, очень просто установить MDAC:


http://wiki.winehq.org/winetricks
Скрипт можем запускать, указав пакеты для установки: Читать дальше >
Перенос движка LiveStreet на другой домен
18 Ноябрь
Конечно же при таком переносе ссылки в постах и комментариях остаются старыми и изображения не отображаются. Исправить можно в базе вот так:
UPDATE `prefix_topic_content` SET `topic_text` = REPLACE(`topic_text`, "http://old.ru", "http://new.ru") UPDATE `prefix_topic_content` SET `topic_text_short` = REPLACE(`topic_text_short`, "http://old.ru", "http://new.ru") UPDATE `prefix_topic_content` SET `topic_text_source` = REPLACE(`topic_text_source`, "http://old.ru", "http://new.ru") UPDATE `prefix_topic_comment` SET `comment_text` = REPLACE(`comment_text`, "http://old.ru", "http://new.ru")
Acer Aspire One и Ubuntu 9.10 – усмиряем шум вентилятора
18 Ноябрь
Несмотря на небольше размеры AOAшки, шум он издает довольно ощутимый. Лечится установкой модуля acerhdf:
wget http://piie.net/files/acerhdf_kmod-0.2.2-2.tar.gz
tar zxvf acerhdf_kmod-0.2.2-2.tar.gz
cd acerhdf_kmod
make
make install
Загружаем модуль ядра: Читать дальше >
Делаем загрузочную флешку с Linux по-быстрому
17 Ноябрь
UNetbootin – отличная утилита для создания загрузочных флешек из образов самых разных дистрибутивов (кстати, образы может сама и скачать). Как-то раньше не приходилось пользоваться этой утилитой – но, как оказалось, работает.
Простое монтирование удаленного диска по sftp в консоли
31 Октябрь
Если у нас есть доступ по ssh, следовательно есть и возможность копировать файлы по sftp (для тех кто в танке). Копировать файлы по ssh можно, например, с помощью Midnight Commander’а, но прописывать в его окне параметры соединения и пароль бывает не очень удобно. Поэтому проще монтировать удаленную файловую систему в консоли:
sudo apt-get install sshfs
В некоторых случаях необходимо добавить пользователя в группу fuse:
sudo adduser имя-пользователя fuse
В Ubuntu 9.10 этого делать не понадобилось.
Монтируем:
sshfs имя-пользователя@192.168.1.1:/удаленная-директория/ ./локальная-директория








