среда, 21 июля 2010 г.

linux автоматическая авторизация в разных системах

#!/usr/bin/expect -f
set timeout 20
spawn /usr/kerberos/bin/kinit -r 30d user@KTDOMAIN
expect "Password for workuser@KTDOMAIN:" { send "password\n" }
interact

скрипт получает тикет от Active Directory, очень важна строка "set timeout 30" (например задержки в 20 секунд не хватает поэтому нужно проверять хватает ли времени) - скрипт не будет без нее работать в crontab.

если в скрипте не только еxpect, то есть есть еще куча команд (использовал источник
http://stackoverflow.com/questions/10393848/using-expect-in-bash-script)

#!/bin/bash
cd /var/www/domains/bridge.com/
echo "Updating Source start"
expect <<- DONE
  set timeout  -1
  spawn git pull
  expect "*?assword:*"
  send -- "b15\r"
  send -- "\r"
  expect eof
DONE
echo "Updating Source done"

ясное дело если есть переменные (смотрим вышеприведенный источник нужно писать в начале скрипта #!/usr/bin/env bash)

но если сессия должна остаться и вы будете дальше что-то вводить (interact), то конечно нужно использовать конструкции вроде (источник http://blog.omnidarren.com/2011/04/quick-and-dirty-telnet-script-for-switches-in-bash/)

#!/bin/bash
(expect -c "
set timeout  20
spawn /usr/bin/telnet $1
expect \"Username:\"
send \"user\r\"
expect \"Password:\"
send \"pass\r\"
expect \">\"
send \"enable\r\"
expect \"Password:\"
send \"pass_en\r\"
interact
exit
")



среда, 14 июля 2010 г.

загрузка модулей ядра при старте (modprobe preload)

/etc/modprobe.preload: kernel modules to load at boot time.
#
# This file should contain the names of kernel modules that are
# to be loaded at boot time, one per line.  Comments begin with
# a `#', and everything on the line after them are ignored.
# this file is for module-init-tools (kernel 2.5 and above) ONLY
# for old kernel use /etc/modules

intel_agp
evdev
ip_conntrack_ftp

как видим файл называется /etc/modprobe.preload, старый /etc/modules уже не используется.
ip_conntrack_ftp - используется для коректной работы с пасивным ftp iptables, файла iptables-config mandriva не содержит

в redhat es 5.2 файлик такой есть /etc/sysconfig/iptables-restore там модули задаются через пробел в строке IPTABLES_MODULES="ip_conntrack_netbios_ns ip_conntrack_ftp"

понедельник, 5 июля 2010 г.

обмен трафик машинами, которы обе за NAT

./pwnat <-s|-c> <args> (-s, -c - клиент и сервер)
Для клиента
: [local ip] <local port> <proxy host> [proxy port (def:2222)] <remote host> <remote port>
Для сервера (можно помимо прочего указать доверенные хосты и порты)
: [local ip] [proxy port (def:2222)] [[allowed host]:[allowed port]...]

среда, 23 июня 2010 г.

медленная печать в cups

был принтяк hp1200 (подключен по USB), какие дрова не ставил всегда медленная печать, скачал поставил PPD файл - ничего не изменилось
залез в него
vim /etc/cups/ppd/hp1200_l.ppd
нашел там строку *DefaultResolution: 1200dpi
как видим разрешалка не кислая и поэтому листы долго формируются
строку исправил *DefaultResolution: 300dpi
принтер стал печатать с нормальной скоростью как под виндой.

пятница, 21 мая 2010 г.

анонимайзеры

http://anon.rengo.ru/ - не работает youtube, работаеют odnoklasniki, vkontakte
ctunnel.com - не работают odnoklasniki, vkontakte, работает youtube

postfix автоответчик

Приведу работающий тестовый вариант.

master.cf

autoreply unix - n n - - pipe
flags= user=nobody argv=/usr/local/etc/postfix/autoreply $sender $mailbox

main.cf

virtual_mailbox_maps = proxy:mysql:/usr/local/etc/postfix/mysql_virtual_mailbox_maps.cf
transport_maps = hash:/usr/local/etc/postfix/transport

transport

autoreply.example.ru autoreply:

mysql base

address goto

mailbox@example.ru mailbox@example.ru,mailbox@example.ru@autoreply.example.ru

autoreply

#!/bin/sh
/usr/sbin/sendmail -f $2 $1 < /usr/local/etc/postfix/autoreply.txt

autoreply.txt

This is a autoreply text
I am absent
Send mail later

источник http://www.postfix.ru/viewtopic.php?t=14020&highlight=%C0%E2%F2%EE%EE%F2%E2%E5%F2%F7%E8%EA

у меня

master.cf

autoreply unix - n n - - pipe
flags= user=nobody argv=/etc/postfix/autoreply $sender $mailbox

main.cf

virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-maps.cf
transport_maps = hash:/etc/postfix/transport

transport

autoreply.example.ru autoreply:

mysql base

address goto

mailbox@example.ru mailbox@example.ru,mailbox@example.ru@autoreply.example.ru

autoreply

#!/bin/sh
/usr/sbin/sendmail -f $2 $1 < /etc/postfix/autoreply.txt

autoreply.txt

This is a autoreply text
I am absent
Send mail later

!!!Не ставить не в коем случае админа, поскольку при нахождении письма на список рассылки, ему прийдет письмо -> список рассылки -> невозможность доставки на список рассылки (обратный адрес ее не такой как прямой) -> даемон админу о невозможности доставки -> автоответчик что админа нет -> даемон админу о невозможности доставки - цикл пошел!!!
Чтобы этого не случилось в mailman нужно в настройке рассылки поставить нет - Обработка ошибок доставки -> Должна ли программа Mailman пересылать вам, администратору списка рассылки, все сообщения о невозможности доставить сообщение, необработанные обработчиком ошибок доставки? Рекомендуется установить в Да. (Подробная информация о "bounce_unrecognized_goes_to_list_owner")

пятница, 14 мая 2010 г.

програмированние и отладка на php

1). традиционный метод "руками"
вывод все сообщений об ошибках (директива error_reporting установлена E_ALL) и расстановкой echo/print сообщений по всему коду (http://phpfaq.ru/debug)
2). продвинутый
отладчик Expert Debugger (phpexperteditor.com) - создали авторы PHP Expert Editor. Скачать с www.ankord.com