понедельник, 29 декабря 2008 г.

Проблема со звуком в Fedora 10

Установил на свой ноут Fedora 10.
И получил проблему со звуком :).
Вот какое решение нагуглил:
Открываем консольку и правим файл default.pa:

su -c 'gedit /etc/pulse/default.pa'

Нужно изменить строку: load-module module-hal-detect
на: load-module module-hal-detect tsched=0

Затем убедимся, что все связанное с pulseaudio установлено:
su -c 'yum -y install pavucontrol pavumeter paman padevchooser paprefs alsa-plugins-pulseaudio gstreamer-plugins-pulse pulseaudio pulseaudio-core-libs pulseaudio-esound-compat pulseaudio-libs pulseaudio-libs-glib2 pulseaudio-libs-zeroconf pulseaudio-module-gconf pulseaudio-module-x11 pulseaudio-module-zeroconf pulseaudio-utils xine-lib-pulseaudio xmms-pulse'

Дальше делаем reboot.

Во всех звуковых настройках ставим PulseAudio Sound Server (System > Preferences > Hardware > Sound) кроме Capture.

суббота, 27 декабря 2008 г.

Error 0x80004002, при обновление клиентов WSUS

Не сколько клиентов упорно не хотели цепляться к поднятому мной WSUS. По логам (кстати, их можно найти тут %WINDIR%\WindowsUpdate.log) он ругался на ошибку 0x80004002.

В итоге нагуглил такое решение:
создаем батник со следующим содержанием

@echo Off

echo Registering atl.dll
regsvr32 /s %systemroot%\system32\atl.dll >> progress.log
echo Registering bitsprx2.dll
regsvr32 /s %systemroot%\system32\bitsprx2.dll >> progress.log
echo Registering bitsprx3.dll
regsvr32 /s %systemroot%\system32\bitsprx3.dll >> progress.log
REM echo Registering cdm.dll
REM regsvr32 /s %systemroot%\system32\cdm.dll >> progress.log
echo Registering cryptdlg.dll
regsvr32 /s %systemroot%\system32\cryptdlg.dll >> progress.log
echo Registering dssenh.dll
regsvr32 /s %systemroot%\system32\dssenh.dll >> progress.log
echo Registering gpkcsp.dll
regsvr32 /s %systemroot%\system32\gpkcsp.dll >> progress.log
REM echo Registering iuengine.dll
REM regsvr32 /s %systemroot%\system32\iuengine.dll >> progress.log
echo Registering jscript.dll
regsvr32 /s %systemroot%\system32\jscript.dll >> progress.log
echo Registering mssip32.dll
regsvr32 /s %systemroot%\system32\mssip32.dll >> progress.log
echo Registering msxml.dll
regsvr32 /s %systemroot%\system32\msxml.dll >> progress.log
echo Registering msxml2.dll
regsvr32 /s %systemroot%\system32\msxml2.dll >> progress.log
echo Registering msxml3.dll
regsvr32 /s %systemroot%\system32\msxml3.dll >> progress.log
echo Registering msxml4.dll
regsvr32 /s %systemroot%\system32\msxml4.dll >> progress.log
REM echo Registering mucltui.dll
REM regsvr32 /s %systemroot%\system32\mucltui.dll >> progress.log
REM echo Registering muweb.dll
REM regsvr32 /s %systemroot%\system32\muweb.dll >> progress.log
echo Registering qmgr.dll
regsvr32 /s %systemroot%\system32\qmgr.dll >> progress.log
echo Registering qmgrprxy.dll
regsvr32 /s %systemroot%\system32\qmgrprxy.dll >> progress.log
echo Registering rsaenh.dll
regsvr32 /s %systemroot%\system32\rsaenh.dll >> progress.log
echo Registering sccbase.dll
regsvr32 /s %systemroot%\system32\sccbase.dll >> progress.log
echo Registering slbcsp.dll
regsvr32 /s %systemroot%\system32\slbcsp.dll >> progress.log
echo Registering softpub.dll
regsvr32 /s %systemroot%\system32\softpub.dll >> progress.log
echo Registering urlmon.dll
regsvr32 /s %systemroot%\system32\urlmon.dll >> progress.log
echo Registering wintrust.dll
regsvr32 /s %systemroot%\system32\wintrust.dll >> progress.log
echo Registering wuapi.dll
regsvr32 /s %systemroot%\system32\wuapi.dll >> progress.log
echo Registering wuaueng.dll
regsvr32 /s %systemroot%\system32\wuaueng.dll >> progress.log
echo Registering wuaueng1.dll
regsvr32 /s %systemroot%\system32\wuaueng1.dll >> progress.log
REM echo Registering wuauserv.dll
REM regsvr32 /s %systemroot%\system32\wuauserv.dll >> progress.log
echo Registering wucltui.dll
regsvr32 /s %systemroot%\system32\wucltui.dll >> progress.log
echo Registering wups.dll
regsvr32 /s %systemroot%\system32\wups.dll >> progress.log
echo Registering wups2.dll
regsvr32 /s %systemroot%\system32\wups2.dll >> progress.log
echo Registering wuweb.dll
regsvr32 /s %systemroot%\system32\wuweb.dll >> progress.log
echo Registering initpki.dll - This one can take a few minutes.
regsvr32 /s %systemroot%\system32\initpki.dll >> progress.log


запустим его на клиенте, он перерегистрирует библиотеки.

понедельник, 22 декабря 2008 г.

Удаление неактивных компьюетров из AD

Решил почистить AD от давно не существующих компьютеров и пригодилась вот такая вещь.

dsquery computer -inactive n | dsrm -noprompt,

где n количество недель которое учетная запись не логинилась.

четверг, 18 декабря 2008 г.

Subversion Server на Fedora Core 10

Инсталяция

Устанавливаем в ОС необходимые компоненты:
yum install httpd mod_dav_svn subversion

- это Apache, WebDAV для Apache и сам Subversion.

Также необходимо создать нужные каталоги:

mkdir /var/svn
mkdir /var/svn/repos
mkdir /var/svn/users
mkdir /var/svn/permissions


Папка repos - здесь будут лежать сами репозиатории. Папка users будет содержать файл пароля для авторизации пользователей. И папка permissioons будет хранить файл с разрешениями SVN.

Создаем несколько хранилищ:

cd /var/svn/repos
svnadmin create PUBLIC
svnadmin create PRIVATE
svnadmin create NET


PUBLIC - это хранилище будет доступно каждому, PRIVATE - доступно только пользователям прошедшим авторизацию и NET - доступ только для пользователей определенной сети (например, 192.168.254.0).

Владельцем папки svn должен быть пользователь Apache:
chown –R apache:apache /var/svn

После установки subversion, в директории conf.d Apache должен появиться новый файл.
Теперь исправляем его:
vi /etc/httpd/conf.d/subversion.conf


order deny, allow
allow from 192.168.254
deny from all



DAV svn
SVNParentPath /var/svn/repos
AuthzSVNAccessFile /var/svn/permissions/svnauthz.conf
AuthType Basic
AuthName "Auth required"
AuthUserFile /var/svn/users/passwords
Require valid-user
Satisfy any


Теперь создаем файл и заносим туда пользователей для авторизации:
cd /var/svn/users
htaccess –cb passwords user pass
htaccess –b passwords admin pass

Также необходимо создать файл svnauthz.conf и внести туда следующие изменения:
[groups]
admins = admin
users = user
[PUBLIC:/]
@admins = rw
* = r
[PRIVATE:/]
@admins = rw
[NET:/]
@admins = rw
@users = rw

Тестирование

Запускаем сервис Apache
service httpd start

И через web-браузер пытаемся зайти в хранилище:
http://ip_srv/subversion/PUBLIC
http://ip_srv/subversion/PRIVATE
http://ip_srv/subversion/NET

Для работы с хранилищем с рабочий машины с ОС Windows, можно использовать TortoiseSVN (http://tortoisesvn.tigris.org/).

Стандартные пароли для коммутаторов 3COM

* security/security
* admin/synnet
* write/synnet
* debug/synnet
* manager/manager
* admin/-
* user/user

четверг, 27 ноября 2008 г.

Postfix: продалжаем бороться со спамом

Столкнулся с наплывом спама в котором поменяется домен отправителя на мой.

Задача: отправлять сообщения от имени домена company.ru могут только пользователи, которые находятся в доверенной сети, либо прошли авторизацию.
ОS: FC5, Postfix-2.4.5-2.fc6

Решение:
в файле main.cf

smtpd_restriction_classes = OnlyUsers
OnlyUsers = permit_mynetworks,
permit_sasl_authenticated,
reject

smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/list/access_sender

в файле access_sender
company.ru OnlyUsers

не забыть сделать: postmap /etc/postfix/list/access_sender

четверг, 13 ноября 2008 г.

Окошки в Microsoft Office

На нескольких компьютерах появилась следующая проблема: окошки офиса на панель задач отображаются в виде одной панельки, переключение возможно только через закладку "Окна".
Решение: изменить параметр HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Options на ShowWindowsInTaskbar (DWORD) : 1

среда, 12 ноября 2008 г.

отключение проверки GPG-KEY

Понадобилось установить с помощью yum пакет из неофициального репрезеатория. При попытке установки выдавалось следующее предупреждение warning: rpmts_HdrFromFdno: V3 DSA signature: NOKEY, key ID 6b85f346 public key not available.

Проверяьт или не проверять подпись настраивается в конфигурационных файлах расположенных /etc/yum.repos.d/
в нем необходимо изменить параметр gpgcheck=0
соответственно проверка отключена, если 1 то включена.

среда, 29 октября 2008 г.

Включаем форвардинг (FC8)

Необходимо в настройках указать, что включать форвадинг пакетов операционной системе надо при загрузке.
1. Открываете файл /etc/sysctl.conf
2. Устанавливаете параметр net.ipv4.ip_forward=1
3. Сохраняете файл.

понедельник, 27 октября 2008 г.

SSH: Аутентификация пользователя по его публичному ключу.

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

Для генерации пары ключей используем программу ssh-keygen.
ssh-keygen -t rsa -b 2048 -f $HOME/.ssh/id_rsa
-t {RSA DSA} - указания типа ключа;
-f - указание файла для хранения ключа;
-b - указание длины ключа в битах.

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

После работы ssh-keygen создается пара ключей: один секретный (зашифрованный введенным паролем), а другой публичный с расширением .pub (id_rsa.pub). Публичный ключ необходимо скопировать в домашнюю директорию сервера $HOME/.ssh/authorized_keys. После этого сервер будет знать ключ данного пользователя и сможет аутентифицировать вас без пароля. Файл authorized_keys может содержать несколько публичных ключей, допустимых для данного пользователя: просто поместите их в данный файл по порядку. После этих операций вы сможете входить, имея секретный ключ, на сервер, где размещен ваш публичный ключ, причем под тем пользователем, в чьем домашнем каталоге данный ключ находится. Пароля удаленного пользователя не требуется, необходимо только знать пароль расшифровки секретного ключа. Для переноса своего публичного ключа на сервер надо использовать только безопасные источники, иначе ваш ключ могут подменить. Для переноса публичного ключа клиента служит программа ssh-copy-id. Для начала необходимо сделать следующее:

# ssh-copy-id -i public_key_file user@machine

После соединения с севером machine и передачей имени пользователя user (необходимо указывать, если удаленное имя отличается от локального) происходит парольная аутентификация заданного пользователя(или текущего) на удаленной машине, затем происходит копирование ключа public_key_file (или $HOME/.ssh/identity.pub, если имя файла не указано) на сервер в $HOME/.ssh/authorized_keys. После этого можно входить на сервер, не используя пароль пользователя.

вторник, 7 октября 2008 г.

Синтаксис комманды gpupdate

Синтаксис
gpupdate [/target:{computer|user}] [/force] [/wait:значение] [/logoff] [/boot]
Параметры

/target:{computer|user} Обрататывает только параметры компьютера или параметры текущего пользователя. По умолчанию обрабатываются и параметры компьютера, и параметы пользователя.
/force Игнориует все оптимизации в процессе обработки и восстанавливает все предыдущие настройки.
/wait:значение Время ожидания окончания обработки политики в секундах. По умолчанию это время составляет 600 секунд. 0 означает «без ожидания»; -1 означает «время ожидания не ограничено».
/logoff Задает выход из системы по завершении обновления. Это необходимо для тех клиентских расширений оснастки «Групповая политика», которые обрабатываются не в фоновом режиме, а при входе пользователя в систему, например, при установке программного обеспечения и перенаправлении папок. Этот параметр не работает, если вызываемые расширения, необходимые для выхода пользователя из системы, отсутствуют.
/boot Перезапускает компьютер после завершения обновления. Это необходимо для тех клиентских расширений оснастки «Групповая политика», которые обрабатываются не в фоновом режиме, а при входе пользователя в систему, например, при установке программного обеспечения и перенаправлении папок. Этот параметр не работает, если вызываемые расширения, необходимые для перезапуска компьютера, отсутствуют.
/? Вывод справки в командной строке.

среда, 1 октября 2008 г.

Error 1718

Ставил тут на досуге VMware-server-2.0.0-116503.exe на Windows Server 2003 Standart R2. И столкнулся с такой ошибкой "Error 1718. File was rejected by digital signature policy". Проблема решилась следующим способом http://support.microsoft.com/kb/925336.
Может кому полезно будет :)

вторник, 23 сентября 2008 г.

Полезные вещи

w : Полезная комбинация команд who+uptime, показывает залогиненных юзеров, и нагрузку на процессор. Нагрузка (load average) считается, что меньше 3 это хорошо, больше - плохо.

Диск
df -h : Показывает, какие файловые системы смонтированы, их размер и сколько есть свободного места.
du -sh /directory: Показывает размер директории.
hdparm -t /dev/hda1 : скорость чтения/записи на диск.
smartctl -A /dev/hda1 : Показывает информацию о диске. Из важных параметров нужно отметить Power_On_Hours - показывает сколько часов проработал диск. В случае, если Current_Pending_Sector или Offline_Uncorrectable не равны нулю - готовьтесь к скорой смерти сервера.
pwd : показывает текущую директорию.

Память
free -m - показывает свободную и занятую память.
top - интеркативно показывает процессы, память, использование процессора, что-то вроде таск-менеджера для виндовс. Для того чтобы поменять порядок процессов в списке, нажимать Shift+O.
Замечание, актуальное для Fedora Core > 5: на одном сервере у меня по умолчанию оказался запущен tmpfs, виртуальный диск, который сожрал целый гигабайт памяти. Увидеть это можно с помощью df -h, а чтобы умерить его аппетиты, нужно сделать так: в файле /etc/fstab найти tmpfs и в 4й колонке после defaults написать “,size=100M” (например). После этого запустить mount -o remount /dev/shm.

Сеть
iptables -L : Показывает настройки юниксового “файрволла”. Чтобы забанить адрес, нужно написать что-то вроде: iptables -I INPUT -s 38.100.225.0/24 -j DROP (забанится вся подсеть).
netstat -a : Показывает список всех открытых соединений.
netstat -ant|grep ESTABLISHED : Показывает список всех установленных соединений.
ifconfig : показывает сетевые карты и их настройки.

четверг, 18 сентября 2008 г.

Автоматизируем резервное копирование

Для этого выбрал софтинку BackupPC (http://backuppc.sourceforge.net/). Устанавливал я ее на FedoraCore9.

Для ее работы потребовался следующий софт: Perl, Apache, Samba. Также нужны дополнительные модули к Compress::Zlib, Archive::Zip и File::RsyncP. Их наличие можно проверить командой perldoc [имя модуля].

Установка банальна до безобразия... yum install backuppc -y и все что вам еще не хватает из этого.

среда, 17 сентября 2008 г.

Samba с авторизацией в AD (upd:24.09.2008)

Было использовано на Fedora 7-9 c AD поднятом на Windows Server 2003.

Проверяем и если необходимо устанавливаем

# yum install -y samba samba-common krb5-workstation

Правим файл /etc/hosts:

# cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.254.254 ads.domain.local ads

Теперь настроим Керберос для добавления linux-сервера в windows-домен

# cat /etc/krb5.conf
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]javascript:void(0)
default_realm = DOMAIN.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
forwardable = yes

[realms]
DOMAIN.LOCAL = {
kdc = ads.domain.local:88
admin_server = ads.domain.local:749
default_domain = domain.local
}

[domain_realm]
.domain.local = DOMAIN.LOCAL
domain.local = DOMAIN.LOCAL

[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf

[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}

Необходимо провести синхронизацию времени с контролером домена
net time set ads
и желательно сие действо прописать в cron

# kinit administrator@DOMAIN.LOCAL
Password for administrator@DOMAIN.LOCAL:


Hастройка samba

[root@vm01 ~]# /etc/samba/smb.conf
[global]
workgroup = DOMAIN
netbios name = srvfile
server string = Samba Server
security = ads
encrypt passwords = yes
realm = DOMAIN.LOCAL
password server = ads.domain.local
winbind enum users = yes
winbind enum groups = yes
winbind cache time = 1800
winbind use default domain = yes
winbind refresh tickets = yes
idmap uid = 10000-20000
idmap gid = 10000-20000
template shell = /bin/bash
template homedir = /home/%U
printing =
load printers = no


Входим в домен

# net ads join -U administrator
administrator's password:
Using short domain name -- DOMAIN
Joined 'srvfile' to realm 'DOMAIN.LOCAL'


Добавить описание pam_winbind.so модуля для аутентификации в системе. Модуль pam_mkhomedir.so для автоматического создания домашней директории при первом присоединении пользователя.

vim /etc/pam.d/system-auth
auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth sufficient pam_winbind.so use_first_pass
auth required pam_deny.so

account required pam_unix.so
account sufficient pam_succeed_if.so uid < 500 quiet
account [default=bad success=ok user_unknown=ignore] pam_winbind.so
account required pam_permit.so

password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password sufficient pam_winbind.so use_authtok
password required pam_deny.so

session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022


Настраиваем nsswitch, для того чтобы он мог использовать данные (о пользователях и групппах) AD с помощью winbind-сервиса и стартуем сервис

vim /etc/nsswitch.conf
passwd: files winbind
shadow: files
group: files winbind

/etc/init.d/winbind start
Starting Winbind services: [ OK ]
chkconfig winbind on

суббота, 13 сентября 2008 г.

4 метода отключения SELinux (update 10.02.2012)

SELinux (англ. Security-Enhanced Linux — Linux с улучшенной безопасностью) — реализация системы принудительного контроля доступа, которая может работать параллельно с классической дискреционной системой контроля доступа. Входит в стандартное ядро Linux. Также для функционирования SELinux требуются модифицированные версии некоторых утилит (ps, ls, и тд), которые обеспечивают поддержку новых функций ядра, и поддержка со стороны файловой системы.

Метод 1: Временное отключение SELinux

Для временного отключения SELinux вы можете модифицировать файл /selinux/enforce. Обратите внимание, это временное отключение, и после перезагрузки системы SELinux будет работать снова.

# cat /selinux/enforce
1
# echo 0 > /selinux/enforce
# cat /selinux/enforce
0
  Также можно использовать команду setenforce, как показано в примере ниже. Возможные параметры команды setenforce таковы: Enforcing , Permissive, 1 (включить) or 0 (отключить).
# setenforce 0

Метод 2: Постоянное отключение SELinux

Для постоянного отключения SELinux, измените файл /etc/selinux/config и установите SELINUX=disabled как показано ниже. После этого перезагрузите сервер.

# cat /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted
SETLOCALDEFS=0

Метод 3: Отключение SELinux в загрузчике Grub

Третий способ использует возможности загрузчика системы GRUB для отключения SELinux. Добавьте в конец строки selinux=0

# cat /boot/grub/grub.conf
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Enterprise Linux Enterprise Linux Server (2.6.18-92.el5PAE)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-92.el5PAE ro root=LABEL=/ rhgb quiet selinux=0
initrd /boot/initrd-2.6.18-92.el5PAE.img
title Enterprise Linux Enterprise Linux Server (2.6.18-92.el5)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-92.el5 ro root=LABEL=/ rhgb quiet selinux=0
initrd /boot/initrd-2.6.18-92.el5.img

Метод 4: Отключаем SELinux только для определенных сервисов – HTTP/Apache

Если вам необходимо не целиком отключить SELinux, а только для определенных служб, у вас есть такая возможность. Для примера отключим SELinux для HTTP/Apache, изменив значение переменной httpd_disable_trans в файле /etc/selinux/targeted/booleans.
 
# grep httpd /etc/selinux/targeted/booleans
httpd_builtin_scripting=1
httpd_disable_trans=1
httpd_enable_cgi=1
httpd_enable_homedirs=1
httpd_ssi_exec=1
httpd_tty_comm=0
httpd_unified=1
  Установите переменную также используя команду setsebool. После этого перезапустите httpd для вступления изменений в силу.

# setsebool httpd_disable_trans 1
# service httpd restart



И вуа-ля

суббота, 23 августа 2008 г.

Переименование домена WS2003

Переименование домена

Основная информация тутова: http://technet.microsoft.com/ru-ru/windowsserver/bb405948.aspx
там же есть тулза rendom и мануал на 82 страницы на англицком. Много, откровенно говоря,лишнего.

Задача.
Возникла необходимость провести переименование домена в одном из филиалов компании, типо для стандартизации. Домен был поднят на Windows 2003 Server R2.

Что почитать и чего использовать:
http://technet.microsoft.com/ru-ru/windowsserver/bb405948.aspx сцылку на програмку и ман. Ман большой, но почитать для общего развития рекомендуется.
Ну и как всегда о бэкапе не забудьте.

Что делалось...
Домен находился в режиме "Windows 2000 native". Переименование возможно ТОЛЬКО если домен и лес находятся в режиме "Windows Server 2003". Следовательно меняем режим, для этого нужно на контроллере домена в оснастке "Active Directory Domains and Trusts" в меню "Action" выбрать пункт "Raise Forest Functional Level" и там выбрать "Windows Server 2003". Иначе команда:

rendom /info

выдавалась ошибка:
"The Behavior version of the Forest is 0 it must be 2" с кодом 8245.

Это означает, что Лес работает в режиме "Windows 2000"

далее... ставим програмку и запускаем

rendom.exe /list

при этом создается файл domainlist.xml. Желательно сделать его бэкап.

< ? xml version ="1.0" ? >
< Forest >
< Domain >
< !-- PartitionType:Application -- >
< Guid >587e7f17-2061-429a-98ed-2ff18cd7b00e< / Guid >
< DNSname >DomainDnsZones.oldcompany.ru< / DNSname >
< NetBiosName >< / NetBiosName >
< DcName > < / DcName >
< / Domain >
< Domain >
< !-- PartitionType:Application -- >
< Guid >018c889c-4928-4fb5-b715-f386a3138702< / Guid >
< DNSname >ForestDnsZones.oldcompany.ru< / DNSname >
< NetBiosName >< / NetBiosName >
< DcName >< / DcName >
< / Domain >
< Domain >
< !-- ForestRoot -- >
< Guid >39410441-b0ca-4b14-987c-06bc7afee66e< / Guid >
< DNSname >oldcompany.ru< / DNSname >
< NetBiosName >TEST< / NetBiosName >
< DcName >< / DcName >
< / Domain >
< / Forest >

Затем правим это xml-файл, например oldcompany.ru менялось на newcompany.ru .а NetBIOS имя с oldcompany на newcompany и сохраняем изменения в нем.
ВНИМАНИЕ! править желательно в Notepad !!

получается вот такой файлик:

< ?xml version ="1.0"? >
< Forest >
< Domain >
< !-- PartitionType:Application -- >
< Guid >587e7f17-2061-429a-98ed-2ff18cd7b00e< / Guid >
< DNSname >DomainDnsZones.newcompany.ru< / DNSname >
< NetBiosName >< / NetBiosName >
< DcName >< / DcName >
< / Domain >
< Domain >
< !-- PartitionType:Application -- >
< Guid >018c889c-4928-4fb5-b715-f386a3138702< / Guid >
< DNSname >ForestDnsZones.newcompany.ru< / DNSname >
< NetBiosName >< / NetBiosName >
< DcName >< / DcName >
< / Domain >
< Domain >
< !-- ForestRoot -- >
< Guid >39410441-b0ca-4b14-987c-06bc7afee66e< / Guid >
< DNSname >newcompany.ru< / DNSname >
< NetBiosName >newcompany< / NetBiosName >
< DcName >< / DcName >
< / Domain >
< / Forest >


- проверка:
rendom /showforest

- подготавливаем инструкции. они описаны в файле dclist.xml, который будет использоваться для отслеживания всех изменений.
это делается запуском
rendom /upload

у DC должно быть < State >Initial< / State >


- затем делается
rendom /prepare
у DC были в Prepared state

- выполняем!!!!!
rendom /execute
В dclist.xml все должно встать в Done

- после
rendom /end

- ну и теперь осталось исправить Group Policy прогой gpfixup.exe :
gpfixup /olddns:oldcompany.ru /newdns:newcompany.ru /oldnb:oldcompany /newnb:newcompany /dc:srv.newcompany.ru 2>&1 >gpfixup.log


Перезагрузив сервер и клиентов получилось почти счастье :)
Некоторых клиентов пришлось вручную переподключить, но при этом профили не изменились и их перенастраивать не надо было

вторник, 15 июля 2008 г.

Новый сервер для 1С

Контора разорилась на новый сервачок наконец :)
Собственно, что собой 1С представляет: две базы на MS SQL объемом примерно 15Гб каждая, в ней работают порядка 70 пользователей в основном через терминальный доступ.

Вот что выбрали...
CPU Intel Xeon E5410P 2330MHz/1333/12M x2шт.
MB Intel Server S5000
RAM DDR2 PC-5300 ECC Kingston 4Gb x4шт.
Intel SRCSASRB
HDD SAS 147Gb 15000RPM Fujitsu x8шт.
OS Windows Server 2003 EE RUS

понедельник, 7 июля 2008 г.

C-NAME для Windows сервера

Решил тут забавную задачку.

Требовалось настроить СNAME со старого Linux-сервера на новый Server 2003.
Добавил запись в DNS как пологается, но не тут было :)
При заходе через NetBIOS имя, обозреватель выдавал ошибку о совпадение имен.
Решилась эта проблема после чтения довольного большого количества форумов, следующим образом:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]
Ключ: OptionalNames
Тип: REG_SZ

или

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]
Ключ:DisableStrictNameChecking
Тип: dword
Значение:00000001

Ну и так на заметку: http://support.microsoft.com/kb/281308/
и еще:
При обращении по NetBIOS-имени происходят 4 попытки поиска компьютера различными способами и только потом идет поиск по DNS-имени (еще 3-мя способами). Возможно, один из способов поиска по NetBIOS дает результат, а точнее - два, что и приводит к ошибке.
1.Проверка кеша имен NetBIOS
2.Обращение к WINS-серверу
3.Рассылка 3-х широковещательных запросов NetBIOS по всей подсети
4.Просмотр lmhosts
5.Проверка имени локального компьютера
6.Проверка кеша имен DNS (файл hosts уже подгружен)
7.Обращение к DNS-серверу

четверг, 15 мая 2008 г.

Установка SARG

Ну вот руки и добрались до логов squid :)

SARG: Генератор отчетов на основании анализа лог-файла прокси сервера Squid. Отчеты позволяют выяснить какой пользователь в какое время обращался к какому сайту.Суммарный отчет может оказать большую помощь в тарификации работающих через Squid пользователей, так как включает в себя суммарный трафик и число коннектов для каждого пользователя за определенный период времени.

http://sarg.sourceforge.net/

ОС: Fedora Core 5
ПО: Squid-2.5.STABLE12-5.1, sarg-2.2.1-1.fc3.rf (http://dag.wieers.com/rpm/packages/sarg/)

Конфиг расположен тут: /etc/sarg/sarg.conf
а вот что у меня в нем получилось в итоге:
ConfigFile.........= /etc/sarg/sarg.conf
AccessLog..........= /var/log/squid/access.log
BgColor............= #ffffff
TxColor............= #000000
TxBgColor..........= lavender
TiColor............= darkblue
Height.............= 45
FontFace...........= Verdana,Tahoma,Arial
HeaderColor........= darkblue
HeaderBgColor......= #dddddd
FontSize...........= 9px
TempDir............= /tmp
OutputDir..........= /var/www/sarg/ONE-SHOT
Ip2Name............= yes
TopuserSortField.........= BYTES
UserSortField.........= BYTES
TopuserSortOrder.........= reverse
UserSortOrder.........= reverse
DateFormat.........= e
ExcludeUsers.......=
PerUserLimitFile...=
PerUserLimit.......=
UserIp.............= yes
MaxElapsed.........= 28800000

среда, 14 мая 2008 г.

Не загружается explorer.exe и iexplore.exe

Как это обычно бывает, в один хороший день вылезла такая проблема :)

Проблема: Не загружается explorer.exe и iexplore.exe, после проверки антивирусом.

ОС: Windows XP SP2 Professional

Решение: необходимо исправить в реестре
1. Запускаем regedit.exe
2. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\explorer.exe] убираем ключ про Debug.

четверг, 8 мая 2008 г.

Проблемы с активацией Windows XP

Сегодня была презабавная проблема :)

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

ОС: Windows XP Professional SP2

Решение: номер KB в базе Microsoft забыл, но решение скопировал

Step 1: Start the computer in safe mode
1. Start the computer.
2. After the computer runs the Power On Self Test (POST), press F8 repeatedly to open the Windows Advanced Options menu.
3. On the Windows Advanced Options menu, use the arrow keys to select Safe Mode, and then press ENTER.
4. Use the arrow keys to select the Windows operating system that you want to start, and then press ENTER.
5. When the computer is running in safe mode, log on by using an account that has administrator rights and permissions. Then, click Yes in the message that states that Windows is running in safe mode.

Step 2: Start Registry Editor
Click Start, click Run, type regedit, and then click OK.

Step 3: Remove the RESETS registry subkey
1. In Registry Editor, expand My Computer, and then expand HKEY_LOCAL_MACHINE.
2. Expand SOFTWARE, and then expand Microsoft.
3. Expand Windows NT, and then expand CurrentVersion.
4. Expand Winlogon, and then expand Notify.
5. Under Notify, right-click RESETS, and then click Delete.
6. Click Yes to confirm the removal of the RESETS subkey.

Note Do not exit Registry Editor. You must use Registry Editor in "Step 4: Modify the registry to deactivate Windows."

Step 4: Modify the registry to deactivate Windows
1. In Registry Editor, expand My Computer, and then expand HKEY_LOCAL_MACHINE.
2. Expand SOFTWARE, and then expand Microsoft.
3. Expand Windows NT, and then expand CurrentVersion.
4. Under CurrentVersion, click WPAEvents.
5. In the right pane (topic area) of Registry Editor, right-click OOBETimer, and then click Modify.
6. Click to put the pointer in the Value data box. Then, modify any character that appears in the Value data box.
7. Click OK.

Note This step deactivates Windows.
8. Exit Registry Editor.

Step 5: Rename the corrupted Windows activation file
1. Click Start, click Run, type cmd, and then click OK.
2. At the command prompt, type the following command, and then press ENTER:
ren %windir%\system32\WPA.dbl wpa.old
This command renames the WPA.dbl file to WPA.old.

Step 6: Determine the CD or DVD drive letter
1. Insert the Windows CD.
2. Click Start, and then click My Computer.
3. Note the CD drive letter or the DVD drive letter that appears under Drives with Removable Storage. You have to use this drive letter in the next step.

Step 7: Replace the corrupted Windows activation file
1. Click Start, click Run, type cmd, and then click OK.
2. At the command prompt, type the following command, and then press ENTER:
expand drive :\i386\wpa.db_ %windir%\system32\wpa.dbl
In this command, replace drive with the letter of the drive that contains the Windows CD.

For example, if the Windows CD is located in drive D, the command appears as follows:
expand d:\i386\wpa.db_ %windir%\system32\wpa.dbl
This command extracts a copy of the Wpa.dbl file from the Windows CD. Then, it puts this file in the System32 folder of the Windows installation.
3. Examine the output that appears at the command prompt. If the command runs successfully, information that resembles the following appears:

Microsoft (R) File Expansion Utility Version 5.1.2600.0 Copyright (C) Microsoft Corp 1990-1999. All rights reserved. Expanding d:\i386\wpa.db_ to c:\windows\system32\wpa.dbl. d:\i386\wpa.db_: 2222 bytes expanded to 2126 bytes, -5% increase.

4. Type exit, and then press ENTER to exit the command prompt.

Step 8: Remove the files that are associated with the script
1. Click Start, and then click Search.
2. Under What do you want to search for, click All files and folders.
3. In the All or part of the file name box, type the following, and then click Search:
reset5.exe; reset5.dll; reset5.dat; reset5.dt*; srvany.exe
This action performs a search for all the following files:
• Reset5.exe
• Reset5.dll
• Reset5.dat
• Reset5.dt*
• Srvany.exe
Note If you use a different search tool such as Windows Desktop Search, use this tool to search for each of these individual files.
4. In the results pane of the Search Results dialog box, right-click each file, and then click Delete.
5. Click Yes to confirm the removal of the file.
6. When you have finished removing these files, exit the Search Results dialog box.
7. Restart the computer and let Windows restart in normal mode.

Step 9: Reactivate Windows
1. Click Start, point to All Programs, point to Accessories, point to System Tools, and then click Activate Windows.
2. If the Windows Product Activation Wizard prompts you to activate Windows, follow the instructions in the wizard to activate Windows.
3. Restart the computer, and then repeat step 1 of "Step 9: Reactivate Windows" to start the Windows Product Activation Wizard again. You take this step to verify that the wizard does not prompt you to activate Windows again.
4. If the Windows Product Activation Wizard displays a "Windows is already activated" message, click OK to exit the wizard.

вторник, 6 мая 2008 г.

Проблемы с обновлением Symantec Endpoint Protection

Проблема: сервер управления Symantec Endpoint Protection перестал раздавать обновления клиентам. В последствие выяснилось, что обновления он видел, но установить не мог. В процессе обновления появлялись следующие записи в логах: "LU1825: This update was
corrupted so LiveUpdate was unable to process it..."

ОС: Windows Server 2003 EE
ПО: Symantec Endpoint Protection

Решение: искал долго и почти отчаявшись наткнулся на вот эту утилиту: ftp://ftp.symantec.com/public/english_us_canada/linked_files/nav/SymKBFix.EXE

После запуска этой утилиты от Symantec и перезагрузки сервера... обновления радостно установились :)

суббота, 26 апреля 2008 г.

Postfix: transport_maps


Postfix: transport_maps


Задача: Необходимо организовать работу двух почтовых серверов в разных офисах. Для них зарезервировано одно доменное имя. Запись MX указывает на srv1.

На srv1

в main.cf вносим изминения:
transport_maps = hash:/etc/postfix/transport_maps

создаем файл transport_maps

вносим туда:
user_srv2_1@company.ru smtp:[srv2]
user_srv2_2@company.ru smtp:[srv2]
...
user_srv2_100@company.ru smtp:[srv2]


# postmap /etc/postfix/transport_maps

# service postfix reload

суббота, 19 апреля 2008 г.

Почтовый сервер Postfix на базе Fedora Core 8

Почтовый сервер Postfix на базе Fedora Core 8

OS: Fedora Core 8
Почтовый сервер (MTA): Postfix
Доставщик: dovecot ( с поддержкой IMAP и POP3)
Web-интерфейс: Squirrelmail
SMTP-авторизация: cyrus-sasl

Устанавливаем Postfix

yum install postfix

Настроим алиасы, чтобы вся почта для пользователя root пересылалась нашему пользователю admin
для этого в /etc/aliaces в самый конец добавим строку
root admin

В конфиге /etc/postfix/mail.cf вносим необходимые изменения:


myhostname = srvmail.company.ru

mydomain = company.ru

inet_interfaces = all

mynetworks = 192.168.254.0/28, 192.168.42.0/28, 127.0.0.0/8

Теперь нужно перезапустить сервис:

service postfix restart

Все, остальное можно оставить по умолчанию.
Для проверки отправим себе письмо:
[root@post sysconfig]# telnet 192.168.254.48 25
Trying 192.168.254.48...
Connected to srvmail.company.ru (192.168.254.48).
Escape character is '^]'.
220 srvmail.company.ru ESMTP Postfix
HELO srvmail.company.ru
250 srvmail.company.ru
mail from:fromer@from.info
*(здесь все равно что писать, если в mail.cf не включена проверка отправителя)
250 Ok
rcpt to:root@srvmail.company.ru
250 Ok
data
354 End data with .
!!!Test!!!
.
250 Ok: queued as BC1332BC5A
quit
221 Bye
Connection closed by foreign host.

Все нормально, письмо отправилось, теперь посмотрим, пришло ли оно.
Т.к. postfix хранит все почту в /var/mail/имя_пользователя, а в нашем случае письмо писалось для root, но в соответствии с настроенными алиасами было перенаправлено пользователю admin, там и смотрим:

[root@post sysconfig]# cat /var/mail/admin

Видим, что письмо доставлено и все в порядке..
Теперь сделаем, чтобы postfix запускался при старте системы:
# /sbin/chkconfig --level 35 postfix on

Устанавливаем Dovecot.
Dovecot – IMAP-сервер, рассчитанный на максимальную безопасность и надежность, способный обслуживать клиентов по протоколам imap, imaps, pop3, pop3s.

yum install dovecot

для того чтобы он заработал, достаточно в /etc/dovecot.conf найти секцию
# Protocols we want to be serving:
# imap imaps pop3 pop3s
и здесь раскомментировать и поправить строку protocols таким образом.

protocols = imap imap pop3

Перезапускаем postfix и dovecot.
И сделаем, чтобы dovecot запускался при старте системы:
# /sbin/chkconfig --level 35 dovecot on
Все, теперь пользователи могут получать почту с нашего сервера.

Настройка Postfix для поддержки аутенификации SMTP.
Постфикс может быть сконфигурирован на релей почты от пользователей, находящихся в "чужих" сетях, у которых валидны логин и пароль.
Добавим следующие строки в файл /etc/postfix/main.cf

# Эта строка информирует постфикс о том, что необходимо
# использовать SMTP AUTH когда пользователь находится
# не в 'mynetwork' и пытается отправить почту на "чужие" домены
smtpd_sasl_auth_enable = yes

# Эта опция выключает выключает "anonymous style" для SMTP AUTH.
# Без этой опции любой может использовать postfix как "open relay"
smtpd_sasl_security_options = noanonymous

# Эта опция устанавливает ограничения для клиентов,
# пытающихся релееить почту через ваш почтовый сервер
smtpd_recipient_restrictions = permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination

Поправим файл /etc/sysconfig/saslauthd

# эта опция указывает на то, что демону saslauthd необходимо
# использовать механизм PAM (подключаемые модули аутентификации)
# для проверки каждого имени и пароля
MECH=pam

Теперь удостоверимся что демон saslauthd запускается при старте системы, выполнив от рута команду:

# /sbin/chkconfig --level 35 saslauthd on

Теперь запускаем saslauthd и postfix:

# service saslauthd restart
# service postfix restart

Постфикс стартовал и теперь он разрешает релееить почту аутентифицированным клиентам.

Устанавливаем Web-интерфейс для работы с почтой
SquirrelMail – вэб интерфейс для работы с электронной почтой.

yum install squirrelmail

Посмотрим куда он установился:
[root@srvmail etc]# whereis squirrelmail
squirrelmail: /etc/squirrelmail /usr/share/squirrelmail

/etc/squirrelmail – содержит файлы конфигурации.
/usr/share/squirrelmail – это основная директория программы

запустим файл конфигурации программы /usr/share/squirrelmail/config/conf.pl
Заполняем свои данные и незабываем указать в качестве imap севера dovecot.
Сохраняем изменения и выходим. Теперь можно попробовать постучаться на вэб интерфейс.
http://192.168.254.48/webmail/

Теперь сделаем, чтобы httpd запускался при старте системы:
# /sbin/chkconfig --level 35 httpd on
Теперь пользователи могут прямо из интернета работать со своими почтовыми ящиками.

Средства борьбы со спамом (spamassassin, postgrey)
SpamAssassin - это расширяемый почтовый фильтр, используемый для идентификации спама. Полученные почтовые сообщения могут быть выборочно помечены как спам для фильтрации в будущем аналогичных сообщенний.
Postgrey – сервер политики Postfix, который осуществляет greylisting. Когда запрос о поставке почты получен, Postfix проверяет связку CLIENT_IP / ОТПРАВИТЕЛЬ / ПОЛУЧАТЕЛЬ. Если это - первый раз, когда эта связка замечена, или если она замечена меньше чем 10 минут назад, то почта отклоняется с временной ошибкой. Правильный сервер через время повторит письмо.


Spamassassin
Т.к. в нашей системе уже установлен Amavis, spamassassin, входит в список его зависимостей и уже был установлен yum-ом. Для того чтобы он заработал, достаточно закомментировать в файле /etc/amavisd.conf строку:

# @bypass_spam_checks_maps = (1); # uncomment to DISABLE anti-spam code

И запустить саму службу: service spamassassin restart

Postgrey
yum install postgrey

В файле /etc/init.d/postgrey исправим секцию OPTIONS
OPTIONS="--inet=127.0.0.1:10023 --delay=1000 --retry-window=22h --greylist-text='Greylisted for 1000 seconds, see http://b-formula.ru/greylisted/index.html'"
*--greylist-text='Greylisted for 1000 seconds, see http://b-formula.ru/greylisted/index.html' дает возможность выводить свою html страницу с ошибкой, вместо стандартной.

Теперь нужно перезапустить сервисы:
service greylist restart
service postfix restart

И сделаем, чтобы обе сервиса запускались при старте системы:
# /sbin/chkconfig --level 35 spamassassin on
# /sbin/chkconfig --level 35 postgrey on


Пример функций /etc/postfix/mail.cf

# Размер почтового ящика устанавливаем 100Мб
mailbox_size_limit = 104857600

# Размер письма 15M
message_size_limit = 25360000

# Эта строка информирует Postfix о том, что необходимо использовать SMTP AUTH когда
# пользователь находится не в 'mynetwork' и пытается отправить почту на "чужие" домены
smtpd_sasl_auth_enable = yes

# Эта опция выключает "anonymous style" для SMTP AUTH.
# Без этой опции любой может использовать postfix как "open relay"
smtpd_sasl_security_options = noanonymous

# Требовать от клиента в начале smtp-сессии слать команду HELO/EHLO.
# До сих пор многие программы для спам рассылок не включают в себя набор этих команд.
smtpd_require_helo = yes

# Запрещаем использовать команду vrfy для определения пользователя на сервере.
disable_vrfy_command = yes

# Использовать бузу данных открытых релеев relays.ordb.org
maps_rbl_domains = relays.ordb.org

# The broken_sasl_auth_clients parameter controls interoperability with SMTP clients
# that do not recognize that Postfix supports RFC 2554 (AUTH command). Examples of
# such clients are Microsoft Outlook Express version 4 and Microsoft Exchange version 5.0.
#При использовании нестандартных клиентов, имеющих свои методы аутентификации
broken_sasl_auth_clients = yes

# Не отключать поиск доменного имени у IP адреса.
disable_dns_lookups = no

# Проверка клиента при ХЕЛО:
# клиентов в "своей" сети не проверяем
# прошедших аутентификацию не проверяем
# остальных проверяем на неправильное доменное имя
# остальных проверяем на неполное доменное имя
# остальных проверяем на наличие A и MX записей
smtpd_helo_restrictions =
#vip senders check_sender_access hash:$config_directory/vipsenders
permit_mynetworks
permit_sasl_authenticated
reject_invalid_hostname
reject_non_fqdn_hostname
reject_unknown_hostname

# ??? Эта опция устанавливает ограничения для клиентов, пытающихся релееить почту через ваш почтовый сервер
# пропускаем клиентов, описанных в файле "access_vip_sender"
# пропускаем клиентов "своей" сети
# пропускаем прошедших аутентификацию
# пропускаем если получатель в нашем (домене)??
# отклоняем клиентов с неверными имененм хоста
# отклоняем клиентов с неизвестным доменом отправителя
# отклоняем клиентов с неизвестным доменом получателя
# отклоняем клиентов если получатель не в нашем (домене)??
# отклоняем клиентов если он есть в списке relays.ordb.org
# грейлистинг
# отклоняем клиентов если он есть в списке sbl.spamhaus.org
# отклоняем клиентов если он есть в списке sbl.spamhaus.org

smtpd_recipient_restrictions =
#Включение постгрэя// обязательно перед permit_auth_destination
check_policy_service inet:127.0.0.1:10023
permit_auth_destination
permit_mynetworks
permit_sasl_authenticated
reject_invalid_hostname
reject_unknown_sender_domain
reject_unknown_recipient_domain
reject_unauth_destination

reject_rbl_client relays.ordb.org
reject_rbl_client sbl.spamhaus.org