LINUX.ORG.RU

Сообщения eightn

 

switch-card pci в выключенном сервере - будет работать?

Есть такие коммутаторы (свитчи), собирающиеся непосредственно на pci плате. С платы они берут исключительно питание, например:
http://www.tk-plus.ru/?pid=1482&id=108&name=shop

т.е. pci-плата, сзади торчит 4..6 портов ethernet (иногда на плате разводят и сетевую карту).

Вопрос - а в случае, если питание на серере выключено, будет ли свич на такой плате работать? Т.е. гасим/тушку сервера через IPMI. Не потеряем ли мы сам свитч и, соответственно, IPMI-доступ к тушке сервера?

Для чего это нужно. Есть сервера, находящийся в дц. На них IPMI для «мало-ли что». IPMI управляется через отдельный ethernet-порт, который надо куда-то втыкать. Провайдер (датацентр) за дополнительный порт хочет дополнительных денег. Если машин много - денег получается тоже много. Возможно ли обойтись одним портом, используя такую свитч-карту (втыкаем аплинк провайдера в свич на pci карте, а уже с этого свича подключаем патчкордами ipmi и ethetnet-порт сервера.

У кого-нибудь был положительный опыт использования подобных решений? :)

eightn
()

xfs: no space left on device, хотя место есть, иноды тоже

Есть машина, к которой подключен диск на 9TB (много дисков, собранных в рейд). На диске создана xfs. Некоторое время назад, при попытке записи на этот диск система стала говорить "no space left on device", хотя место и иноды на диске еще не закончилось.
Выяснилось, что это произошло после копирования туда нескольких директорий, в каждой из которых было примерно 600тысяч мелких (от пары килобайт до сотни килобайт).

Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdd1 9516351360 9295396036 220955324 98% /opt/storage2

Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sdd1 888871152 4905723 883965429 1% /opt/storage2

Система - linux, debian etch, ядро 2.6.18-5-amd64

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

eightn
()

проблемы с контроллером Adaptec AIC-9410W SAS (Razor ASIC RAID) (rev 09) в linux (не видны диски)

Возникла проблема на машине на 5000P чипсете с контроллером Adaptec AIC-9410W. Ядро упорно не видит дисков и даже контроллера.

Модуль ядра сообщает следующее:

ACPI: PCI Interrupt 0000:09:02.0[A] -> GSI 18 (level, low) -> IRQ 18 aic94xx: found Adaptec AIC-9410W SAS/SATA Host Adapter, device 0000:09:02.0 scsi0 : aic94xx aic94xx: BIOS present (1,1), 1822 aic94xx: ue num:4, ue size:88 aic94xx: manuf sect SAS_ADDR 50030480002636f0 aic94xx: manuf sect PCBA SN ORG aic94xx: ms: num_phy_desc: 8 aic94xx: ms: phy0: ENABLED aic94xx: ms: phy1: ENABLED aic94xx: ms: phy2: ENABLED aic94xx: ms: phy3: ENABLED aic94xx: ms: phy4: ENABLED aic94xx: ms: phy5: ENABLED aic94xx: ms: phy6: ENABLED aic94xx: ms: phy7: ENABLED aic94xx: ms: max_phys:0x8, num_phys:0x8 aic94xx: ms: enabled_phys:0xff aic94xx: ctrla: phy0: sas_addr: 50030480002636f0, sas rate:0x9-0x8, sata rate:0x0-0x0, flags:0x0 aic94xx: ctrla: phy1: sas_addr: 50030480002636f0, sas rate:0x9-0x8, sata rate:0x0-0x0, flags:0x0 aic94xx: ctrla: phy2: sas_addr: 50030480002636f0, sas rate:0x9-0x8, sata rate:0x0-0x0, flags:0x0 aic94xx: ctrla: phy3: sas_addr: 50030480002636f0, sas rate:0x9-0x8, sata rate:0x0-0x0, flags:0x0 aic94xx: ctrla: phy4: sas_addr: 50030480002636f0, sas rate:0x9-0x8, sata rate:0x0-0x0, flags:0x0 aic94xx: ctrla: phy5: sas_addr: 50030480002636f0, sas rate:0x9-0x8, sata rate:0x0-0x0, flags:0x0 aic94xx: ctrla: phy6: sas_addr: 50030480002636f0, sas rate:0x9-0x8, sata rate:0x0-0x0, flags:0x0 aic94xx: ctrla: phy7: sas_addr: 50030480002636f0, sas rate:0x9-0x8, sata rate:0x0-0x0, flags:0x0 aic94xx: max_scbs:512, max_ddbs:128 aic94xx: setting phy0 addr to 50030480002636f0 aic94xx: setting phy1 addr to 50030480002636f0 aic94xx: setting phy2 addr to 50030480002636f0 aic94xx: setting phy3 addr to 50030480002636f0 aic94xx: setting phy4 addr to 50030480002636f0 aic94xx: setting phy5 addr to 50030480002636f0 aic94xx: setting phy6 addr to 50030480002636f0 aic94xx: setting phy7 addr to 50030480002636f0 aic94xx: num_edbs:21 aic94xx: num_escbs:3 aic94xx: Failed to load sequencer firmware file aic94xx-seq.fw, error -2 aic94xx: couldn't init seqs for 0000:09:02.0 aic94xx: couldn't init the chip ACPI: PCI interrupt for device 0000:09:02.0 disabled aic94xx: probe of 0000:09:02.0 failed with error -2

Пробовал несколько разных ядер, включая ванильные до версии 2.6.24 включительно, ситуация не меняется. Никто не сталкивался с такой проблемой?

Может надо чтото отключить или наоборот, включить в биосе или нечто подобное? Или нам попался вообще экземпляр с битой платформой или контроллером?

Вот сообщение от lspci:

00:00.0 Host bridge: Intel Corporation 5000P Chipset Memory Controller Hub (rev b1) 00:02.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 2-3 (rev b1) 00:04.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 4-5 (rev b1) 00:06.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 6-7 (rev b1) 00:08.0 System peripheral: Intel Corporation 5000 Series Chipset DMA Engine (rev b1) 00:10.0 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev b1) 00:10.1 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev b1) 00:10.2 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev b1) 00:11.0 Host bridge: Intel Corporation 5000 Series Chipset Reserved Registers (rev b1) 00:13.0 Host bridge: Intel Corporation 5000 Series Chipset Reserved Registers (rev b1) 00:15.0 Host bridge: Intel Corporation 5000 Series Chipset FBD Registers (rev b1) 00:16.0 Host bridge: Intel Corporation 5000 Series Chipset FBD Registers (rev b1) 00:1c.0 PCI bridge: Intel Corporation 631xESB/632xESB/3100 Chipset PCI Express Root Port 1 (rev 09) 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d9) 00:1f.0 ISA bridge: Intel Corporation 631xESB/632xESB/3100 Chipset LPC Interface Controller (rev 09) 00:1f.1 IDE interface: Intel Corporation 631xESB/632xESB IDE Controller (rev 09) 00:1f.3 SMBus: Intel Corporation 631xESB/632xESB/3100 Chipset SMBus Controller (rev 09) 01:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Upstream Port (rev 01) 01:00.3 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express to PCI-X Bridge (rev 01) 02:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E1 (rev 01) 02:02.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E3 (rev 01) 04:00.0 Ethernet controller: Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper) (rev 01) 04:00.1 Ethernet controller: Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper) (rev 01) 08:00.0 PCI bridge: Intel Corporation 6702PXH PCI Express-to-PCI Bridge A (rev 09) 09:02.0 RAID bus controller: Adaptec AIC-9410W SAS (Razor ASIC RAID) (rev 09) 0a:01.0 VGA compatible controller: ATI Technologies Inc ES1000 (rev 02)

>>>

eightn
()

CUPS: принтер сам остонавливается

Стоит cups-1.2.10 под Gentoo. К нему подключены два принтера HP P2015 (драйвер HP LaserJet Series PCL 6 CUPS из комплекта cups-а).

Эти принтеры через samba сервер расшарены для виндовс-пользователей.

Иногда по пока непонятной мне причине, первый принтер останавливается (сам). В интерфейсе cups-а об этом пишут следующее:

netprinter-hp1 (Default Printer) "/usr/libexec/cups/backend/lpd failed"
Description: HP LaserJet P2015

Make and Model: HP LaserJet Series PCL 6 CUPS

Printer State: stopped, accepting jobs, published. 

Соответственно, никто печатать на этот принтер больше не может. Помогает только заход в интерфейс cups-а под принт-администратором и 
нажимание кнопки "start printer". 
Принтер успешно стартует и начинает печатать все, что накопилось у
него в очереди и все новые задания.... до очередной остановки. Такие 
остановки могут случаться несколько раз в час, а могут - пару раз на 
дню всего лишь.

Понятно, что можно написать простой скрипт, который будет ходить в 
веб-интерфейс cups-а, проверять, остановлен ли принтер. И, если 
принтер опять остановился, стартовать его.

Но хотелось бы узнать причину остановки. Куда вообще рыть? В логах cups-а
тишина, никакой информации похожей на "принтер остановился потому-то потому-то" 
я там не нашел :(

Может у cups-а есть какая то скрытая опция типа "автостартовать принтер
если он остановился"?
eightn
()

не yдаляются файлы с windows-share с символом номеpа

Столкнyлся с пpоблемой:
монтиpyю шаpинг с windows-машины
mount.smbfs //1.2.3.4/windows_sharing /mnt/dir -o 
codepage=cp866,iocharset=koi8-r

Все монтиpyются, pyсские имена видны.
Hо пpи попытке yдалить файл с символом номеpа в названии ( № ) 
- система выдает, что файл невозможно yдалить, так как "No such file or directory"

из под самой windows (win xp pro sp2), эти файлы замечательно yдаляются :(


Моя локаль koi8-r
$ locale
LANG=ru_RU.KOI8-R
LC_CTYPE="ru_RU.KOI8-R"
LC_NUMERIC="ru_RU.KOI8-R"
LC_TIME="ru_RU.KOI8-R"
LC_COLLATE="ru_RU.KOI8-R"
LC_MONETARY="ru_RU.KOI8-R"
LC_MESSAGES="ru_RU.KOI8-R"
LC_PAPER="ru_RU.KOI8-R"
LC_NAME="ru_RU.KOI8-R"
LC_ADDRESS="ru_RU.KOI8-R"
LC_TELEPHONE="ru_RU.KOI8-R"
LC_MEASUREMENT="ru_RU.KOI8-R"
LC_IDENTIFICATION="ru_RU.KOI8-R"
LC_ALL=

samba-3.0.20b


Как yдалять подобные файлы, монтиpyя их самбой к linux-машине?
В какyю стоpонy вообще pыть?

eightn
()

cups, x64 postscript driver for windows

А где можно достать x64 Postscript-овский драйвер под windows?

Есть samba, работающая в качестве PDC, в связке с ней и CUPS-ом 
получается еще и принтсервер. При попытке подключения принтеров 
(расшареных на самбе) с рабочих станций WindowsXP x64, возникла 
проблема - windows не находит драйвера для принтера.

Для 32битных машин все нормально - postscript-овские дрова находятся и
 пользователи печатают.
Для 64битных я взял 32bit-ные postscrtipt-файлы и посредтством команд

cd X64; put /usr/share/cups/model/$$PPD_FILENAME$$ $$PPD_FILENAME$$; 
put /usr/share/cups/drivers/PSCRIPT5.DLL pscript5.dll; 
put /usr/share/cups/drivers/PS5UI.DLL ps5ui.dll; 
put /usr/share/cups/drivers/PSCRIPT.NTF pscript.ntf; 
put /usr/share/cups/drivers/PSCRIPT.HLP pscript.hlp

adddriver "Windows NT x64" 
"$$PRINTER_NAME$$:pscript5.dll:$$PPD_FILENAME$$:ps5ui.dll:pscript.hlp:NULL:
RAW:pscript.ntf"

добавил драйвер для 64-битных систем
samba его видит:

rpcclient -U printadmin -c 'enumdrivers 3' localhost

------------------
[Windows x64]
Printer Driver Info 3:
        Version: [3]
        Driver Name: [pr_first]
        Architecture: [Windows x64]
        Driver Path: [\\\\LOCALHOST\print$\x64\3\pscript5.dll]
        Datafile: [\\\\LOCALHOST\print$\x64\3\hp_LaserJet_3020_3030.ppd]
        Configfile: [\\\\LOCALHOST\print$\x64\3\ps5ui.dll]
        Helpfile: [\\\\LOCALHOST\print$\x64\3\pscript.hlp]

        Dependentfiles: [\\\\LOCALHOST\print$\x64\3\pscript.ntf]

        Monitorname: []
        Defaultdatatype: [RAW]
------------------


Т.е. предполагаю, что windows-у нужен 64битный драйвер postscript.

Подскажите, плз, где его взять или как бороться с данной проблемой?
eightn
()

Intel SR1500ALSAS - не перегружается по shutdown -r

Появилась платформа Intel SR1500ALSAS 
http://support.intel.com/support/motherboards/server/chassis/sr1500/

Поставили Linux (Gentoo 2006.1), ядро 2.6.17

Все бы замечательно, но машины при shutdown -r now не уходит в 
перезагрузку - повисает на самом последнем моменте, после 
перемонтирования / в r/o система пишет "rebooting system..." и все - 
ждем нажатия кнопки reset :(

В какую сторону вообще рыть? Поддержка ACPI и APM в ядре включена.
eightn
()

mysql: howto latin1.table.host1 move to utf8.table.host2

Каким образом можно перенести базу данный mysql, хранящуюся в кодировка latin1 на другой хост, попутно сконвертив базу в utf8?

На первом хосте (freebsd):
mysql> show variables like "char%";
+--------------------------+----------------------------------+
| Variable_name            | Value                            |
+--------------------------+----------------------------------+
| character_set_client     | latin1                           |
| character_set_connection | latin1                           |
| character_set_database   | latin1                           |
| character_set_results    | latin1                           |
| character_set_server     | latin1                           |
| character_set_system     | utf8                             |
| character_sets_dir       | /usr/local/share/mysql/charsets/ |
+--------------------------+----------------------------------+
7 rows in set (0.01 sec)


на втором хосте (linux):

mysql> show variables like "char%";
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
7 rows in set (0.00 sec)


mysqldump на host1 и потом mysql <dump.sql не приводит ни к чему хорошему - русский текст в таблице корежится до неузнаваемости.

Пробовал предварительно сделать
alter table $table CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin
для всех таблиц базы на первом хосте

потом dump и restore на втором - все тоже самое, русские имена корежатся до крякозябр :(

Поиск в гугле внятностей не принес, в доке на mysql ничего подобного не разбирается (в рамках переноса на другой хост).

Кто нибудь занимался? Как решить проблему?


Опытным путем выяснилось, что, если в первом или втором описываемых вариантах, перед select() на новом хосте дать команду 
 set  character_set_results="latin1";
то русский язык появляется...

А как бы сделать, чтобы latin1 вообще не упоминался? 

eightn
()

проверка подписи файлов перед запуском

Есть ли возможность в системе (linux/freebsd) организовать проверку цифровых подписей запускаемых файлов? Т.е. ядро перед запуском бинарника должно проверять, имеет ли бинарник цифровую подпись, если имеет - разрешать запуск, если нет - отказывать в доступе?

Или не имеет смысла искать геморрой на голову, а просто монтировать партишены с запускаемыми файлами в r/o, а остальные - с noexec флагом? И, естественно, периодически проверять контрольные суммы файлов системамами наподобие AIDE ?

eightn
()

Cyrus Imap - single domain --> virtual domains /openldap, sasl/

Столкнулся c непонятками - как перевести настроенную систему
из single domain в multidomains (virtual domains).

Вкратце. Был один домен "dc=company,dc=ru.", емейлы хранились в 
attr=email, ou=users,dc=company,dc=ru.
Добавили второй домен "dc=abdc,dc=ru.", с такой же схемой хранения емейл-ов.
Как теперь удружить со всем этим делом sasl и cyrus-imap?



Подробнее:

Есть почтовая система на openldap, postfix, cyrus-imap(2.2.12), cyrus-sasl(2.1.21).
Пользователи и их емейлы храняться в базе ldap в ветке ou=users,dc=company,dc=ru.
Аттрибут Mail. 
К примеру:

dn: uid=ivanov,ou=users,dc=company,dc=ru
uid: ivanov
mail: ivanov@company.ru
objectClass: gosaMailAccount
userPassword:: <........>=

Для приема почты в Postfix-е настроен поиск нужных uid-ов/email-ов пользователей
непосредственно в openldap базе, с этим проблем нет.

Прием почты пользователями (через imap) и отправка ее пользователями через smpt postfix.
Пользователи аутентифицируются при приеме/отправке указывая свой login(совпадающий с uid) и пароль.
Сервера, в свою очередь, проверяют пользователей через cyrus-sasl.

Sasl ,sk настроен следующим образом:

ldap_servers: ldap://localhost/
ldap_bind_dn: cn=sasl,ou=DSA,dc=company,dc=ru
ldap_bind_pw: <.............>
ldap_version: 3
ldap_search_base: dc=company,dc=ru
ldap_filter: (|(uid=%u)(cn=%u))

Параметры saslauthd: /usr/sbin/saslauthd -a ldap

Настройки Cyrus-imap, imapd.conf
sasl_mech_list: plain
sasl_pwcheck_method: saslauthd
username_tolower: 1
virtdomains: off


Все хорошо до тех пор, пока не пришлось добавить еще одну компанию в базу ldap.
Появилась ветка ou=users,dc=abcd,dc=ru. Соответственно, внутри емейлы выглядят так:

dn: uid=petrov,ou=users,dc=abcd,dc=ru
uid: petrov
mail: petrov@abdc.ru
objectClass: gosaMailAccount
userPassword:: <........>=

Возникает вопрос - как теперь интегрировать все это дело с sasl-ом и cyrus-imap.

Как было сделано. 
Так как sasl-у нельзя указать несколько "ldap_search_base", приходится менять в saslauthd.conf
следующее:
ldap_search_base: dc=%2,dc=ru
ldap_filter: (mail=%u)
а запускать saslauthd с параметрами "-a ldap -r".

В качестве логина пользователя теперь придется использовать не uid, а полный емейл, т.е. 
было "petrov", стало "petrov@abcd.ru". В результате "abcd.ru" распознается, как realm
(согласно ключу "-r") и вторая его часть ("abdc") будет подставлена вместо "%2". 
Тем самым поиск по ldap-базе будет произвен, а нужный параметр (емейл адрес) найден.
Sasl вернет "OK", если пароль пользователя совпадет.

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

Большая сложность возникает с cyrus-imap-ом.
Сервер получает необходимые для аутентификации login@realm/password, sasl возвращает ему "OK",
но вот перейти к нужному почтовому ящику Cyrus-imap не может.
Ведь он ищет почтовый ящик вида
user@realm (в нашем случае ivanov@company.ru), а у него есть лишь ящики вида
user.ivanov
user.sidorov
user.hrenov
и так далее

Возникает вопрос - как можно, сохранив неизменными уже созданные ящики, переключится на новую 
схему с несколькими доменами?

Для вновь созданных пользователей по вышеописанной схеме, проблем быть не должно, ведь 
ящики вновь созданных пользователей примут вид
user.ivanov@company.ru
user.sidorov@company.ru
user.hrenov@abcd.ru
user.petrov@abcd.ru

Но как быть с уже существующими ящиками? Cyrus-imap не поддерживает переименование корневых ящикив :(

Возможно, надо копать в сторону поддержки виртуальных доменов
virtdomains: on
но я не понял, как это будет работать.

У меня возникла идея найти параметр, который будет отрезать realm (все, что идет после символа '@'
 вместе с ним самим). Правда в этом случае придется заботится о поддержке уникальности uid-ов
в различных доменов, но в моем случае uid-ы (логины пользователей без realm-ов) будут уникальными.
К сожалению, я не нашел ни одного параметра, который бы позволял сделать это
Вот эти два параметра что-то явно делают, но явно не то, что надо
loginrealms: company.u abcd.ru
afspts_localrealms: company.u abcd.ru
так как при их активации (по одному или вместе), либо вообще нельзя было аутентифицироваться на
imap-сервере, либо аутентификация проходила, но cyrus-imap не мог найти ящик пользователя 
(т.е., вероятно, искался ящик пользователя, явно не соответствующий его uid-у).

Можно ли добиться решения моей задачи? В идеале, достаточно заставить cyrus отрезать realm лишь
от первого домена (@company.ru), а все остальные - оставлять как есть.
Ну или отрезать все realm-ы совсем, но предварительно передавать в sasl полный логин пользователя,
вместе с realm-ом.
Т.е. сначала в sasl передаем "ivanov@company.ru", а потом ищем почтовый ящик пользователя
вида 
user.ivanov (т.е. используем в качестве имени ящика лишь "ivanov")


eightn
()

автоочистка открытой файлопомойки

Есть обычная файлопомойка, организованная на шаре на samba 3.x Любой пользователь сети может закачивать и скачивать оттуда файлы.

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

Каким образом можно организовать автоочистку этой директории?

Конструкция вида

find /tmp/samba_share/ -type f -mtime +100 -exec rm -f {} \;

работает не так, как хотелось (автоудаление всех файлов, появившихся на шаре более 100 дней назад). Ведь mtime файла, копируемого на шару, не меняется на текущее время, а остается старым временем файла. Тем самым, если мы копируем на шару файлы с датой создания "прошлый год", то они сразу же и удаляться :(

eightn
()

samba member of ADS & user mapping

 Есть samba 3.0.14 (и 3.0.20), включенная мембером в ADS Windows домен DOMAIN.

На ней расшарена одна директория \\tmp. Пользователи домена, при попытке создать файлы внутри этой папки их успешно создают, но права на файлы выставляются как nobody:nobody

ls -l /tmp/samba/
total 32
drwxr-xr-x  2 nobody nobody 4096 Oct  6 10:53 test2
drwxr-xr-x  2 nobody nobody 4096 Oct  6 16:31 test3
drwxr-xr-x  2 nobody nobody 4096 Oct  6 10:50 test_new

Соответственно, не пользователи не могут получить доступ к директориям (с самбовской шары), на которые средстваими ос установлены права доступа для определенных групп:

ls -l
dr-xr-x---  2 10092       4096 Oct  4 18:57 business

Самба собрана с поддержкой керберос и winbind, net ads join в домен прошел успешно. ОС видит пользователей из вин домена:

wbinfo -u и wbinfo -g выдает пользователей и группы из вин-домена (ну и локальные)
getent passwd выдает passwd файл локальных пользователей и доменных.
id "domain\\user" выдает информацию о пользователе домена

Но тем не менее, все попытки залогинится доменным пользователем в самба-шару, оканчивается тем, что пользователю выдается гостевые права:

auth/auth_util.c:make_user_info_map(224) make_user_info_map: Mapping user [VEGA]\[user1] from workstation [CREATIVE]
<...>
check_ntlm_password:  Checking password for unmapped user [VEGA]\[user1]@[CREATIVE] with the new password interface
libsmb/trustdom_cache.c:trustdom_cache_fetch(184) no entry for trusted domain VEGA found.

auth/auth_util.c:make_user_info(132) attempting to make a user_info for user1 (user1)
auth/auth_util.c:make_user_info(142) making strings for user1's user_info struct
auth/auth_util.c:make_user_info(184) making blobs for user1's user_info struct
auth/auth.c:check_ntlm_password(219) check_ntlm_password:  Checking password for unmapped user [VEGA]\[user1]@[CREATIVE] with the new password interface
auth/auth.c:check_ntlm_password(222) check_ntlm_password:  mapped user is: [DOMAIN]\[user1]@[CREATIVE]
lib/util.c:dump_data(1995)  [000] 9C 7A 63 2B CD 42 0F 09                           .zc+.B..
auth/auth_winbind.c:check_winbind_security(80)
  check_winbind_security: Not using winbind, requested domain [DOMAIN] was for this SAM.
auth/auth.c:check_ntlm_password(312)
  check_ntlm_password:  Authentication for user [user1] -> [user1] FAILED with error NT_STATUS_NO_SUCH_USER

Т.е. такое впечатление, что самба не использует winbind для проверки существования и аутентификации пользователя :(

Конфиг самбы
===================================================================
[global]
  workgroup = DOMAIN
  realm = DOMAIN.COMPANY.RU

  auth methods = winbind
  winbind use default domain = yes

  netbios name = VEGA

  log file = /var/log/samba/log.%m
  max log size = 5000
  log level = 10

  map to guest = bad user

  security = ADS
  password server = *
  encrypt passwords = yes

  socket options = TCP_NODELAY SO_RCVBUF=16384 SO_SNDBUF=16384

  local master = no
  os level = 20
  domain master = no
  preferred master = no

  idmap uid = 20000-30000
  idmap gid = 20000-30000
  winbind enum users = yes
  winbind enum groups = yes

  dns proxy = no

[tmp]
    comment = tmp resource
    path = /tmp/samba
    writable = yes
    browseable = yes
    public = yes
===================================================================


Конфиг mit-krb5-1.4.1
===================================================================
[libdefaults]
        ticket_lifetime = 600
        default_realm = DOMAIN.COMPANY.RU
        default_tkt_enctypes = des3-hmac-sha1 des-cbc-crc
        default_tgs_enctypes = des3-hmac-sha1 des-cbc-crc

[realms]
        DOMAIN.COMPANY.RU = {
        kdc = dc1.domain.company.ru
        admin_server = dc1.domain.company.ru
        }

[domain_realm]
        .domain.company.ru = DOMAIN.COMPANY.RU
        domain.company.ru = DOMAIN.COMPANY.RU

[kdc]
        profile = /etc/krb5kdc/kdc.conf

[logging]
        kdc = FILE:/var/log/krb/krb5kdc.log
        admin_server = FILE:/var/log/krb/kadmin.log
        default = FILE:/var/log/krb/krb5lib.log

===================================================================


Пробовал убирать строки
  auth methods = winbind
  winbind use default domain = yes
но изменений не заметно. 
eightn
()

создание цепочки сертификатов

А как создавать цепочки подписанных сертификатов в openssl?

Создал собственный корневой CA (company.ru) Выдал и подписал им сертификаты для почтового сервера (mail.company.ru) и radius сервера (radius.company.ru).

Создал клиентские сертификаты client1,2,3 для клиентов, для работы с почтовым сервером, подписал их тоже корневым сертификатом CA (company.ru).

Все замечательно работает.

Но возник вопрос. В песпроводной сети используется WPA шифрование через EAP/TLS с использованием radius сервера. Аутентификация клиента - по сертификату.

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

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

Пришло в голову, что нужно подписывать клиентские сертификаты не корневым (CA, company.ru), а соответствующими сертификатами серверов - mail.company.ru, radius.company.ru (а они, в свою очередь, уже были подписаны корневым центром CA). Теоретически, если я правильно понимаю идеологию сертификатов, в этом случае сертификат, выданный для работы с почтой, не подойдет для аутентификации на радиус-сервере.

К сожалению, попытка подписать клиенсткий сертификат серверными не удалась.

Точнее, подпись, как таковая, успешно проходит, я получаю файл сертификата: ------ Certificate: Data: Version: 3 (0x2) Serial Number: 6 (0x6) Signature Algorithm: md5WithRSAEncryption Issuer: C=RU, ST=Euro, L=Moscow, O=company.ru, OU=testlab, CN=radius.company.ru/emailAddress=eightn@company.ru Validity Not Before: Jun 6 12:22:02 2005 GMT Not After : Jun 6 12:22:02 2007 GMT Subject: C=RU, ST=Euro, L=Moscow, O=company.ru, OU=testlab, CN=client3/emailAddress=eightn@company.ru Subject Public Key Info: Public Key Algorithm: rsaEncryption ------

но вот при попытке проверки такого сертификата

openssl verify -CAfile company.ru-ca.crt client3.crt выдается примерно следующее: client3.crt: /C=RU/ST=Euro/L=Moscow/O=company.ru/OU=testlab/CN=client3/emailAddress=eightn@co mpany.ru error 20 at 0 depth lookup:unable to get local issuer certificate (вне зависимости от того, что ставить в CAfile - корневой сертификат (company.ru-ca.crt) или сертификат radius-сервера (radius.company.ru.crt), который в свою очередь, подписан корневым.

Указание пути -CApath к сертификатам тоже не помогает (выдается та же ошибка). Та же ошибка выдается и при перечислении сертификатов цепочки: openssl verify -CAfile company.ru-ca.crt radius.company.ru.crt client3.crt

radius.company.ru.crt: OK client3.crt: /C=RU/ST=Euro/L=Moscow/O=company.ru/OU=testlab/CN=client3/emailAddress=eightn@co mpany.ru error 20 at 0 depth lookup:unable to get local issuer certificate

eightn
()

миграция /etc/passwd -> postfix virtual mailbox/ sql

Есть почтовая система на базе sendmail, пароли пользователей хранятся в /etc/passwd (все это крутится под redhat linux 7.3)

Задача - мигрировать все это под postfix, подключение виртуальных доменов и хранение пользователей в mysql базе. В качестве pop3/imap сервера - courier-imap или cirus-imap. При отправке сообщений через smtp - так же авторизация пользователей.

Все, что написано во втором обзаце - реализовать не проблема. У меня лишь возикает вопрос, как мигрировать базу существующих пользователей в mysql? Ни postfix (auth via cirus-sasl), ни courier-imap не смогут же работать с криптованными в /etc/passwd паролями... Или я что-то недопонял?

eightn
()

синхронизация директорий в обе стороны (двусторонняя)

Есть две директории с файлами на разных samba-серверах, с которыми работают виндовс-пользователи. Задача - каким то образом добиться синхронизации этих директорий с файлами в обе стороны. Т.е. файлы могут меняться как на samba1, там и на samba2.

Типы файлов - документы (.doc, xls) и немного бинарных файлов (.psd, jpg). Оба samba-сервера берут базу пользователей из одного хранилища (ldap), так что проблем с правами быть не должно. Но как организовать двухстороннюю синхронизацию? И как можно защитится от конфликта, когда один и тот же файл будет одновременно изменен (записан) на samba1 и samba2 машинах?

Монтировать на samba2 директорию (которую нужно синхронизирвать) с samba1 (или наоборот) не вариант - объемы файлов довольно большие (но изменяются файлы относительно редко), а канал между машинами узкий.

Пока нашел Unison File Syncronizer http://www.cis.upenn.edu/~bcpierce/unison/index.html но еще не ставил. Кто какой софт для этого дела применяет?

eightn
()

cyrus-imad: автоудаление «помеченных к удалению» писем

Можно ли организовать автоудаление писем (на стороне сервере) в ящиках пользователей по критерию "письмо помечено к удалению" (а в идеале - письмо старше N дней и оно помечено к удалению)?

Сейчас работает связка cyrus-imad (в режиме imap) со стороны сервера и много клиентов с ms outlook-ами - на стороне клиента. Этот дурной outlook не умеет сам удалять письма из imap (т.е. для этого приходится выбирать в его меню пункт "очистить помеченные к удалению письма", что сильно не удобно для пользователей. Особенно в той связи, что, так как помеченные на удаление письма в отдельную директорию не переносятся (outlook это тоже не умеет), то приходится включать режим "скрывать помеченные к удалению письма", а то incoming постоянно замусоривается вот такими зачеркнутыми (помеченными к удалению) письмами.

В идеале хотелось бы удалять такие письма на сервере, что бы не тревожить пользователей :) Такое возможно?

eightn
()

openldap + outlook2003 + sambaPDC + групповые политики

Поднял openldap 2.2 + samba 3.13 в качестве PDC.
(руководствовался, в основном, этой докой http://samba.idealx.org/smbldap-howto.en.html)

Все бы замечательно, но захотелось емейлы пользователей так же хранить в ldap-базе.
Пользователи - на outlook 2003 сидят.
Нашел вот этот документ http://www.yo-linux.com/TUTORIALS/LinuxTutorialLDAP-GILSchemaExtension.html
Там рассказывается, что нужно добавить в схемы ldap, что бы outlook видел емейлы.

Да, он их конечно видит (после подключения адресной книги в LDAP-хранилище), 
но не сразу, а только если в адресной книге нажать поиск, после чего ввести
пробел и ентер (звездочка в русском Outlook-е не срабатывает).
Да, еще в slapd.conf надо было прописать
access to dn.exact="" filter="(supportedControl=1.2.840.113556.1.4.319)"
(согласно http://www.openldap.org/lists/openldap-software/200408/msg00321.html)
Ибо в противном случае outlook ругается на "unavailable critical extension" и ничего не ищет.
Правда у меня openldap-2.2.24 при такой строке (первой в конфиге access-ов) вываливается 
с "segmentation fault".
Но вот такая строка
access to dn.exact="" attrs=supportedControl
ему нравится гораздо больше (надеюсь, она нигде больше не помешает).


Вопрос - можно ли как то заставить Outlook сразу при нажатии на значек адресной книги видеть всех
пользователей с емейлами в ldap-базе?


Идем дальше.
Я нашел две возможности администрировать PDC домен на самбе
1. С помощью ms-овской утилиты usrmgr.exe (от winnt)
2. С помощью IMC вебинтерфейса от idealx. http://www.idealx.org/prj/imc/about.html

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

Да, при добавлении через .ldif файлы можно указать что угодно, но существуют ли какие либо веб-интерфейсы
с подобной функциональностью? Или может в IMC как то можно добавить такую возможность?
Я не нашел, как.


И последний вопрос. Не подскажите ли хорошую доку, как можно под samba PDC доменом организовать аналог
групповых политик (как в домене под windows2000). Понятно, что полного аналога не получится, 
но хотя бы нечто близкое :)


p.s. вопрос по одновременному заданию емейлов пользователям (вместе с созданием новых аккаунтов) для
меня наиболее важен.
eightn
()

заблокировать для данного MAC-адреса выдачу IP-адреса средствами iptables неполучается

Требуется запретить выдачу динамического адреса для заданного MAC адреса (точнее некого списка mac-адресов) в локальной сети.

На машине, где и пытаемся настроить блокировку, стоит dhcp-сервер, который выдает всем желающим адреса из пула 10.0.0.0/24.

Предположительно, правило вида 
iptables -I INPUT -i eth0 -p udp --sport 68 --dport 67 -m mac --mac-source 11:22:33:44:55:66 -j DROP 
в iptables должно бы заблокировать для MAC адреса 112233445566 выдачу ему динамического адреса от dhcpd, 
стоящего на той же машине. Ан нет, адреса продолжают выдаваться, 
хотя счетчик в iptables, говорящий о том, что правило сработало, исправно увеличивается:

iptables -nxvL INPUT

Chain INPUT (policy DROP 13 packets, 668 bytes)
    pkts      bytes target     prot opt in     out     source               destination
       3     1728 DROP       udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           udp spt:68 dpt:6
7 MAC 11:22:33:44:55:66

Более того, прописав правило вида
iptables -I INPUT -m mac --mac-source 11:22:33:44:55:66 -j DROP 
(т.е. уничтожаем вообще все пакеты с этого MAC-адреса), тоже не приводит к блокировки выдачи
этому хосту динамического IP, в логах DHCP наблюдаем:

dhcpd: DHCPDISCOVER from 11:22:33:44:55:66 via eth0
dhcpd: DHCPOFFER on 10.0.0.63 to 11:22:33:44:55:66 via eth0
dhcpd: DHCPREQUEST for 10.0.0.63 (10.0.0.1) from 11:22:33:44:55:66 via eth0
dhcpd: DHCPACK on 10.0.0.63 to 11:22:33:44:55:66 via eth0

хотя по iptables -nxvL видно, что счетчик пакетов/байтов для этого правила после каждого
запроса увеличивается, т.е. правило (теоретически?) работает.
Да и практически оно тоже работает, так как после ввода второго правила с того хоста с MAC-ом 11:22:33:44:55:66
мы таже пинговать машину, где стоит dhcp-сервер не можем.
Тем не менее, можем исправно получать от нее адрес по dhcp :(

Получается, что dhcp сервер получает пакеты раньше, чем срабатывает iptables?

К сожалению, я не нашел в iptables возможности создать правила, 
где можно было бы анализировать исходящий MAC адрес, например
iptables -I OUTPUT -o eth0 -p udp --sport 67 --dport 68 -m mac --mac-destination 11:22:33:44:55:66 -j DROP 

Эта ситуация проверялась на трех машинах
dhcp-3.0_p2-r6 и  dhcpcd-1.3.22_p4-r5 (Gentoo Linux)
Linux kernel 2.6.9
iptables v1.2.11
eightn
()

sshd авторизация по ключам для пользователя не работает

openssh 3.9

настраиваю авторизацию по ключам. Генерю ключ, публичную его часть
кладу на машину, к которой хочу подключится по ssh (в файл 
~/.ssh/authorized_keys).

Пытаюсь подключится пользователем user (через shellguard). В ответ получаю 
Exception.
access denied: 51

Этот же ключ кладу в домашний каталог рута
/root/.ssh/authorized_keys

пытаюсь подключится, используя имя пользователя "root" 
(в конфиге sshd_config включена возможность логина рутом) 
система отлично пускает:
sshd[17228]: Accepted publickey for root from 1.2.3.4 port 3674 ssh2

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

Никак не могу понять, в чем тут дело, и как включить возможность
для обычных, не рутовых, пользователей логинится с использованием
публичных ключей?

eightn
()

Bigsister и построение RRD-графиком CPU загрузки

Не могу понять, как заставить Bigsister (bigsister.sf.net) строить графики загрузки CPU?

В uxmon-net прописал
localhost(srv1) sarcommand="sar -A 1" cpuload

(дефолтовая команда sar -A %d 1) у меня работает, не знает sar, что такое "%d"
sar 5.05, gentoo linux

В вебинтерфейсе мониторинга появляется колонка "CPU", где видна текущая
загрузка процессора (или ее пороговые изменения, приводящие к смену цвета лампочки).
Но графики RRD bigsister по загрузке процессора не строит, файлов в var/graphs,
имеющих в названии "load" или "cpu", не появляется.

Графики по Service response times, Disk Usage, memory Usage и тд нормально строятся.
Т.е. данные по ним собираются.

Чего именно не хватает BigSister, что бы строить график загрузки процессора?

Bigsister v. bs-0.99b2
eightn
()

RSS подписка на новые темы