← All posts tagged shell

Скриптег файрвола для одиноко-стоящей в интернетах VPS-очки : ) Бета-Версия: pastebin.com

Пока сочинял, узнал про особенные особенности дефолтной политики цепочек иптаблес. Век жыви и все такое...

Оказывается, можно задать умолчательную политику iptables -P INPUT DROP, тогда специальное правило блокировки входящего трафика не нужно, но если потом, вдрук неподумавши, сделать iptables -F — можно лехко и непринужденно отвалиться от сервера и получить долгую дорогу к нему : )

Поэтому, в случае дефолтно-дропающей политики для входящей цепочки, перед iptables -F нужно всегда говорить iptables -P INPUT ACCEPT

А если хочется предсказуемости и не хочется долгой дороги к консоли — все дефолтные политики делаем ACCEPT, а правило DROP указываем явно, последним в цепочке. Такие дела )

Волшебная опция masterfile-format text; в /etc/bind/named.conf.options — и о чудо, слейв-зоны в бинде 9.9 приезжают в теплом-ламповом-читабельном плэйн-тексте, вместо стильно-молодежно-нечитабельного рава : )

Команда конвертации:

named-compilezone -j -f raw -F text -o ./<text zone file OUT> <zone name> ./<raw zone file IN>

Вопрос к никсоидам есть у меня... : ) В наличии система каталогов ~/Dropbox. Все каталоги — 0755, все файлы — 0644. Как-бы все это красиво зачмодить одной-двумя командами, чтобы каталоги стали 0777, а файлы — 0666 ?

Пейсателям самбы — превед, да : )

Запуск некой утилиты на всех компьютерах домена. В данном случае — Kido Killer : ))

Get-QADComputer -SearchRoot "DC=domain,DC=dom" -sizelimit 30000 |
ForEach-Object
{$name = $_.Name; start-process "\\DOMAIN\NETLOGON\KK\psexec.exe"
-ArgumentList "\\$Name -s -e \\DOMAIN\NETLOGON\KK\kk.exe -s -l %SYSTEMROOT%\kk.log"
-passThru; sleep 1;
}

#736289 почему-то напомнил древнючий бойан от времен, когда флэшки были формата 3.5" — 1.44 и квадратные:

Начальник — секретарю:
— Леночка, дорогая, перепиши месячную отчетность нашим партнерам, они сейчас к тебе подойдут.

Л.: — Добрый день, это вам переписать oтчетность?
П.: — Добрый день, да, будьте так любезны, вот чистая дискета, можно на нее.
Л.: — Да, конечно.

Вставляет дискету в дисковод, и:

# mkfs -t vfat -c /dev/fd0h1440
# mount -t vfat -o iocharset=koi8-r,codepage=866 /dev/fd0 /mnt/floppy
# find / -noleaf -type f -name Otchet_april.[a-zA-Z] -exec cp ‘{ }’; /mnt/floppy \;
# ls -la /mnt/floppy/Otchet_april.[a-z][A-Z] && sync && sleep 3

Л.: Возьмите пожалуйста!
П.: Них..$%#@я себе!!!
Л.: Что такое?!… Ой, извините, я опять отмонтировать забыла!

Решил привестить prompt в баше к гломурному виду. В связи с чем реквестируются интересные примеры : ) Мне надоело экспериментировать на следующем вариянте, хотя результатом и не совсем удовлетворен:

===.bashrc
## Define some colors
BLACK="\[\033[0;30m\]"
BLUE="\[\033[0;34m\]"
GREEN="\[\033[0;32m\]"
CYAN="\[\033[0;36m\]"
RED="\[\033[0;31m\]"
PURPLE="\[\033[0;35m\]"
BROWN="\[\033[0;33m\]"
GRAY="\[\033[0;38m\]"
LIGHTGRAY="\[\033[0;37m\]"
DARKGRAY="\[\033[1;30m\]"
LIGHTBLUE="\[\033[1;34m\]"
LIGHTGREEN="\[\033[1;32m\]"
LIGHTCYAN="\[\033[1;36m\]"
LIGHTRED="\[\033[1;31m\]"
LIGHTPURPLE="\[\033[1;35m\]"
YELLOW="\[\033[1;33m\]"
WHITE="\[\033[1;37m\]"
DEFAULT="\[\033[0m\]"

## Prompt samples

#PS1="[\u@\h]$ "
#PS1="{\w}\n[\u@\h]$ "
#PS1="[\u@\h:\W] "

#PS1="{$LIGHTBLUE\w$DEFAULT}\n[\u@\h]$ "
#PS1="$GRAY[$CYAN\u$RED@$CYAN\h$RED:$GREEN\W$GRAY]$DEFAULT "
PS1="{$LIGHTBLUE\w$DEFAULT}\n$GRAY[$CYAN\u$RED@$CYAN\h$RED:$GREEN\W$GRAY]$DEFAULT "

Внезапно обнаружил, что RCS невероятно и категорически полезен для хранения истории правок конфигов чего-бы то ни было в unix-like OS. В OpenBSD есть сразу искаропки, в debian-ubuntu:
apt-get install rcs

Система очень простая, осваивается за 10 минут:
cd
mkdir RCS
touch file.txt
ci -i -u file.txt — занесение в систему первой версии (снимается атрибут w в файле на диске), ревизия r1.1
co -l file.txt — чекаут для внесения изменений (файл лочится в системе, ставится атрибут w у файла на диске)
vi file.txt
ci -u file.txt — чекин измененного или не измененного файла обратно в систему контроля версий
rlog file.txt — просмотр истории правок
rcsdiff -r1.1 -r1.2 file.txt — отличия ревизий 1.1 и 1.2
rcsdiff -u file.txt — сравнение последней ревизии файла в системе с файлом на диске
co -p -r1.1 file.txt — листинг нужной ревизии
co -r1.1 file.txt — откат к нужной ревизии без блокировки в системе
cat file.txt