Home
Kazakov Alexander's Journal [entries|friends|calendar]
Kazakov Alexander

[ userinfo | livejournal userinfo ]
[ calendar | livejournal calendar ]

Apache+chroot [30th April, 10:58]
[ mood | angry ]
[ music | NTL - Никaкого просвета.mp3 ]

Установленный по умолчанию в OpenBSD Apache, "чрутится" в /var/www.
Отсюда у многих возникают вопрос : как мне перенести корень чрут окружения? Эти же многие решают проблему кардинально - лезут в исходники и правят #define там.
А не логично ли посмотреть man и увидеть там флаг -d ?
echo 'httpd_flags="-d /new/root"' >> /etc/rc.conf.local
Отличие способов лишь в том, что при последующем обновлении, первый способ придется применять повторно. Согласитесь это не есть гуд :-)

Поехали дальше...
Не менее распространненый вопрос : Почему у меня не запускаются cgi-скрипты на php,perl, python и etc, конфиг настроен правильно!

Граждане, ну гда вам интерпретатор в чруте, если вы его туда заранее не поместили ?!
Опять же можно посметить в чрут необходимый интерпретатор, либо исползовать флаг -u, пуская apache без чрут окружения. Я выбираю выход номер два. Почему ? А нужен ли этот чрут ? :)

Xристос Воскресе [23rd April, 10:03]
[ mood | good ]
[ music | A Bugged Out Mix By Miss Kitten [2CDs][House][2006] ]

C праздником!

Жду... [20th March, 22:26]
Заказал книгу "Advanced programming" и жду, жду и жду. Уже рученки то горят почитать ;)
Когда же её принесут

Скриптик для монтирования ISO-образов by Andrus [8th March, 19:58]
[ mood | awake ]
[ music | Infected Mushroom - BP empire.mp3 ]

#!/bin/sh

file=$2
dir=$3

case "$1" in

Read more... )

Вспомнилось в связи с хвостом [3rd March, 11:03]
Радиус хЪя, положенного на учёбу в семестре равняется половине диаметра жопы на сессии.

Cкрываем отображаемую версию OpenSSH [10th February, 17:07]
В /usr/src/usr.bin/ssh/version.h для OpenBSD или в /usr/src/crypto/openssh/version.h для FreeBSD меняем :

#define SSH_VERSION_BASE "OpenSSH_ver"
на
#define SSH_VERSION_BASE "OpenSSH"

и пересобираем :

make depend && make && make install

OpenBSD [28th January, 19:14]
$ uname -a
OpenBSD mr129-92.awk.lan 3.9 MALISHKA#0 i386
$ date
Sat Jan 28 19:14:32 MSK 2006

Запуск Apache в jail окружении под FreeBSD [4th December, 0:03]
[ mood | мертвое существо ]
[ music | Карандаш - Почему Ты Не Спишь.mp3 ]

Не буду вдаваться в подробности как, что и зачем. Просто мне охота пострадать фигней. И так. Структура сети примерно такая

<*>Internet<*> - (xl0)[FreeBSD](xl1)-(Jail)+(int_network)

Есть выход в Интернет через внешний интерфейс xl0 и внутренняя сеть 10.0.0. Так как свободного внешнего IP под рукой не было, пришлось повесить jail на «серый адрес». Недолго думая, выбрал внутренний ифейс и повесил на него через alias jail-вый ип (в моем случае 172.16.0.3)
Read more... )

Тестим ОЗУ в обход memtest [24th November, 17:20]
Получим кучу несжимаемых данных
dd if=/dev/urandom of=random.dat bs=1M count=БОЛЬШЕРАЗМЕРАОЗУ
bzip2 -c < random.dat > random2.dat.bz2

Распакуем в /dev/null (можно и на диск конечно)
bzip2 -dc < random2.dat.bz2 > /dev/null

Сбой обычно выглядит так:
bzcat: Data integrity error when decompressing

PC -> Bluetooth -> Phone by Andrus [23rd November, 9:58]
Захотелось через синий зуб глянуть на свой телефон, а то и поделать с ним что-нибудь. Легко!

Прописываем в /boot/loader.conf строку
ng_ubt_load="YES"

Read more... )

Легкий тюнинг [20th November, 16:27]
Черные дыры.

net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
Это превращает машину в черную дыру при попытке подключиться к портам, которые не слушают. Nmap по настоящему не любит это.
Read more... )

Монтируем NTFS в режиме чтения-записи [20th November, 16:20]
По умолчанию NTFS монтируется только в режиме чтения, ее можно попробовать смонтировать для чтения-записи, но за последствия никто не отвечает. Сейчас попробую рассказать, как это сделать без особого вреда, хотя и du работать не будет.
Есть такой проект - Captive-Ntfs, они только и занимаются тем, что монтируют ntfs ные партиции, и достигли в этом определенных успехов.
итак, запасемся их дистрибутивом и попробуем смонтировать нтфс,
1. монтируем просто нтфс в режиме чтения:
# mkdir /mnt/win
# mount -o ro -t ntfs /dev/ad1s1 /mnt/win

2. копируем виндовозовские дрова:
# cp /mnt/win/WINDOWS/system32/drivers/ntfs.sys /usr/compat/linux/var/lib/captive
# cp /mnt/win/WINDOWS/system32/ntoskrnl.exe /usr/compat/linux/var/lib/captive

3. возвращаем взад как было
# cd / ; umount /mnt/win

4. теперь все равно, есть ли жизнь на марсе а на диске с нтфс нужные драйвера или их нет
# mount.captive-ntfs /dev/ad1s1 /mnt/win
# cd /mnt/win
# touch мой_файл_удали_меня_скорее

если честно, то вышеописанный типс пробовал только в live-cd Gentoo, когда нужно было "вспомнить" забытый пароль администратора, хотя теоретически во FreeBSD должно сработать без накладок.

Вывод изображения отдельно взятых программ на TV [20th November, 16:17]
Одно из решений -настроить сразу два экрана в XFree86.

При этом один экран (:0.0), это рабочий монитор. На нем отображается десктоп, панели и все остальное, а второй экран (:0.1), это телевизор.

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

Read more... )

Работаем с потоком: обработка строк [20th November, 16:16]
grep '/regex/' # ищем строчку в тексте
grep -v '/regex/' # находим все, кроме заданной строки
sed '/закат/,/рассвет/d' # отрезаем данные от заката до рассвета
sed -n '/закат/,/рассвет/p' # выводим текст от заката до рассвета
awk '/start/,/finish/{print}' # тоже самое, что и строчкой выше, только вид сбоку
sed '/ВЕРХ/,/НИЗ/!d' | sed '1d;$d' # выделить секцию между ВЕРХ и НИЗ
sed '/закат/,/рассвет/!b;s/Вася/Петя/;s/Пупкин/Иванов/' # замена от заката до рассвета
sed -n 's/.*\(regex\).*/\1/p' # вывести найденное
perl -ne 'if(/regex/){print "$ and \n"}' # тот же вариант с использованием перла
sed 's/^/ /' # добавим три пробела перед строкой
sed 's/$/ /' # добавим три пробела в конце строки
sed 's/^ *//;s/ *$//' # убираем пробелы
sed '/^$/q' # выводим до первой пустой строки
sed 1d # печатаем первую строку
sed '$d' # печатаем последнюю строку
nl -ba # нумеруем строки
awk '{print NR " " $0}' # тоже самое с помощью awk
cut -c -79 # урежем строку до 79 символов
awk '{ for (i = NF; i > 0; --i) printf("%s ",$i); print }' # реверс слов (часто подобные программки просят написать на зачете по паскалю)
awk '{ for (i = length($0); i > 0; --i) printf("%s",substr($0,i,1)); print }' # реверс символов
awk -F',[ \t]*' '{ print $2, $1 }' # меняем местами два символа
sort -u # сортируем уникальные записи
sort -r # сортируем в обратном порядке
sort -k 3,2 -t: # сортируем по второй буковке третьего поля, где двоеточие - символ разделителя полей
paste - - # разбить текст на 2 колонки
sed -e 's/^\([^,]*\)\(.*,\)\([^,]*\)$/\3\2\1/' # меняем местами первое и последнее поле

как видите, фантазировать можно бесконечно - пример практического применения:
--------
скриптец делает бекап каталога
--------

#!/bin/sh -

fname='всякая_хрень.'`date | cut -f 2,3,4 -d ' ' | sed -e 's/\ /\./g'`".tar.gz"
tar -zcf /home/pavel/$fname /home/pavel/mydocs /home/pavel/src

# ------- такой вот коротенький скрипт --------

Как посмотреть, имея рутовые права что набирают на терминалах? [20th November, 16:13]
Очень просто.
1. Компилим ядро с поддержкой snp
для параноиков - его можно просто загрузить командой kldload snp.ko
2. Создаем устройство
cd /dev
./MAKEDEV snp0
(для разных целей можно создать кучу таких устройств)
3. Kомандой w смотрим какие терминалы используются и начинаем мониторинг:
watch p0
4. Выход из мониторинга Ctrl-G

Автомонтирование сидирома [20th November, 16:02]
Скажите честно - каждый раз когда переключаетесь в режим суперпользователя и потом набираете команду mount -t cd9660 /dev/cd0c /cdrom ну или mount_cd9660 /dev/cd0c /cdrom - никогда не возникало мысли делать это автоматически?
Попробуем сделать автомонтирование средствами FreeBSD.
1. Проверьте присутствие следующей строчки в конфигурации ядра:
options NFS

2. Cмотрим а есть ли сидиром в системе:
# dmesg | grep cd0
acd0: CD-RW <TOSHIBA ODD-DVD SD-R1512> at ata1-master PIO4

3. Пробуем монтируется ли он вообще:
(вставить диск не забываем)
# mount_cd9660 /dev/acd0c /cdrom
# umount /cdrom
флопик можно проверить таким же способом.

4. Редактируем /etc/fstab - записываем следующие строчки
/dev/acd0c /cdrom cd9660 ro,noauto,nodev,nosuid 0 0
/dev/fd0c /floppy msdos rw,noauto 0 0
(монтирую в корневом каталоге - каталоги можно по желанию выбрать любые)

5. Теперь попробуем примонтировать сидиром и флопик еще раз:
# mount /cdrom
# mount /floppy

6. В файл /etc/rc.conf добавляем строчки:
portmap_enable=YES
amd_enable=YES
amd_flags="-a /.amd_mnt -c 3636 -l syslog /host /etc/amd.map"
(цифры 3636 обозначают время таймаута до попытки автоматического размонтирования каталога, если про каталог забыли)

7. Создаем каталог /.amd_mnt (с правами root:wheel)

8. Редактируем файл amd.map:
/defaults type:=host;fs:=${autodir}/${rhost};rhost:=${key}

* opts:=rw,grpid,resvport,nfsv2

localhost type:=auto;fs:=${map};pref:=${key}/

localhost/cdrom type:=program;fs:=/cdrom;\
mount:="/sbin/mount mount /cdrom";\
unmount:="/sbin/umount umount /cdrom"

localhost/floppy type:=program;fs:=/floppy;\
mount:="/sbin/mount mount /floppy";\
unmount:="/sbin/umount umount /floppy"

9. Оформляем ссылочку на сидиром:
# ln -s /host/localhost/cdrom /cdrom

10. Перезагружаемся, делаем проверку того, что сделали:
$ mount
$ amq

[20th November, 15:53]
Вот создал журнал и не знаю что в нем писать...
Скорее всего буду писать здесь простенькие заметки о собственной жизни и работе с BSD

navigation
[ viewing | most recent entries ]

Advertisement