Тэг ‘server’

Eaccelerator и open_basedir restriction

 Eaccelerator не особо дружит c open_basedir - ошибка вида:

Warning: Unknown: open_basedir restriction in effect. File() is not within the allowed path(s): (/var/www/user/data:.) in Unknown on line 0
Fatal error: Can't load /var/www/user/data/www/site.ru/index.php, open_basedir restriction. in Unknown on line 0

Если подобная ошибка выдается даже при выполнении файла, в котором нет ни одного include, и вы не администратор хостинга - обращайтесь в поддержку :). Если у вас выделенный сервер, проблему можно решить, закомментировав строки, которые относятся к домену (в конфигурационном файле apache - основном, или подключаемом, для домена):
php_admin_value open_basedir "/var/www/user/data...

Для очистки совести можно сделать “как надо” - проверяем, дейсвительно ли дело в eaccelerator:
$ php -v
...with eAccelerator v0.9.6, Copyright (c) 2004-2010 eAccelerator, by eAccelerator

Для версии 0.9.6 ищем “патч” тут:
http://eaccelerator.net/attachment/ticket/396/eaccelerator.c.patch

(изменяем файл eaccelerator.c в соответствии с патчем и повторяем процедуру установки с момента .configure… (, make ,make install, перезапускаем httpd) )

ps Подружить eaccelerator и open_basedir пытаются уже довольно давно - есть тикеты с возрастом ~ 4 года, а есть и свежие.. новые версии - новые баги :)

http://www.eaccelerator.net/ticket/104
e-accelerator open_basedir errors

http://eaccelerator.net/ticket/396
Opendir error

UPD Eaccelerator не открывался - исходники можно скачать
http://sourceforge.net/projects/eaccelerator/files/eaccelerator/

Опубликовано Апрель 16, 2010 | автор: levik  |  Нет комментариев »

Logoff удаленного пользователя сервера терминалов

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

Подключение к серверу терминалов в режиме консоли
mstsc /v:<адрес сервера> /console

> logoff /?
LOGOFF [<имя сеанса> | <ID сеанса>] [/SERVER:<сервер>] [/V]
<имя сеанса>      Имя сеанса.
<ID сеанса>       Идентификатор сеанса.
/SERVER:<сервер>  Сервер терминалов, содержащий завершаемый сеанс пользователя (по умолчанию - текущий).
/V                Отображение информации о выполненных действиях.

Reset session - сбрасываем сессии с сервера терминалов

Синтаксис
reset session {имя_сеанса|код_сеанса} [/server:имя_сервера] [/v]

Tsshutdn - удаленный ребут/выключение/выключение питания на сервере терминалов.

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

Синтаксис
tsshutdn [время_ожидания] [/server:имя_сервера] [/reboot] [/powerdown] [/delay:задержка_выхода] [/v]

утилита exitwin (?)

прижим клавиши Shift при логон - все автозапускаемые программы пропускаются…
если сценарий всавить в usrlogon.cmd то он всеравно отработает
%clientname% - переменная (netbios_name компа с которого входят в терминал). Когда входят с консоли %clientname% отсутствует.

Вызов на скрипт (например, c:\start.vbs) вставляется в usrlogon.cmd чтобы исключить возможность со стороны пользователя прервать автоматический запуск скрипта.
Сам скрипт start.vbs содержит следующее:
Option Explicit
Dim WshShell, objEnv
Set WshShell = CreateObject("WScript.Shell")
Set objEnv = WshShell.Environment("Process")
If objEnv("CLIENTNAME") = "" Then
If (objEnv("USERNAME") = "Administrator") Then
Else
WshShell.Popup "Локальный вход на консоль сервера может осуществить только Администратор", 5, "Внимание!", vbOKOnly & vbInformation
WshShell.Run "c:\exitwin.exe logoff"
End If
Else
End If

В MS Windows 2000 режим Remote Administration разрешал два удаленных сеанса для системного администрирования. В Windows Server 2003 вместо установки Terminal Services можно воспользоваться Remote Desktop. В Windows Server 2003, Remote Desktop позволяет создать два виртуальных сеанса RDP, а также удаленное подключение к консольному сеансу сервера.

Для включения Remote Desktop в System Control Panel, выбираем вкладку Remote и включаем флажок Allow users to remotely connect to your computer. По умолчанию удаленное соединение разрешено только локальным администраторам, но вы можно добавить нужных пользователей в группу Remote Desktop Users. Учтите, что включение Remote Desktop не активирует систему совместимости приложений, поэтому приложения могут работать некорректно

Требования для доступа к терминальному серверу

WS2K3 имеет три различных уровня защиты, которые позволяют контролировать доступ к терминальному серверу. Чтобы пользователь мог зарегистрироваться на терминальном сервере, необходимо соблюдение следующих трех условий:
* Право Allow log on through Terminal Services (разрешен вход через службу терминалов) — В Windows 2000 вам необходимо было давать право Log on locally всем пользователям, которым требовался доступ терминальному серверу. Это создавало потенциальную брешь в безопасности, поскольку позволяло регистрироваться на консоли сервера, обходя ограничения, которые вы сделали для RDP. WS2K3 разделяет право локального входа и право входа через службу терминалов. По умолчанию, на WS2K3 право Allow log on through Terminal Services дается только администраторам и членам группы Remote Desktop Users.

* Права использовать RDP — Администратор может установить разрешения RDP с помощью Terminal Services Configuration. Как уже упоминалось, Microsoft изменила разрешения по умолчанию для протокола в WS2K3. Если в Win2K локальной группе Users был разрешен доступ к RDP, то в WS2K3 этот доступ ограничен только локальной группой Remote Desktop Users. Поэтому чтобы пользователи могли регистрироваться на терминальном сервере, вы должны поместить их в эту группу.

* Опция Allow logon to terminal (разрешен вход на терминальный сервер) — В свойствах каждого пользователя в AD есть опция Allow logon to terminal server, которая определяет, разрешено ли пользователю регистрироваться на терминальном сервере. По умолчанию эта опция включена.
Два из этих условий зависят от членства в группе Remote Desktop Users. Если пользователь получает сообщение You do not have permission to access this session, то одно из этих трех условий не соблюдается.

Как узнать, кто залогинен на удаленном компьютере
Чтобы узнать вошедших в систему пользователей на удаленном компьютере можно воспользоваться утилиткой psloggedon из комплекта pstools
psloggedon \\compname_or_ip
Более полную информацию  - psloggedon /? или в помощи

Поиск юзера по компьютерам домена (временно)

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSys = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
For Each obj in colSys
Wscript.Echo " User: " & obj.UserName
Next

Locate User от Digital Labs
IS Decisions UserLock (Единственный недостаток программы это установка на компах домена клиентских частей. Естевственно это можно сделать автоматически и централизованно для всей сети.)

Два пути: база регистрации (оной и является WINS) в любом виде от SQL до текстовых файлов или последовательный перебор всех активных станций:
1 - делается скан активных компов в домене - например net view > *.txt
2 - берется командная утилитка nete.exe
3 - текстовый файл открывается в екселе - добавляется столбец в начало, пишется строка nete (c ключами если надо), растягивается во весь список компов. Файл сохраняется в виде “dos - разделитель пробел” nete_123.cmd
4 - cmd -> nete_123 > *.txt

http://forum.sysadmins.su/index.php?showtopic=111&st=0&p=8750&#entry8750

Ссылка на скрипты windows - можно найти много полезного

http://sysadmins.ru/topic79925.html

Опубликовано Апрель 1, 2010 | автор: levik  |  Комментарий (1) »

Настраиваем бесплатную почту Yandex или Google на своем домене

В последнее время некоторые бесплатные почтовые сервисы (сталкивался с yandex и google) дают возможность создать ящик с “красивым именем” вида ящик@свой.домен (mailbox@levik.info) , при этом не нужен собственный хостинг. Вы платите только за регистрацию домена. Дополнительным плюсом идет наличие профессиональной защиты от почтового спама, которая установлена на почтовых серверах.

Как же настроить бесплатную почту на своем домене?

Для начала следует выбрать и зарегистрировать доменное имя.

Если доменное имя уже зарегистрировано, определяемся  с бесплатным сервисом, которым будем пользоваться. Думаю, для большинства пользователей и даже для некоторых небольших фирм вполне подойдет любой из сервисов, и основным определяющим фактором может стать вопрос привычки - кто уже пользовался gmail-почтой, предпочтет google, ну а пользователи yandex-а, скорее всего выберут yandex. Хотя, если бы не перемены, жить бы нам в пещерном веке.. )

Характеристики бесплатной почты от Yandex и от Google

читать про настройку бесплатной почты на Yandex или Google

Опубликовано Март 16, 2010 | автор: levik  |  Нет комментариев »

awstats - русификация, кодировки и кракозябры в ключевиках

На многих хостингах встречал установленный awstats. При этом, в разделе переходы по ключевым фразам (Search Keyphrases) вместо привычных русских букв - непонятные кракозябры (ну и англицкие буквы с цифрами проскакивают)

1. смотрим кодировку файла (вид-кодировка- UTF-8). Если после изменения кодировки кракозябры стали русскими буквами, то awstats корректно обрабатывает, но некорректно выводит. Заглядываем в код и.. ищем строчку:

<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">

Если кодировка не русскоязычная, следует в файле

/usr/local/etc/awstats/awstats.mysite.com.conf

поменять Lang=”auto” на Lang=”ru”

2. Если кодировка русскоязычная, но “не та” (Utf-8 вместо cp1251 или наоборот) -
исправляем в /usr/local/www/awstats/cgi-bin/lang/awstats-ru.txt
PageCode=windows-1251 на PageCode=utf-8 (или наоборот - выбрать нужное)

3. Еще полезно будет раскомментировать строку конфигурационного файла, включающую decodeutfkeys - помогает, когда поисковые строки в разных кодировках.

Конфиги awstats искать в каталогах (варианты есть, но предсказуемые)

/etc/awstats/awstats.conf
/usr/local/etc/awstats/

http://www.legco.net/entry-348.php

Опубликовано Март 13, 2010 | автор: levik  |  Нет комментариев »

Plesk - процесс sw-cp-serverd забивает память

Процесс sw-cp-serverd забивает память

Судя по всему, ренейминг зацепил и Plesk :)

# service psa status
sw-cp-serverd (pid 36016) is running…

sw-cp-serverd (lighthttpd) memory leak
Веб-сервер панели управления PLESK 9.X (sw-cp-serverd) иногда начинает съедать слишком много памяти (несколько гиг).
Выяснилось, что использование памяти возрастает после открытия в панели управления просмотра больших файлов журналов. При открытии гигабайтного error_log одного из клиентов, процесс sw-cp-serverd начинал использовать весь этот объём в оперативной памяти и оставлял его за собой до перезапуска веб-сервера панели.

К сожалению нормального решения пока не нашел, поскольку lighttpd не имеет опций ограничения на отдачу body size. PHP параметр memory_limit при этом не блокирует выгрузку в lighttpd, а max_execution_tme править не хочется по крайней мере из-за возможности долгой загрузки дампов через phpmyadmin и файлов через менеджер файлов.

Остаётся пока только запихнуть в крон:
ps aux |grep sw-cp-server |grep 10005 |awk ‘{if($5>100000) system(”/etc/init.d/sw-cp-server restart”)}’
где 10005 - uid процесса веб-сервера.

Честно подсмотрено у Unlo:
http://www.unlocked.ru/index.php

ps Не храните гигабайтные логи! :) тем более - ошибок! :)
pps google по sw-cp-serverd выдал на первом месте:
http://www.experts-exchange.com/OS/Linux/Q_24546472.html - мнение экспертов 30 дней Trial

Опубликовано Февраль 12, 2010 | автор: levik  |  Нет комментариев »

Автоматическое подключение сетевого диска в Windows

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

Подключить сетевой диск легко - достаточно выбрать одноименную команду (”подключить сетевой диск“) в пункте контекстного меню, на нужном сетевом каталоге. Чтобы не повторять действие каждый раз, можно поставить галочку подключать при входе в систему. Кроме того, можно подключить сетевой диск под именем другого пользователя. Однако, совместить эти два пункта немного сложнее.

Автоматическое подключение сетевого диска при загрузке

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

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

подключение сетевого диска в Windows от имени другого пользователя

Опубликовано Сентябрь 3, 2009 | автор: levik  |  Комментарии (15) »

Безопасность терминальных служб в WIN 2008

Особенности, ключевые отличия от предыдущих версий:

- доверие серверу;
- MitM и DOS-атаки;
- доверие RDP-файлам;
- шифрование соединений;
- печать из приложений;
- простой вход для пользователей;

NLA - Network Level Authentification:
- окно для ввода данных - “стандартное” окно аутентификации;
- пользователь получает доступ к виртуальному рабочему столу ПОСЛЕ аутентификации! (в отличие от предыдущих версий);

Использование сертификатов для подписывания RDP-файлов;
- сертифицированный файл подписан издателем;
- при многократном запуске имеется возможность запускать без предупреждения;
- неподписанные файлы при попытке запуска вызывают предупреждение.

Технология Easy Print:
- установка драйверов только для клиентов (проблема “старого железа” и новых ОС);

Технология Single Sign On:
- при входе в систему пользователь автоматически получает доступ к терминальным серверам и приложениям без дополнительного запроса учетных данных;
- запуск терминальных служб с рабочей станции;

Несколько способов шифрования
- более современный (ключ 128 бит) - не совместим со старыми версиями RDP Client;
- “Максимально допустимый для клиента”;
- менее защищенный (ключ 52 бита) - совместим со старыми версиями;

Удаленный доступ через TS Gateway:
- ранее возможно было организовать терминальный доступ лишь одним из двух возможных способов - через порт 3389 /либо с использованием VPN;
- TS Gateway позволяет осуществлять доступ к удаленному рабочему столу через 443 порт!
- CAP - Connection Authorisation Policies - Разрешенные методы авторизации, каким пользователям и с каких компьютеров разрешено подключаться + для каких устройств разрешено перенаправление;
- RAP - Resource Authorisation Policies - “Политики ресурсов” - К каким группам компьютеров AD разрешено подключаться (или группам TSG) и через какие порты может происходить подключение

NAP - Network Access Protection
- основанная на стандартах платформа для управления доступом на основе “здоровья” конечных рабочих станций;
- TSG может быть интегрирован в расширенную структуру NAP, либо NAP может использоваться только для удаленного доступа;
- проверка статуса обновлений антивируса/файрволла/обновлений безопасности происходит при подключении к TS Gateway - TS Gateway при помощи NAP производит проверку и либо отклоняет соединение, либо “разрешает”;

Опубликовано Июнь 6, 2009 | автор: levik  |  Нет комментариев »

DNS зоны (ресурсные записи DNS)

DNS - зоны - немного теории примеры:

Вся информация о DNS хранится порциями (ресурсная запись или Resource Record). Каждая ресурсная запись содержит:

имя (NAME) - доменное имя, к которому привязана или которому “принадлежит” данная ресурсная запись,
TTL (Time To Live) - допустимое время хранения данной ресусной записи в кэше неответственного DNS-сервера,
тип (TYPE) ресурсной записи - определяет формат и назначение данной ресурсной записи,
класс (CLASS) ресурсной записи; теоретически считается, что DNS может использоваться не только с TCP/IP, но и с другими типами сетей, код в поле класс определяет тип сети,
длина поля данных (RDLEN),
поле данных (RDATA), формат и содержание которого зависит от типа записи.

Часто используемые DNS-зоны:

  • @ — символ «@» означает, что действие записи будет распространяться на указанную зону.
  • subdom — набор букв и цифр, определяющий зону следующего уровня (поддомен), на которую распространяется действие. В нашем примере — действие записи будет распространяться на зону abc.domain.tld.
  • * — символ «*» означает, что действие записи будет распространяться на все поддомены

Тип DNS-зоны

  • A — используется для указания соответствия имени хоста IP-адресу.
  • MX — используется для указания почтового сервера для домена.
  • CNAME — используется для перенаправления имени хоста на другое имя.
  • SRV — используется для указания сервера, предоставляющего услуги определенной службы. В грубом приближении это аналог MX-записи, которая указывает, куда должна доставляться электронная почта, которая адресована определенному домену. Штатно поддерживается такими протоколами как XMPP(Jabber), SIP, LDAP. За счет использования этого вида записи можно разместить Jabber-сервер на отдельной машине, а не на той же, куда указывает A-запись DNS.
  • TXT — используется для указания дополнительной текстовой информации, которую хочет сообщить владелец домена.

Значение:

  • Для A-записи следует указывать IP-адрес.
  • Для MX-записи указывается имя почтового сервера. С точкой на конце! (для полного имени)
  • Для CNAME-записи указывается имя хоста, на которое устанавливаем перенаправление. Точка на конце обязательна!
  • Для SRV-записи указывается строка вида «приоритет вес порт значение», где приоритет, вес и порт должны состоять только из цифр, а значение — полное имя хоста с точкой на конце.
  • Для TXT-записи указывается произвольная текстовая строка. Ограничение — запись может состоять только из букв латинского алфавита, цифр, пробелов и символов:
    . , ; : - = " / ~ ?

Примеры DNS записей:
@      IN      A      93.158.134.8
@      IN      MX 10      ya.ru.
WWW      IN      CNAME      ya.ru.
*      IN      CNAME      ya.ru.

Более подробную информацию смотреть на wiki

Опубликовано Апрель 28, 2009 | автор: levik  |  Нет комментариев »

Устанавливаем модули Perl

При попытке запустить скрипт получил ошибку 500, а в логах:
Can't locate Archive/Zip
После пары минут поиска понимаем, что нужно установить модуль perl “Module Archive::Zip ”
Вариант первый - ручная установка модулей Perl
На сайте cpan.org находим (search.cpan.org) нужный модуль, сохраняем в каталоге (/tmp, например)# cd /tmp
# gzip -d Archive-Zip-1.26.tar.gz
# tar xvf Archive-Zip-1.26.tar
# cd Archive-Zip-1.26

Собираем: # perl Makefile.PL
...
# make
# make test
И установка модуля:
# make install
Вариант второй - Установка модуля Perl с использованием CPAN
Для установки модулей Perl при помощи CPAN следует убедиться, работает ли команда cpan:.# cpan
-bash: cpan: command not found

Если выдается сообщение “not found” - следует установить модуль CPAN. Для установки cpan с помощью yum следует набрать:
# yum install perl-CPAN
При первом запуске нужно будет “сконфигурировать” cpan в режиме вопрос-ответ. Большая часть ответов уже подставлена - достаточно нажатия ENTER. Некоторые вопросы требуют выбора из нескольких пунктов.
После настройки набираем:
# cpan
Terminal does not support AddHistory.

cpan shell -- CPAN exploration and modules installation (v1.7602)
ReadLine support available (try 'install Bundle::CPAN')

cpan> install Archive::Zip
….
/usr/bin/make install — OK
cpan> quit

Итак, мы установили Модуль perl “Archive::Zip”.
По аналогии можно установить любой другой модуль. Однако при установке следует учитывать, что для некоторые модули зависят от других модулей. При использовании установки вторым методом cpan автоматически устанавливает необходимые для работы модули perl.

Опубликовано Март 4, 2009 | автор: levik  |  Комментарии (3) »

rtorrent консольный торрент клиент для linux

Некоторое время использовал возможности не особо загруженного *x сервера.. Постоянный выделенный IP + не гудит под ухом по ночам… Но сейчас не об этом.. Задача: запуск торрент-клиента в Linux.

Торрент клиент для Linux/Unix - RTorrent

В качестве торрент-клиента был выбран именно rTorrent. (альтернативы смотреть тут, возможности в сравнении - тут). В качестве отличий была отмечена нетребовательность к ресурсам.

Довольно подробно установка клиента (кстати, и обоснование выбора) описана у yavova.

Поскольку, клиент консольный, без User Guide -а не обойтись. Автозапуск rTorrent - вариации + обсуждения. Отметил следующее: для запуска rtorrent “не от рута” вставляем строку в /etc/rc.d/rc.local

screen -S rtorrent -d -m su - torrent -c rtorrent

Создается detached screen с названием rtorrent (чтобы подключаться не по id, а просто screen -r rtorrent), а уже в самом скрине запускается rtorrent от пользователя torrent через su.

Как вариант воспользоваться @reboot - выполнять при загрузке операционной системы,

@reboot screen -dmS TORRENT rtorrent

+ небольшой бонус про подключение с использованием скринов..* Чтобы запустить торрент необходимо нажать не ctrl+s, а последовательно ctrl+a s или ctrl+a ctrl+s; для отключения от скрина ctrl+a d

Раскрашиваем rTorrent или цветные темы.. Сам не использовал..

Вот такая вот подборка ссылок по консольному торрент-клиенту rTorrent. Возможно, по мере накопления будет пополняться…

Опубликовано Февраль 5, 2009 | автор: levik  |  Нет комментариев »