среда, 1 июля 2009 г.

MySQL. Восстановление пароля.

Восстановление пароля к серверу MySQL:
1. Остановить mysql-сервер
# /usr/local/etc/rc.d/mysql-server stop
2. Запустить mysqld с опцией --skip-grant-tables
# mysqld_safe --skip-grant-tables &
3. Соединиться с mysql-сервером
# mysql -u root
4. Установить пароль root
mysql> use mysql;
mysql> update user set password=PASSWORD('root_password') where user='root' and host='localhost';
mysql> flush privileges;
mysql> quit
5. перезапустить MySQL.

SubVersions

Поднял сервер:
Slackware + Apache 2.0 + PHP 5.0.1 + MySQL 4.12 + PHPMyAdmin + SubVersions 1.5.4.
Возни было много. Куча пересборок, перенастроек...

Тут - краткая инфа по установке и началу работы с SVN.
Инсталлировалось с дистрибутивом SlackWare.
Для его работы через http нужно пересобрать Apache c ключами:
--enable-dav --enable-dav-fs --enable-dav-lock


mkdir /usr/local/www/svnrep
svnadmin create /usr/local/www/svnrep/project
chown -R www:www /usr/local/www/svnrep

Добавляем пароли и пользователей:
htpasswd /usr/local/etc/svn.passwd <username>


Вносим в настройку Apache соответствующий блок

<Location>
DAV svn
SVNParentPath /usr/local/www/svnrep
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /usr/local/etc/svn.passwd
Require valid-user
</Location>


Перезапускаем Apache (aka httpd)
Создание нового проекта:

svn co http://server.net/svn/project/ <project>


Вот тут есть бесплатная книга по SVN.

вторник, 30 июня 2009 г.

Некоторые полезные команды ATS TDA616-308

Установка режима безусловной переадресации звонков на внутренние номера
Снять >> 71 >> 1 >> Внутренний номер >> # >> подтв. сигнал. >> Положить

Установка режима безусловной переадресации звонков на внешние номера
Снять >> 71 >> 3 >> внешний номер >> # >> подтв. сигнал. >> Положить

Установка режима переадресации звонков при занятости или отсутствии ответа
Снять >> 71 >> 2 >> Внутренний номер >> # >> подтв. сигнал. >> Положить

Отключение режима переадресации звонков
Снять >> 71 >> 0 >> # >> подтв. сигнал. >> Положить

Установка режима переадресации звонков при перемещении (указываете, на какой номер сейчас принимать звонки вам)
Снять >> 71 >> 5 >> Ваш внутренний номер >> # >> подтв. сигнал. >> Положить

Отключение режима переадресации звонков при перемещении
Снять >> 71 >> 8 >> Ваш внутренний номер >> # >> подтв. сигнал. >> Положить

Установка/отключение режима Не Беспокоить
Снять >> 71 >> 0 (отменить) / 4 (установить) >> подтв. сигнал. >> Положить

Перехват входящего звонка (при входящем звонке на другой внутренней линии)
Снять >> 4 >> внутренний номер >> подтв. сигнал. >> разговор

Перехват входящего звонка (при входящем звонке на любой внутренней линии)
Снять >> 40 >> подтв. сигнал. >> разговор

Перевод звонка на другую внутреннюю линию во время разговора
Кратковременное нажатие на рычаг телефона (<1 секунды) >> целевой внутренний номер >> положить / разговор с целевым адресатом >> Положить

При занятости вызываемого абонента (внутреннего) после появления в линии сигнала "Занято" можно нажать 6 и положить трубку. Как только абонент освободится, на Ваш номер придет вызов и после поднятия Вами трубки у абонента раздастся сигнал вызова.

Некоторые полезные команды ATS TDA100-200

Запись в телефонную книгу
Снять >> *30 >> Номер в справочнике (2 цифры) >> Тел. Номер (32 цифры) >> # >> Положить

Звонок из телефонной книги
Снять >> *** >> Номер в справочнике (2 цифры)

Постановка в очередь на занятую линию
Набор номера >> сигнал Занято >> 6 >> подтв. гудок >> положить.
При освобождении линии раздается звонок - снять и говорить.

Отмена постановки в очередь на занятую линию
Снять >> *46 >> подтв. сигнал >> положить.

Перехват входящего звонка на другом номере
Снять >> *41 >> номер, на который идет входящий звонок = говорить.

Установка/отключение режима Не Беспокоить
Снять >> *71 >> 0 (все вызовы) / 1 (внешние вызовы) / 2 (внутренние) >> 0 (снять)/1 (установить)>> подтв. сигнал. >> Положить

Установка/отключение режима переадресации звонков
Снять >> *71 >> 0 (все вызовы) / 1 (внешние вызовы) / 2 (внутренние) >> 0 (снять)/ 2 (все)/ 3 (занято)/ 4 (не ответ)/ 5 (занято или нет ответа)>> Внутренний номер / код выхода на внешнюю линию и внешний номер >> # >> подтв. сигнал. >> Положить

Установка/отключение режима переадресации звонков при перемещении (указываете, на какой номер сейчас принимать звонки вам)
Снять >> *71 >> 0 (все вызовы) / 1 (внешние вызовы) / 2 (внутренние) >> 8 (снять)/ 7 (все) >> Ваш внутренний номер >> подтв. сигнал. >> Положить

Установка таймера переадресации вызова в случае занятости линии или отсутствия ответа
Снять >> *713 >> секунд (2 цифры) >> подтв. сигнал. >> Положить

понедельник, 29 июня 2009 г.

Водка?! А шо? Кока-кола?!

Водка есть русский, точнее, славянский LSD. Она что делает? Она расшираяет сознание. Она позволяет разуму действовать более расковано и не взирая на рамки общения. Есть такая поговорка: "Что у трезвого на уме, то у пьяного на языке". Воттка раскрепощает ум. Юзайте ее. Только в рамках, ессно. Ибо, ежели не уследить рамки, то потом будет горестно.
Э-эх!

воскресенье, 28 июня 2009 г.

Windows. Постоянная загрузка одного и того же обновления

На терминальнике под Windows 2003 Server постоянно загружается одно и то же обновление - KB890830. Загрузил, происталлировал, отрапортовал об окончании установки, проверяет обновления, опять загружает и так по кругу. В описании написано, что это средство удаления вредоносных программ.
Полез в лог %WINDOWS%\debug\mrt.log (описано на странице обновления). Там после каждого запуска выводится сообщение:
[i]WARNING: Security policy doesn't allow for all actions MSRT may require.[/i]
Отключил SRP (Software Restriction Policy) для администратора, запустил обновление на установку (исполнение), оно отработало и успокоилось. Политику, ессно, тут же включил.

Удивительно, как часто самые серьезные разработчики не учитывают эту самую SRP! А ведь средство защиты очень хорошее... Взять того же Адоба, который генерирует исполняемый файл в %TEMP% пользователя... Да и инсталляхи, сделанные Rar и 7zip, и распаковывающиеся туда же!

вторник, 23 июня 2009 г.

Запасной/дублирующий DHCP-сервер

Поистине, безгранично число опций настройки DHCP-сервера ISC - dhcpd. Сколько не копаю интернет, нахожу все новые и новые опции конфигурации.
Очередная опция - для поднятия дублирующего (запасного DHCP-сервера).

min-secs <количество секунд (запросов клиента), после которого сервер отзовется>

Эта опция позволяет в сети поднять сервер, который будет отзываться после определенного количества запросов клиента - когда основной сервер не отозвался. У себя я поставил эту опцию в 3 секунды. В примере в man dhcpd указывается число 2.

среда, 3 июня 2009 г.

Windows. Сведения о системе

Быстро открыть сведения о системе в Windows XP можно следующей командой:
helpctr.exe -mode hcp://system/sysinfo/msinfo.xml

Windows. Русские имена файлов отображаются некорректно

Иногда встречается некорректное отображние русских имен файлов в проводнике и других программах, использующих штатный механизм отображения списков. В частности - ACDSee.
Решение: зайти в свойства экрана и на первой закладке в списке тем выбрать "Моя текущая тема". ДО смешного просто и непонятно.

среда, 27 мая 2009 г.

Windows XP. Ошибка SideBySide в журнале событий системы

Windows XP. В журнале событий системы начали появляться ошибки:

Тип события: Ошибка
Источник события: SideBySide
Категория события: Отсутствует
Код события: 59
Дата: 27.05.2009
Время: 12:13:29
Пользователь: Н/Д
Компьютер: USER
Описание:

Resolve Partial Assembly завершилась не удачно для Microsoft.VC80.MFCLOC. Соответствующее сообщение об ошибке: Указанная совокупность не установлена в системе. 

Недолгий поиск привел к необходимости обновления библиотеки Microsoft Visual C++ 2005 SP1 Redistributable Package.

Windows 2003. Задания печати пропадают.

Ситуация. ИМеется Windows 2003 Server x64. Пользователи, работающие в терминальном режиме жалуются, что задания печати, отсылаемые на принтера, подключенные по сети с нескольких персоналок, иногда пропадают. Приходится повторно, а иногда и более раз, отсылать задание на печать. При этом никаких сообщений об ошибках не выдается.

В журнале событий Windows были пойманы ошибки типа:
Тип события: Ошибка
Источник события: Print
Категория события: Отсутствует
Код события: 6161
Дата: 27.05.2009
Время: 14:03:08
Пользователь: SERVEROK\User
Компьютер: SERVER
Описание:
Сбой при печати документа ДубльГИС владельца Гыук на принтере \\OFFICE\hp LaserJet 1320 PCL 6. Тип данных: NT EMF 1.008. Размер файла очереди в байтах: 0. Число напечатанных байтов: 0. Общее число страниц в документе: 0. Число напечатанных страниц: 0. Клиентский компьютер: \\SERVER. Код ошибки Win32, возвращенной процессором печати: 259. Дополнительные данные отсутствуют.


На одном из форумов посоветовали отключить опцию "Включить дополнительные свойства печати" в свойствах принтера на закладке "Дополнительно". 

Пока помогло.

понедельник, 25 мая 2009 г.

Windows. Автостарт приложений при старте и завершении работы системы

Возникла задачка выполнения некоторых действий при завершении работы Windows 2003 Server. Вне зависимости от подключенности к нему пользователей. Оснастка "Назначенные Задания" позволяет запускать задачи только при включении компьютера. Недолгий поиск по Интернету дал следующую информацию. Вариантов есть 2, хотя выполнение их - суть настройка одного и того же механизма.
1. Групповые политики(gpedit.msc)/Конфигурация компьютера/Конфигурация Windows/Сценарии (запуск/завершение). Добавить нужные программы и задать им порядок выполнения.
2. В соответствующих поддиректориях директории %SYSTEMROOT%\system32\GroupPolicy\Machine\Scripts разместить нужные ярлыки или исполняемые файлы.

Есть, конечно, вариант использования внешних утилит типа незабвенного nnCron, но если можно обойтись без них, то лучше так.

вторник, 19 мая 2009 г.

Устранение неполадок в работе службы «Обозреватель компьютеров»

Здесь расположена статья с описанием поиска неполадок при составлении списка компьютеров в сети NETBIOS (Windows). Это когда при входе в сетевое окружение оно очень медленно открывается. Либо отображаются не все компьютеры. имеющие сетевые шары.

У нас недавно возникла такая ситуация. Приняли следующие меры:
1. Отключили на всех машинах службу "Обозреватель компьютеров" ("Computers browser").
2. На имеющемся в сети Samba-сервере включили опции domain master = yes и local master = yes. Пока точно не знаю, можно ли иметь обе эти опции включенными, или только 1 из них. Отличие в том, что Domain Master - хранитель списков компьютеров, которому их передают Local Master-ы. Последние - составители списков компьютеров в конкретном сегменте сети, изолированном от многоадресных запросов (которыми и создается список имеющейся техники). У нас сегмент сети один. Поэтому как точно будут уживаться эти две роли - неизвестно.
3. На некоторых машинах пришлось отключить штатный брандмауэр, т.к. он блокировал отображение компьютера в сети. Хотя правила были настроены на разрешение UDP-пакетов на порты 139 и 138, используемые при построении списка ресурсов в сети. После выполнения пункта 2 проверю эффект от включения брандмауэра. Надеюсь, он перестанет мешать.

четверг, 14 мая 2009 г.

Windows. SID пользователей

SID пользователей можно найти в ветке
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\ProfileImagePath

ДубльГис, сервер Win2003

После инсталляции на Windows 2003 server x64 у некоторых пользователей отказлась запускаться 3-я версия ДубльГис-а. Выяснили, что не работает он у пользователей, которые мигрировали со старого сервера x86. У них небыло доступа к ветке реестра HKEY_CURRENT_USER/Software/Classes. После установки к этой ветке у пльзователя доступа прграмма начала запускаться.

вторник, 12 мая 2009 г.

Выход в инет через трех провайдеров

Краткая инструкция по подключению сети к интернет через трех провайдеров.

среда, 29 апреля 2009 г.

Форвард RDP-трафика внутри сети

Понадобилось пересылать трафик с одного роутера на другой. Оба роутера в одной подсети. Но RDP-трафик идет только через один из них по определенному каналу. Сработали следующие настройки:

#!/bin/bash

ip=/sbin/ip
iptables=/usr/sbin/iptables
devLOCAL=eth0


$iptables -t mangle -I PREROUTING -p tcp --dport 3389 -j MARK --set-mark 0xAB
echo 202 rdp.tbl >> /etc/iproute2/rt_tables
$ip rule add fwmark 0xAB table rdp.tbl
$ip route add 127.0.0.0/8 dev lo table rdp.tbl
$ip route add 192.168.0.0/24 dev $devLOCAL table rdp.tbl
$ip route add default via 192.168.0.1 table rdp.tbl


То есть пакеты для порта 3389 маркируются меткой 0xAB. Для них создается таблица rdp.tbl, маршрут по умолчанию для которой установлен на роутер 192.168.0.1. На роутере 192.168.0.1 аналогичным образом построен форвард этих пакетов на определенный внешний канал.

понедельник, 27 апреля 2009 г.

Часто используемые команды Linux

Часто используемые команды Linux - справочник

Роутинг пакетов внутрь сети с исходными адресами.

Воевал с роутингом пакетов внутрь сети для одного из серверов. При имеющейся конфигурации сервер адресом отправителя видел адрес роутера. Нужно было сделать так, чтобы он видел реальные адреса пользователей. На роутере были следующие настройки для этого сервера:

$IPT -t nat -A PREROUTING -p tcp -i ppp+ -s ! 192.168.0.0/16 -m multiport --dports 80 -j DNAT --to-destination $webserver:80
$IPT -A FORWARD -i ppp+ -d $webserver -j ACCEPT
$IPT -t nat -A POSTROUTING -o lan0 -d $webserver -j MASQUERADE

Вроде должно работать, а не работает.
Оказалось, что дефолтным шлюзом на сервере был прописан другой узел. Поменял шлюз и все пошло.

пятница, 24 апреля 2009 г.

Ubuntu. Замена первого дня недели в календаре

Меняем первый день недели в календаре:
1. Проверяем используемую локаль командой locale (ie ru_UA)
2. Выполняем sudo vim /usr/share/i18n/locales/ru_UA и в разделе LC_TIME добавляем или меняем значение параметра first_weekday на 2 - понедельник.
3. Обновляем настройки локали sudo locale-gen
4. Перегружаем панель гнома killall gnome-panel

среда, 15 апреля 2009 г.

Linux. Восстановление данных

На Хабре - небольшая заметка про восстановление удаленных файлов под Linux. В комментариях дают еще несколько советов.

Ключевые тезисы:
1. scalpel
2. photorec
3. ext3grep
4. testdisk
5. magicrescue

Несколько заметок

Несколько заметок, взятых из блога GuruAdmin:

1. 10 наиболее часто используемых команд:
Как вы знаете, когда вы вводите любую команду в терминале, она сохраняется в истории. Поэтому, вы можете посмотреть списко самых часто используемых команд следующей конструкцией:

history | awk '{print $2}' | awk 'BEGIN {FS="|"}{print $1}' | sort | uniq -c | sort -n | tail | sort -nr

Вы увидите примерно следующий результат:
430 cd
255 ls
142 sudo
16 less
50 apt-cache
14 rm
13 chmod
12 vim
12 history
12 grep

2. 4 способа определить кто залогинен в Linux
1. w - список пользователей и их процессов
2. who - список пользователей и их адресов
3. whoami - мой логин
4. last - история логинов пользователей.

вторник, 14 апреля 2009 г.

Windows 2003 Trminal Server, IE 7.0, и все-все-все

Несколько моментов:
1. В терминальной сессии пользователя не сохраняются сетевые пароли при вводе пароля в соответствующей форме и взведении птицы "Сохранить пароль". Выяснилось, что в сетевых паролях пользоватля для соответствующего сервера уже был прописан другой пароль. Изменил его на корректный и заработало.
2. При попытке открыть файл mdb в терминальной сесии Windows Explorer не выдает никаких сообщений и MSAccess не запускает, а Total Commander сообщает "Программа не запускается". Эффект наблюдается на уже открытых базах данных, т.е. при наличии файла *.ldb. Помогло добавление соответствующего сетевого ресурса в список узлов интранет в Internet Explorer.
3. После обновления IE до версии 7 оный упорно при запуске ломится на страницу первоначальной настройки (которая находится на msn.com). При попытке сохранения настроек сообщается о невозможности их сохранения. И так при каждом запуске. Помогло изменение в групповых политиках (gpedit.msc) параметра "Запретить выполнение параметров «Настроить первый запуск" в ветке "Конфигурация компьютера\Административные шаблоны\Internet Explorer\" на "Включен" и указание в списке пункта "Перейти сразу на домашнюю страницу"

понедельник, 13 апреля 2009 г.

Настройка внешнего вида Mozilla Thunderbird.

Настройка внешнего вида Mozilla-вских продуктов производится посредством корректировки файла userChrome.css. Небольшое описание есть вот здесь. Я долго провозился, пока нашел где этот файл должен лежать. Уменя (Ubuntu) он находтся в ~/.mozilla-thunderbird/<какие-то буквы>.default/chrome/userChrome.css. По умолчанию его там нет. Нужно скопировать из userChrome-example.css, который ищется где-то в глубине директорий одного из Mozilla-вских продуктов.

среда, 8 апреля 2009 г.

Linux. Диалоговые окна из консоли

Наткнулся на командочку zenity, которая позволяет построить диалоговое окно и передать выбранные в нем параметры по конвееру. Например:
zenity --list --title "VNC, servers list" --text "VNC, servers list" --column "Server names" server1 server2 server3 server4 server5 | xargs -r -l vncviewer.

среда, 1 апреля 2009 г.

Cannon Camera Raw и Adobe Bridge

Принесли компакт с RAW_файлами фотокамеры Cannon EOS-1D Mark III (*.cr2). Adobe Bridge (мультимедиа-комбайн от Adobe в составе Creative Suite 3) их не хочет просматривать. При этом плагин для просмотра ему установлен. Очистка кеша и обновление плагина не помогли. Вышел из ситуации тем, что скачал конвертер Adobe DNG Converter (free) с сайта Adobe. Он конвертирует CR2 в DNG, которые уже спокойно просматриваются бриджем.

понедельник, 30 марта 2009 г.

Windows. Не хочет выполняться программа из сетевого окружения

Недавно столкнулся с отказом запуска программ из сетевого окружения на Windows 2003 Server x64. Ошибка типа "У вас нет доступа или права на выполнение данного приложения", хотя в политиках SRP путь прописан. Решилось внесением этого машины, на которой расположена шара, в список локальных серверов в настройках безопасности Internet Explorer-а.

ITVSystems Golden Gate. Обновление и экспорт отчетов

В новых версиях ITVSystems Golde Gate 2002 появилась возможность экспорта-импорта данных посредством командной строки. Вот краткая инструкция:
Описание командной строки утилиты экспорта/импорта данных



GGDataExchange.exe [-l логин] [-p пароль] [-txt | -xml]
[-export экспортируемый_файл |
-import импортируемый_файл [-header "строка_заголовка"] |
-report "параметры отчета"]

-l логин - параметр для указания логина администратора, под которым
выполняется подключение к "Золотым Воротам".

-p пароль - пароль администратора

Если логин не указан, но указан произвольный пароль, то
утилита попытается подключиться с пустым именем (это
необходимо, если в базе данных не зарегистрировано ни
одного оператора).

Если логин указан, но пароль не указан, то утилита
попытается подключиться с пустым паролем.

Если указан логин и/или пароль, то утилита не будет
запрашивать логин и пароль у пользователя, а будет
использовать логин и пароль из командной строки.

Если не указан ни логин, ни пароль, то утилита будет
запрашивать логин и пароль у пользователя.

-txt - утилита выполнит экспорт/импорт в формате "Personnel TXT"
-xml - утилита выполнит экспорт/импорт в формате "XML"

-export экспортируемый_файл - утилита выполнит экспорт данных в
указанный файл. При необходимости
создания дополнительных файлов
(например, фотографий сотрудников), эти
файлы будут созданы в том же каталоге,
что и указанный файл.

-import импортируемый_файл - утилита выполнит импорт данных из ука-
занного файла. При необходимости чтения
дополнительных файлов (например, фото-
графий сотрудников), эти файлы будут
загружаться из того же каталога, что и
указанный файл, если в именах
дополнительных файлов каталог не указан.

-header "строка_заголовка" - опция, задающая строку заголовка
импортируемых данных в формате
"Personnel TXT".

Если эта опция не указана, то строка
заголовка является первой строкой
входного файла.

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

-report "параметры отчета" - утилита выполнит формирование отчета и
экспортирует отчет в csv-файл.

После ключа -report в двойных кавычках должна быть указана строка
параметров отчета. Структура этой строки следующая:

"Report=название_отчета;File=имя_файла;Personnel=сотрудник_или_отдел1;Personnel=сотрудник_или_отдел2;...;Period=период;Header=Off"

Строка не должна содержать пробелов, если только эти пробелы не входят
в название отчета, сотрудника, отдела или имени файла.

Строка должна содержать параметры "Report=название_отчета" и
"File=имя_файла". Другие параметры не являются обязательными.

название_отчета - название отчета в "Золотых Воротах".

имя_файла - имя файла, в который будет записан
сформированный отчет в csv-формате

сотрудник_или_отдел1 - название сотрудника или отдела, по которому
формируется отчет.

Если указано несколько параметров
Personnel=сотрудник_или_отдел, то отчет будет
формироваться по указанным сотрудникам или
отделам.

Если указан параметр Personnel=All, то отчет
будет формироваться по всем сотрудникам или
отделам, имеющимся в базе данных "Золотых
Ворот".

период - строка вида yyyy-mm-dd hh:nn:ss..yyyy-mm-dd hh:nn:ss,
задающая дату и время начала и конца отчетного
периода.

Начало и конец разделены двумя подряд идущими
точками (..). Если время опущено, то считается,
что для начала периода задано начало суток
(0:00:00), а для конца периода задано окончание
суток (23:59:59).

Допускается также задавать период в виде даты
без времени. В этом случае будет формироваться
отчет за сутки (0:00:00..23:59:59).

Допускается задание одного из шести периодов
времени, автоматически привязываемого к текущей
дате:
- LastMonth - прошедший месяц
- CurrentMonth - текущий месяц
- LastWeek - прошедшая неделя
- CurrentWeek - текущая неделя
- LastDay или Yesterday - вчера
- CurrentDay или Today - сегодня

Header=Off - параметр для удаления строки заголовка из
выходного файла.

Допускается указание этого параметра в виде:
- Header=False
- Header=Disabled
- Header=0



Предыдущие версии программы обновляются либо установкой нового пакета, либо обновлением исполняемых файлов поверх установленных. Перед какими-либо действиями сильно рекомендую сделать резервную копию директории программы, а так же резервную копию базы утилитой GGBackUp.
Первый вариант у меня перезаписал файлы базы пустыми. Попытка восстановления из предварительно созданной резервной копии базы успехом не увенчалась - сообщалось об ошибках в разных файлах *.mdf. Перезапись файлов данных из предыдущей версии тоже ничего не дал. Хотя, возможно, я не все файлы заменил - с MSSQL не знаком. Возврат старой версии и обновление исполняемых файлов из новой - тщетно.
Помог второй вариант. Support ITVSystems выслали по почте набор новых исполняемых файлов, которые я записал в директорию со старой версией программы, и все заработало. Отдельное им спасибо за оперативность.

пятница, 27 марта 2009 г.

Удалить все файлы, кроме N самых свежих

Коротенькая строчка для очистки директории от старых файлов, оставляя только указанное количество самых свежих:


ls -rtpA --format=single-column | grep -v \/ | head -n -4 | while read var; do rm "$var"; done


Здесь 4 - количество оставляемых файлов. Директории и резервные копии файлов (~) игнорируются. В том числе обрабатываются файлы с пробелами в именах. Естественно, желательно в ls добавить рабочую директорию.

четверг, 26 марта 2009 г.

Swatch. Установка из исходников

Утилита Swatch (точнее, перловый скрипт) используется для наблюдением за лог-файлами формата syslog. После запуска он наблюдает за указанным лог-файлом и примеряет на него указанные регулярки. При совпадении swatch выполняет указанные действия.

Инсталляция:

  1. Скачиваем исходники.
  2. Распаковываем.
  3. Выполняем последовательность:
    perl Makefile.PL. Этот скрипт проверяет наличие в системе необходимых для программы модулей перла. Если какой-то из них не найден, выводится что-то типа
    Warning: prerequisite Date::Calc 0 not found at (eval 1) line 219. В этом случае необходимо выполнить команду  
    perl -MCPAN -e "install Date::Calc"
    (указав соответствующий модуль) для установки недостающего модуля.
    make
    make test
    make install
    make realclean
  4. Создаем файл /etc/swatch/messages.conf, из которого swatch будет брать регулярные выражения и команды для выполнения. Примерный формат таков:

    watchfor /SPAMMER/
    mail addresses=user\@domain:user\@domain,subject=Here\ is\ NewSpammer

    watchfor /sshd.accepted/
    mail addresses=user\@domain:user\@domain,subject=server\ user\ logged

  5. Добавляем строку запуска при старте системы в, например, /etc/rc.d/rc.local. Строка примерно такого вида:

    /usr/bin/swatch -c /etc/swatch/messages.conf -t /var/log/messages --daemon --pid-file /var/run/swatch.pid --script-dir /var/

среда, 25 марта 2009 г.

*nix. Внешний вид командной строки

Сменить внешний вид командной строки можно установкой переменной окружения prompt:
set prompt = "`id -un`@`hostname`:(`pwd`)#"

, например

Sendmail. Отправка почты через внешний SMTP-сервер

Для отправки всей почты через внешний SMTP-сервер нужно прописать:
в sendmail.cf: DSesmtp:[relay.somehost.ru]

Для отправки через резервны SMTP (в случае ошибки отправки штатным путем)
define(`SMART_HOST',`relay.somehost.ru')dnl

FEATURE(`mailertable', `hash /etc/mail/mailertable')dnl
/etc/mail/mailertable
domain1 esmtp:relay1.somehost.ru
domain2 smtp:[relay2.somehost.ru]

MySQL. Очистка бинарных логов

PURGE BINARY LOGS TO 'mysql-bin.010';
PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26';

пятница, 20 марта 2009 г.

Проверка свободного места на FTP-сервере

Один из наших хостеров предоставляет место под резервные копии сервера на своем локальном FTP-сервере. В корне фтп-директории нашей учетки лежит файл quota.txt,в котором записаны занятый объем и доступный объем на сервере. Написал небольшой скриптец, который будучи запускаем по крону проверяет свободное место и отсылает сообщение в случае его недостаточности:




# //** 2009-03-20 17-19-21 Rett Pop [+]:
FTPPATH="ftp://user:pass@ftpserver:/quota.txt"
OUTFILE="/tmp/quota.txt"
WGET=/usr/local/bin/wget
AWK=/usr/bin/awk
GREP=/usr/bin/grep
CAT=/bin/cat
MAILER=/usr/bin/mail
MIN_MB=1000000 #in kilobytes
mailto="admin's email"
SRV_NAME="our server name"

#First downloads quota file
echo $WGET -O $OUTFILE $FTPPATH
if $WGET -O $OUTFILE $FTPPATH
then
DISK_AVAIL=`$CAT $OUTFILE | $AWK '{print $2-$1}'`
if [ $DISK_AVAIL -lt $MIN_MB ];then
echo "$SRV_NAME. Please clean up $SRV_NAME - $DISK_AVAIL KBytes left" > $MAILFILE
$CAT $MAILFILE | $MAILER -s "$SRV_NAME. Please clean up - $DISK_AVAIL KBytes left" $mailto
fi
else
#Sends alert about quotas file retrieve
echo $MAILER -s "$SRV_NAME. Error getting quotas file" $mailto
echo "$SRV_NAME. Error getting quotas file" | $MAILER -s "$SRV_NAME. Error getting quotas file" $mailto
fi

# Removes quotas file for actual information
rm $OUTFILE

среда, 18 марта 2009 г.

BSOD при печати в W2K3 Server x64

При печати на некоторые принтеры (по крайней мере от HP)  в среде Windows 2003 Server x64 она частенько падает на синенькое. Спасла установка для всех этих принтеров драйвера HP Laser Jet 4. 

Ubuntu 8.10. Пропал звук

После обновления системы Ubuntu пропал звук.Один из вариантов описан здесь:

  1. Остановить сервер pulseaudio.
  2. Запустить/перезапустить сервер Alsa.
  3. В Система/Настройки/Звук устройствами поставитьсоответствующие интерфейсы от Alsa.

вторник, 17 марта 2009 г.

Linux. Flip-Flop - смена MAC-адресов у сетевых интерфейсов

Настроил в сети отслеживание соответствия IP-адресов MAC-адресам посредством Slackware Linux и ARPWatch. Начали сыпаться сообщения о смене MAC-адреса одним из сетевых интерфейсов машины под Linux-ом. Выяснил, что:

  1. Оба инрефеса включены в одну сеть.
  2. При опросе IP-адресов в сети Linux отсылает отвечает от той сетевой карты, которая первая получила этот запрос. То есть система видит, что IP относится к ней, и отвечает с того интерфейса, на который был принят пакет проверки.
  3. ARPWatch репортует о смене MAC-адреса таким-то IP-адресом.

Отключается это поднятием флага arp_filet в /proc/sys/net/ip4v/conf/<соотв. интерфейс>.

понедельник, 16 марта 2009 г.

Arpwatch. Slackware. Сборка из исходников

Скачал с оффсайта исходники ArpWatch (утилита контроля за соответствием MAC-адресов IP-адресам в сети). Сборка и инсталляция прошли нормально. Но упоминаемые в сети ключи -s (отправка почты на указанные e-mail вместо root-а), -u (испльзование привилегий указанного пользователя вместо root-а) и еще несколькие в программе отсутствуют. На Sysadmins.SU Подсказали место, где лежат патчи, которые добавляют эти функции в программы.

Финальная строка запуска получилась такая:
arpwatch -i eth3 -n 192.168.0.0/24 -n 192.168.2.0/24 -e &

Пока только не разобрался куда же записываются логи программы...

понедельник, 9 марта 2009 г.

Photoshop + AV Broth. Puzzle Pro 2.2 + права пользователя

Ставил для Photoshop дополнение для нарезания паззлов AV Broth. Puzzle Pro 2.2. С правами пользователя плагинчик выбивает фотошоп. Под администратором работает нормально. Оказывается, плагин пишет свои данные рядом с основным файлом дополнения в Program Files/etc., куда, естественно, у пользователя прав на запись нет. После разрешения пользователю записывать данные в файлы
\Program Files\Adobe\Adobe Photoshop CS3\Plug-Ins\AV Bros Puzzle Pro 2.2\last.data
\Program Files\Adobe\Adobe Photoshop CS3\Plug-Ins\AV Bros Puzzle Pro 2.2\plugin.conf

дополнение нормально работает.

вторник, 3 марта 2009 г.

Internet Explorer. Открыть доступ только к некоторым сайтам

Для запрета/разрешения доступа к определенным сайтам в настройках ослика есть закладка "Содержимое". Там можно включить анализ оценки сайта с последующим (не)открытием. В списке "Разрешенные Узлы" (Содержимое/Настройка/Разрешенные узлы) можно явно указать разрешенные или запрещенные сайты. При этом поддерживаются знаки подстановки. По карйней мере звездочка. То есть, при указании разрешенного сайта yandex.ru на maps.yandex.ru попкасть не получится. А при указании *.yandex.ru - получится.

вторник, 24 февраля 2009 г.

Microsoft Debugging tools

Bishop (он же IT Епископ) в своем блоге выложил краткое описание процесса использования Microsoft Debugging tools. Набор утилит, позаоляющий производить анализ работы приложения, а при наличии соответствующих данных и ее отладку. Крайен полезный инструмент. Что называется "Must Have".

понедельник, 23 февраля 2009 г.

Определение имени группы администраторов

Здесь обнаружил заметку про то, как в Windows вычислить группу локальных администраторов. В кратце - нужно найти группу с SID S-1-5-32-544.

Осталось выяснить дополнительные полезные SID и придумать где их использовать :)

И вообще, на этом ресурсе - множество скриптов для Windows со всякими полезностями и объяснениями.

пятница, 20 февраля 2009 г.

Оповещение о новых записях в журнале событий

Для обработки событий появления вления новых записей в системных журналах Windows есть команда eventtriggers. Вот что выдает "eventtriggers /?":


EVENTTRIGGERS /<параметр> [<аргументы>]

Описание:
Эта команда позволяет администратору отобразить и настроить
триггеры событий в локальной или удаленных системах.

Параметры:
/Create Создание нового триггера события.

/Delete Удаление триггера событий по его идентификатору.

/Query Отображение свойств и параметров триггера событий.

/? Вывод справки по использованию.

Примеры:
EVENTTRIGGERS /Create /?
EVENTTRIGGERS /Delete /?
EVENTTRIGGERS /Query /?




В результате создания триггера создается назначенное задание, которое срабатывает при добавлении соответствующей записи в соответствующий журнал. А там уже можно поставить отправку письма, запись в лог и т.д.

Для мониторинга изменения в настройках локальных групп и пользователей написал программку, которая создает дамп списка локальных групп и входящих в них польльзователей. В момент изменений она создает еще один дамп.

воскресенье, 8 февраля 2009 г.

Asteriks - софтверная АТС

Прочитал ЗДЕСЬ про софтверную АТС Астерикс.

Terminal Server via Linux

Здесь - Небольшая ветка по поводу терминального сервера под Linux

пятница, 30 января 2009 г.

Putty, SSH, ключи

Вот тут располжена пошаговая инструкция по настройке подключения к SSH-серверу с помощью файлов ключей, то есть без ввода пароля. На аглицком - не сложный. 

Могу добавить лишь, что ssh-ключи имеют несколько разных форматов. OpenSSH, Putty, SSH работают только со своими форматами. Но у каждой из них есть возможность конвертирования "чужого" формата в свой. Так у PuTTYgen это делается функцией импорта ключей с последующим сохранением. В ssh-keygen опцией -i.

четверг, 29 января 2009 г.

Microsoft Log Parser

А вот еще один инструмент. Точнее статья про него. Microsoft Log Paser.

Microsoft Network Monitor

Наткнулся на сниффер от Microsoft. Называется Microsoft Network Monitor.

Ссылки:

  1. Краткое описание.
  2. Блог.
  3. Страница загрузки.

Microfost, как всегда, на высоте. 

четверг, 22 января 2009 г.

Несколько рекомендаций по безопасности

Здесь - небольшая заметка с перечнем рекомендаций по безопасности.

Explorer.exe не грузится - вирусы

На одном из терминальных серверов перестал грузиться explorer.exe. Благо, через taskmgr.exe программы запускаются. Запустил Total Commander. Далее - Autoruns и Process Explorer от Sysinternals. Вычислил несколько файлов. запускающиеся не из Program Files и Windows, и несколько запускавшихся из легальных директорий, но не знакомые мне. Удалил, отключил автозапуск, сенс из памяти то, что было. 

Помогло.

А все из-за того, что для админов была отключена Политика ограниченного использования программного обеспечения. Очень нужная и полезная настройка системы.

//** 2009-01-23 12-25-48 Rett Pop [+]: 

Не полностью вычистил каку. В %WINDOWS%\system32\ находился файлик mmmprzpr.dll, который был инжектирован практически во все процессы системы. Припопытке подключения к сети от имени пользователя любая программа тут же закрывалась.

Нашел его поиском всех новых файлов в директории %WINDOWS%.

среда, 21 января 2009 г.

На случай отсутствия ICQ

Если нету ICQ, есть неплохой онлайновый вариант.

http://www.meebo.com/.

Стремновато, конечно, отдавать им свой UIN и пароль... Но на безрыбьи...

Ubuntu + HDD на ноуте

С OpenNET:

В 2007 году было опубликовано сообщение о повышенном износе жестких дисков ноутбуков, работающих под управлением Ubuntu Linux. Проблема вызвана излишне частым перевод жесткого диска в спящий режим, по умолчанию применяющийся в Ubuntu при работе ноутбука от батареи при активном "ENABLE_LAPTOP_MODE" режиме в /etc/default/acpi-support или /etc/default/laptop-mode, что значительно сокращает срок службы жесткого диска. 

Несмотря на многочисленные жалобы в скрипте /etc/acpi/power.sh по прежнему присутствует вызов "$HDPARM -B 1" (1 - самый агрессивный режим экономии энергии, для выключения засыпания рекомендуется установить 255, но при возвращении ноутбука из спящего режима значение уровня APM все равно автоматически устанавливается в 128). При текущих установках, за 100 часов работы с ноутбуком жесткий диск переводился в спящий режим 7000 раз (ресурс диска - 600000), т.е. почти раз в минуту. 

Несколько дней назад в тестовый репозиторий 'proposed' для выпусков 9.04, 8.10 и 8.04 помещена исправленная версия пакета acpi-support, в случае одобрения исправления будут интегрированы в основной дистрибутив. 

Оценить число выключений диска можно установив пакет smartmontools и выполнив команду "smartctl -d ata -a /dev/sda| grep Load_Cycle_Count". Для проверки активности агрессивного засыпания диска нужно выполнить: hdparm -I /dev/sda| grep 'Advanced power management level'.

ISP-Manager

Никак не могу запомнить URL доступа к ISP-панели управления хостингом.

http://server.name/manager/ispmgr

вторник, 20 января 2009 г.

Централизованное хранение данных:

http://technet2.microsoft.com/windowsserver/en/library/b3754814-f865-4200-9ae9-66785e5e87c81033.mspx?mfr=true

MS Access. Ошибка 3441: Text file specification field separator matches decimal separator or text delimiter.

Столкнулся с нежеланием MS Access 2003 производить экспорт таблицы в файл с разделителями через команду

DoCmd.TransferText

сообщая об ошибке "Text file specification field separator matches decimal separator or text delimiter".

Бился-бился...Толковых подсказок не нашел. Остановился на том, что в региональных настройках поставил "Стандарты и Форматы" в "Английский (США)", а в настройках форматов поставил тепараметры, которые используются для русского текста.

На сайте Microsoft встречал упоминание об этом приколе, только в статье про MS Access 97. А тут 2003...

В общем, так как-то.

//** 2009-01-20 12-19-02 Rett Pop [+]:  Дополнение

Поставил русскую локаль в настройках системы (очень неудобно с датами работать в американском формате). Но все запятые в настройках заменил на точки. Пока работает.

пятница, 16 января 2009 г.

Однострочники

Исходник.

Мелкая дописка в файл меню midhight commander. проста как валенок, но обычно руки не доходят 


6 move to .bak
mv %f %f.bak

7 copy to .bak
cp -pr %f %f.bak

8 copy from .bak

cp -prf %f $(basename %f .bak)

scp: file(s) copying
ещё не могу не отметить scp
заметил что некоторые люди как то про ето не в курсе бывают как это ни странно)
перекачать файл с одной машины на другую просто (аутентификация по ключам ессно настроена) (под виндовсом ссш можно собрать cygwin'ом)
штука в том что можно как скачать так и закачать находясь при этом на 3ей машине):
Код
scp [user@sourcehost:]/path/to/sourcefile [user@desthost:]/path/to/destfile



ssh and socks
а ещё это чудо юдо можно зарулить через соксовый прокси

http://www.taiyo.co.jp/~gotoh/ssh/connect.c

- скачать
скомпилить как в нём указанно

в ssh_config пишем
Код
ProxyCommand /usr/local/bin/sconnect -5 -S proxy:port %h %p

далее пользуемся как обычно - прозрачно работает через проксю

Однострочники

Взято с Sysadmins.SU.

используя cинтаксис:
$ ssh user@host commandможно выполнить на удаленном хосте что угодно. несколько маленьких, но полезных примеров. все взяты из жизни. во всех случаях подразумевается аутентификация по ключам и наличие у юзера беспарольного sudo, либо соответствующих прав в ФС. 

1. мы не используем централизованное хранилище учеток. нужно добавить пользователя сразу на N серверов

Код

for HOST in `cat listofhost.txt`
do
ssh user@$HOST 'sudo pw useradd vasya'
done
где listofhost.txt - файл со списком хостов.

2. удаленный бэкап 

tar -cf - storage | ssh backup-server.domain.local dd of=/storage/backup/backup.tar

3. удаленное изменение конфигурационных файлов ( в данном случае - дописываем суффикс в search list resolv.conf):

Код
ssh server.domain.local "sudo perl -pi'.bak' -e 's/^(search\s+)(.+)$/\$1\$2 net.local/;' /etc/resolv.conf"

Мониторинг *nix-систем

Еще средства мониторинга:

Cacti и Nagios

ASUS MyPal 639 - отходит аккумулятор

Столкнулся в своё время с тем, что на наладоннике Asus MyPal 639 (и некоторые другие похожие модели) отходит аккумулятор. На ровном местеладошка перегружается, выключается и прочие радости. 

Знакомый подсказал решение. Под аккумулятор подложить несколько раз сложеный кусочек обычной столовой салфетки. Уже с полгода работает нормально :)

четверг, 15 января 2009 г.

Ubuntu + HDD

Взято на Хабре.

Должен признаться, меня несколько смущало "щелкание винчестера" (WDC WD1200BEVS-75RST0) на моем Dell Inspiron. Я использую Ubuntu Linux и помню шумиху вокруг системы энергосбережения, которая должна была "убивать" жесткие диски наших компьютеров. В то время доказали, что это не более, чем глупости, что все будет исправлено и, вообще, переживать по данному поводу не стоит. Недавняя статья заставила меня еще раз более пристально понаблюдать за HDD и поэкспериментировать с настройками APM (advanced power management) и соотношением шум/производительность. Действительно, оказалось, что странные звуки вызваны парковкой головок диска.

Команды

sudo hdparm -M 254 /dev/sda
sudo hdparm -B 255 /dev/sda

решили проблему!

Однако, после перезагрузки я начал опять слышать характерные щелчки. Оказалось, что значение параметра '-B' (APM settings) не сохраняется. Для Ubuntu Linux решением этого оказалось редактирование /etc/hdparm.conf (раскомментировав 41-ю сроку получил запись 'apm = 255').

Если после данных манипуляций система не грузится, следует попробовать в grub дать параметр ядру 'nohdparm'.

Дополнительную полезную информацию можно найти на Ubuntu Forums.

Наблюдение за системой в Linux

Взято с Хабрахабр.
Несколько лог-файлов:
  • /var/log/acpid — служба, которая отвечает за питание (acpi для intel);
  • /var/log/boot.log — журнал загрузки системы;
  • /var/log/cron — планировка событий;
  • /var/log/messages — сообщения системы (ядра);
  • /var/log/Xorg.*.log — графическая подсистема (X-сервер Xorg);
  • /var/log/cups/* — система печати cups (достаточно популярная и широкораспространенная);
Изменения в файлах.

Очень хорошим инструментом для выявления факта модификации файлов является стандартная программа find. Разумное использование параметра mtime поможет установить изменения в файловой системе, например, команда
find /etc -mtime -1

покажет файлы, которые были изменены в течение последних суток. Очень хорошо поиск файлов по различным временам описан в Unix find tutorial.


Анализ процессов:
  • top
  • ps

Анализ сети:
  • nmap
  • tcpdump
  • netstat
  • fuser
  • lsof

Анализ файловой системы:
  • find
Из комментов:
Я бы все-таки убрал из текста упоминание про «nmap localhost».
Гораздо разумнее воспользоваться помянутым «netstat -l», только добавить еще к нему:
* -A inet, чтобы выкинуть unix сокеты (а то их сильно много бывает)
* -p, чтобы видеть слушающий процесс (будут видны не все процессы, а только свои)
* -n, чтобы видеть цифири вместо буков там где порты (это по желанию)

Я обычно использую набор
netstat -ntap.

Будут еще и установленные соединения.
А их на загруженном сервере может быть много.

лучше netstat -tpln
список tcp-сокетов, в состояний LISTEN, с именем и pid процесса, без резолвинга имени хоста(чтобы не заскучать).


netstat -tupan
главное — легко запоминается, хотя работает только на линуксе. для юниксов нужно убрать -p

От себя:
Использование памяти — free -m
Информация о процессоре — cat /proc/cpuinfo
Сколько там у нас траффика на интерфейсе — ifconfig ppp0
Как там дела со свободным местом — df -h

Можно не выходя из top убить процесс, просто жмем k, а потом PID номер.

Можно еще для убийства процесса использовать pkill. Принимает имя процесса, а не его PID в качестве аргумента.
Смотреть вывод команды каждые N раз — watch.
killall также по имени снимает


Если говорить конкретнее, на сайте очевидно сидит какой-то червь и систематически дописывает в индексные файлы всякую хрень, админы хоста морозятся как могут (
вроде auditd умеет