Ãœðù - Xakep Online
Ãœðù - Xakep Online
Ãœðù - Xakep Online
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
unixoid<br />
Андрей Матвеев<br />
Tips'n'tricks<br />
/ andrushock@real.xakep.ru /<br />
юниксоида<br />
Доблестный юниксоид!<br />
Представляю твоему вниманию<br />
очередную подборку<br />
различных трюков,<br />
рекомендаций и советов,<br />
касающихся *nix-систем.<br />
Network<br />
Создание шифрованного туннеля на 10 минут<br />
для безопасного получения почты:<br />
$ ssh -2 -4 -C -N -f -L 8110:<br />
localhost:110 myname@mydomain.ru \<br />
sleep 600<br />
Резервирование домашней директории на<br />
удаленном хосте:<br />
% tar zcf - ~/ | ssh trusted.box.ru<br />
'cat > mybackup.tgz'<br />
Оптимизация правил фильтра пакетов pf:<br />
# pfctl -nvf /etc/pf.conf > /root/<br />
pf.conf.orig<br />
# pfctl -nvf /etc/pf.conf -o ><br />
/root/pf.conf.optimized<br />
# diff -u /root/pf.conf.orig /root/<br />
pf.conf.optimized | less<br />
Перехват пакетов, проходящих через беспроводной<br />
сетевой интерфейс ral0:<br />
# tcpdump -nettti ral0 -y IEEE802_<br />
11_RADIO<br />
Создание IP-псевдонима (алиаса) для<br />
сетевого интерфейса fxp0 с IP-адресом<br />
192.168.1.1:<br />
# ifconfig fxp0 inet<br />
alias 192.168.1.2 netmask<br />
255.255.255.255<br />
ТРюки и советы юниксоиду<br />
Shell<br />
Аккуратное удаление временных файлов,<br />
созданных более семи дней назад:<br />
# find /tmp -type f -name '*' -mtime<br />
+7 -print0 | xargs -0 rm -f<br />
Автоматизированное изменение прав доступа<br />
к файлам и директориям:<br />
$ find . -type f -print0 | xargs -0<br />
chmod 644<br />
$ find . -type d -print0 | xargs -0<br />
chmod 755<br />
Фильтрация текстового потока по заданному<br />
шаблону (в данном случае пропускаем закомментированные<br />
строки):<br />
% grep -v '^#' /etc/sysctl.conf<br />
net.inet.ip.forwarding=1<br />
net.inet.esp.enable=0<br />
net.inet.ah.enable=0<br />
net.inet.gre.allow=0<br />
Расширенные регулярные выражения в<br />
действии:<br />
% netstat -na -f inet | egrep<br />
'80|443'<br />
tcp 0 0 *.80 *.* LISTEN<br />
tcp 0 0 *.443 *.* LISTEN<br />
Компиляция проекта в фоновом режиме:<br />
# nohup make &<br />
Журналирование интерактивной сессии без<br />
использования штатной утилиты script:<br />
% ksh -i |& tee mysession.log<br />
Пример использования множественных<br />
конвейеров:<br />
% mysql --user=jabberd2 --<br />
password=noidea jabberd2 \<br />
-e 'SELECT * FROM active' | fgrep<br />
-v collection-owner | \<br />
sort | awk '{ print $1 }' > /var/<br />
www/htdocs/jabber2_users.txt<br />
Misc<br />
Удобный просмотр всех журнальных записей в<br />
реальном времени с помощью программы screen<br />
из набора GNU-утилит:<br />
$ vi ~/.screenrc<br />
screen -t logz1 1 tail -f /var/log/<br />
authlog<br />
screen -t logz2 2 tail -f /var/log/<br />
daemon<br />
screen -t logz3 3 tail -f /var/log/<br />
maillog<br />
screen -t logz4 4 tail -f /var/log/<br />
messages<br />
screen -t logz5 5 tail -f /var/log/<br />
xferlog<br />
select 1<br />
Кодирование фильма для комфортного просмотра<br />
на КПК:<br />
$ mencoder berkova.avi -oac mp3lame<br />
-ovc lavc -lavcopts \<br />
vcodec=mpeg4:vhq:vqmin=2:vqmax=20:<br />
vmax_b_frames=2:vbitrate=100:<br />
vqcomp=0.6 \<br />
-vop scale=220:165,eq=15 -ofps 20<br />
-zoom -sws 2 -lameopts \<br />
cbr:br=32:aq=0:mode=3 -o berkova_<br />
pda.avi<br />
Создание ISO-образа OpenBSD 4.0 своими руками<br />
(дистрибутивные файлы из ftp://ftp.openbsd.<br />
org/pub/OpenBSD/4.0/i386/ должны находиться в<br />
каталоге /home/openbsd/image/4.0/i386):<br />
# cd /home/openbsd<br />
# mkhybrid -b 4.0/i386/cdrom39.fs -c<br />
boot.catalog \<br />
-lrvDJLN -hide boot.catalog -hidejoliet<br />
boot.catalog \<br />
-V "obsd40" -o obsd40.iso image<br />
Уничтожение всех процессов, использующих<br />
/mnt/cdrom:<br />
# cd /<br />
# fuser -k -m /mnt/cdrom<br />
# umount /mnt/cdrom<br />
Пример запуска игрового сервера из стартового<br />
скрипта:<br />
# vi /etc/rc.local<br />
/usr/bin/su -c "cd /usr/<br />
local/games/quake3 && /usr/local/bin/<br />
screen -d -m ./q3ded +exec configfile.<br />
cfg". z<br />
xàêåð 05 /101/ 07<br />
/<br />
119