Ознакомьтесь с нашей политикой обработки персональных данных
  • ↓
  • ↑
  • ⇑
 
Записи с темой: Работа (список заголовков)
14:13 

А мужики-то не знали!

Оказывается, в SAMBA'е еще со времен 3.0.11 появилась возможность делегировать управление и root'а маппить в samba-пользователя уже не надо - достаточно сделать net rpc rights list
и раздать соответствующие права из списка
SeMachineAccountPrivilege Add machines to domain
SeTakeOwnershipPrivilege Take ownership of files or other objects
SeBackupPrivilege Back up files and directories
SeRestorePrivilege Restore files and directories
SeRemoteShutdownPrivilege Force shutdown from a remote system
SePrintOperatorPrivilege Manage printers
SeAddUsersPrivilege Add users and groups to the domain
SeDiskOperatorPrivilege Manage disk shares
при помощи net rpc rights grant пользователь|группа <права> и будет у нас свое казино с блэк-джеком и шлюхами, a.k.a. NT4 Domain, управляемый "виндовыми" пользователями ))).

@темы: FreeBSD, Работа

14:12 

Окрошка:

Во времена оны плакался я, что в 8-ке, дескать, fdisk с bsdlabel'ом как-то "не так не работают" - что могу сказать сейчас? "Зато мы делаем танки!" Зато в 8.1 хорошо работает gpart, так что поднять поверх gmirror'а (mirror'им диски целиком) gjournal (С отдельным разделом под журнал) удалось без всяких танцев-с-бубнами и костылей, с первого захода, аминь, аминь, аминь.
С Б-жьей и Старших Товарищей помощью разрешился вопрос с триждыдолбанным KMS - данные его внутреннего LDAP'а вполне себе edit'ятся, но... ЧЕРЕЗ WEB-INTERFACE only ну или там через MS Аутглюк из-под админ-юзера (Кто, ну скажите мне, кто настраивает почту для admin-user'а?) !!! Повбывал бы, ей-ктулху.
Отдельные лучи поноса Intel'у - три пересборки ядра FreeBSD + полдня танцев-с-бубном прежде, чем выяснилось, что DG41CN AHCI НЕ поддерживает. Абыдна, да - 'device ahci' + 'opions ATA_CAM' мне, в общем-то, понравились...
Ах, да - еще себе в копилочку - практически случайно нашелся отличный (На первый взгляд!) эмулятор терминала - termit. Умеет работать с tab'ами, менять кодировку и... и больше ничего ). Из всех зависимостей - только что-то GTK'шное (Виджеты для терминала, вроде бы) - на вид именно то, что надо...

@темы: FreeBSD, Работа

16:29 

Я это самое...

... "десятиногое ракообразное". Криведко, в смысле. Решил поднять "собственное казино с блэк-джеком и шлюхами" собственный W2003SR2 для разбирательств с RADIUS'ом в тихих домашних условиях. Создаю VM'ку на virtualbox'е через консоль:
VboxManage createvm WSERVER --ostype Windows2003 --remember
VBoxManage modifyvm WSERVER --memory 2048 --acpi on --ioapic on --cpus 1 --hwvirtex on --hwvirtexecl on --boot1 dvd --boot2 disk --boot3 none --boot4 none --nic1 hostonly --hostonlyadapter1 vboxnet0
VBoxManage createhd --filename ./VHD/server.vhd --size 20 --remember
VBoxManage storagectl WSERVER --name hdd0 --add sata
VBoxManage storageattach WSERVER --storagectl hdd0 --port 0 --device 0 --type disk --medium ./VHD/server.vhd
VBoxManage storageattach WSERVER --storagectl hdd0 --port 1 --device 1 --type dvd --medium host:cd0
Буй! Не могу, говорит, приаттачить к данному контроллеру. К НЕданному scsi, например - тоже не смог. А вот к ide - самое оно.
VBoxManage storagectl WSERVER --name hdd1 --add ide
VBoxManage storageattach WSERVER --storagectl hdd1 --port 0 --device 0 --type dvd --medium host:cd0
Да, кстати, если кому интересно, чтобы подключить host drive во FreeBSD (И, наверное, не только ;)) нужно воткнуть atapicam, и раздать права на файлы устройств - закинуть юзера в группу operators и отредактировать devfs.conf, чтобы права раздавались при создании файлов
VBoxHeadless -s WSERVER -n -o - Запускаем!
Все хорошо, только демонстрационный диск с 2003 сервером не видится. Хм. Ставлю диск с Frenzy (LiveCD на базе Freebsd. заточенный под системное администрированике) - грузится. ЗАГОВОР! Ок, вынимаю диск - No bootable medium found
Дропаю VBoxHeadless, ставлю другой диск - то же самое. Монтирую образ - никак. Редактирую машинку, меняю контроллеры, танцую с бубном... ну НИКАК и все. Уже и DELAY на биосе в VB поменял, и тип меню сменил, и все что можно поотключал... полдня убил.
Потом цепляю в очередной раз VBoxHeadless с паролем "1" (Задолбало сто раз нормальное нечто вводить!)... а он меня с ним не пускает! Со старым... есть. Это жжж! не спроста! Смотрю в процессах... с-зззараза! VBoxHeadless, оказывается, только от консоли отвалился, а не дропнулся к чертям собачьим, как ему требовалось - в результате я полсуток коннектился к одной и той же машине!!! ЛЕЖАЩЕЙ машине, заметим.
Дропнул в процессах VBoxHeadless, запустил по новой - работает! Океюшки, живем!

@темы: FreeBSD, Работа

16:15 

Продолжение RADIUS'ной...

... истории. В логах периодически всплывает rad_init_send_request Failed: sendto -1: Permission denied. Такое ощущение, что он тупо не может создать сокет по одной из двух причин - либо IPADDR_ANY конфликтует с имеющимся в системе Jail'ом (Ну-ууу... вряд ли. Я бы понял, если бы jail не поднимался, или если бы все происходило изнутри jail'a - но в host-системе?), либо сокет пытается прибиндиться к одному из protected-портов sin_port=htons(0) - что тоже вряд ли, ибо mpd5 стартует все-таки от root'а...
Надо навтыкать всякого-разного debug'а в radlib.c и пересобрать mpd - но делать это на рабочей машине в рабочее же время как-то... не хочется. Впрочем, можно попробовать сменить destdir у порта и поставить еще одну версию... буду думать дальше.

@темы: FreeBSD, Работа

16:11 

Очередные грабли

FreeBSD 8.1. mpd 5.5. l2tp. Настроено. Работает. Вести mpd.secret достаточно быстро достает ;) решаю настроить аутентификацию через RADIUS.
На Windows 2003R2 с DC (Дети, НЕ ДЕЛАЙТЕ так! DC и RADIUS на одном компе - решение для нищебродов ;)) поднимаю IAS. Создаю клиента RADIUS, задаю shared secret, включаю подпись запросов, создаю политику доступа, применяю по nas_ip_address и nas_id, разрешаю доступ. В аттрибутах пользователя включаю все, что нужно ;).
Перехожу к mpd:
set radius config /usr/local/etc/radius.conf (Ибо нефиг палить пароли в конфигах ))
set auth enable radius-auth
set radius me
set radius identifier
set radius enable message-authentic
Перезапускаю, ломлюсь - фигу. В логах виндей - "неправильная подпись". ОК, снимаю галку с требованием подписи и выпиливаю message-authentic, а вот дальше начинается СТРАННОЕ.
В виндах - все ОК, юзверю разрешен доступ. tcpdump показывает, что ответ от IAS'a вполне себе прилетает, а в логах mpd - "No valid RADIUS response". Ага, думаю. Дело в радиус-атрибутах! Смотрю в доки по mpd - и впрямь, Framed-Protocol в respons'e нифига не поддерживается, а MS гордо шлет 'PPP'. ОК, выпиливаю нафиг все доп. атрибуты RADIUS'а в политике IAS'а. По tcpdump'у и впрямь видно, что ничего лишнего не шлется... вроде как. Результат тот же самый.
Многа думаю.

@темы: Работа, FreeBSD

16:50 

"Сколько не писали ИИ для БПЛА...

... , по странности налоговый отчет для 1С выходит."(С) Хрен знает, что там с ИИ и БПЛА твориться, но отечественный типа-бухгалтерский софт уныл настолько БЫЛИННО, что это уже не бага, а ФИЧА. Ей-ктулху, случайной такая рукожопость быть не может!
Писать софт под _конкретную версию_ _интернет-эксплохера_ или там _мысы ворда_, ставить отдельный редактор скриптов, печатать полученный результат при помощи проприетарной же компоненты левого производителя, умудряться лажать с _официальным дистрибутивом_ (Попадался диск с "Контуром" который отказывался генерить сертфикаты, например), на пустом месте рожать глюки (Две проги "одного КБ" не могут ужиться в одной винде - нивапрос!) и так далее и тому подобное. Контур-экстерн во всех ипостасях (Шоб им всем до конца жизни под ИЕ60 сидеть!) он же в "лайт" версии, "Отчет 200Хрень" (Та самая вордянка-с-макросами) "Налог-чего-то-там" (Фокспрошная муйня в девичестве), разновсяческие 1Сучьи бланкоформочки (Тысячи их!) и еще стопицот всяких приблуд от родного гос-ва родному бизнесу при поддержке родного же софтопрома - все, все, все унылое, шотрындец, мертворожденное еще на стадии зачатия, кривое, как жизнь гетмана Мазепы - и все никак не умирающее. Такое ощущение, что рождается половина этого трындеца даже не "студентом за червонец" а бомжом за бутылку, и чем оно уродливей - тем больше у него шансов "пойти в массы".
Вот ей-ктулху, за все время своей работы видел 1 (Прописью - ОДНО) кроссплатформенное "бизнесбухгалтерское-приложение" - банк-клиент чего-то там банка, написанное на java'е (Насчет остальных характеристик типа той же usability не уверен, ибо не работал) - остальное - какой-то невдолбический трындец. "Дайте-мне-доступ-ко-всей-системе-откройте-все-интернеты-поставьте-софта-тыщ-на-писят-пошаманьте-с-бубном-и-может-я-заработаю". Может, правда и нет.
И добро бы вся эта "франкенштейновость" была чем-то вроде *nix'вого скрипта - "куча мелких компонент, каждая из которых решает одну задачу, взаимодействующих стандартным образом при помощи стандартных интерфейсов" - нихуа. "Тут пишем, тут не пишем, тут софт проприетарный, сюда файлик выгружается, с этим при помощи win API работаем, там селедку завернули, причем не мы..." - в случае проблем все это не дебужится принципиально, официальным суппортом в том числе - судя по их методике работы у ребят просто лежат ДЛИННЫЕ списки багов, к которым приложены воооот такенные КОСТЫЛИ: "случилось то-то - делай так-то, ставь вот эту блуду", не помогло - "переставьте полностью на другом компьютере".
В общем, "Дякую тоби, оссподи, шо я не бухадмин", а то бы вымер уже, как те мамонты.

@настроение: Повбывал бы!

@темы: Жизнь, Работа

11:03 

Все через задницу...

... кроме клизмы. Для того, чтобы переименовать контроллер домена в MS AD надо:
netdomcomputername текущее_имя_компьютера /add:новое_имя_компьютера
netdomcomputername текущее_имя_компьютера /makeprimary:новое_имя_компьютера
netdomcomputername новое_имя_компьютера /remove:старое_имя_компьютера

Но если контроллер домена у вас единственный, то... вам нужно установить второй контроллер домена "После чего задача сводится к предыдущему варианту"(Ц) анекдот после чего задача нихрена не сводится к предыдущему варианту, не-ееет. Technet предлагает передать роли FSMO новому серверу, закинуть туда GC, понизить старый DC до состояния обычного сервера, переименовать его, и проделать всю процедуру в обратном порядке.
ОК. Что при этом делать с DNS, зоны которого интегрированы в AD? Поднимать DNS на "новом DC"? Таки не вариант, ибо он просит поставить диск, а физически сервак в тех еще долбенях... ОК, выносим зоны из AD, поднимаем, передаем, реплицируем, начинаем понижать... ужас-караул! Зоны только на нашем серваке, они нифига не реплицировались, мы все умрем! Формать-вашу-С:-комплит! Реплицирую ручками через ntdsutil. Понижаю сервак до простого сервера, ребут... а он, с-сссобака серая, не "ложиться" - все службы помЭрли, nmap пишет большую дулю, а пинги идут. А сервак, повторяю, в долбенях. Перемать-мать-мать.
Утром физический ребут - все ок. Переименуем, повышаем, передаем, реплицируем - все ОК. Начинаем понижать временного бедолагу. dcpromo - фига-с-два! Опять ругаемся на зоны в AD, которые нифига не реплицированы. Replmon - все ОК. С-сссзззаррраза! dcpromo /forceremoval + dcdiag /fix + ntdsutil = день-ночь-сутки-прочь.
Вгоняем зоны по новой в AD (Безопасных обновлений для), ставим Identity Management for Unix, IAS и начинаем, наконец-то, работать...

@настроение: Повбывал бы!

@темы: Работа

12:48 

Следующий well-known...

... способ интеграции с AD состоит в расширении схемы домена при помощи SFU (Для windows 2000(3)S, для 2003R2 - SUA, в 2008 вообще ничего ставить не нужно, нужно включить роль "Identity manager for unix") - "спасибо М-цопту за стандартизацию процесса", установке и настроке pam-и-nss_ldap.
Ну, надо, так надо - ставим SF(X) в виндах, edit'им юзверей, раздаем им необходимые параметры (Если юзверей много - проще скриптом, был у меня где-то выше пример работы С), создаем нового пользователя для bind'а к LDAP'у (Имя пользователя - на ангельской мове, чтобы с unicode'ом в cn'е не сталкиваться), задаем пассворду посекьюрней (Один черт, в плэйнтексте в файлике лежать будет ))) закидываем бедолагу в группу domain guests, вышвыриваем из 'domain users' (Той самой секурности для) - и с виндами покончено.
На никсах - ставим pam_ldap, nss_ldap, nscd (Не обязательно, но сильно-сильно желательно). Создаем в нужном месте (Поскольку PADL'овский ldap.conf с openldap'овским совпаают не во всем, нехудо бы при компиляции задать какой-нибудь левый путь для конфига - от греха подальше) ldap.conf плюс-минус следующего содержания:
uri ldap://наш_сервер/
base dc=наш,dc=домен
ldap_version 3
binddn наш_юзер@наш_домен
bindpw пассворда, соответственно
scope sub
pam_login_attribute msSFU30Name
pam_password ad
nss_base_passwd cn=куда_сложили,dc=наш,dc=домен?sub?(&(!(useraccountcontrol=514)(mail=*) #Отключаем вывод disabled-пользователей, выводим только пользователей с указанной электронной почтой.
nss_base_group cn=куда_сложили,dc=наш,dc=домен?sub
nss_map_objectclass posixAccount User
nss_map_attribute uid msSFU30Name
nss_map_attribute uidNumber msSFU30UidNumber
nss_map_attribute gidNumber msSFU30GidNumber
nss_override_attribute_value loginShell '/bin/nologin' #Писать nologin в качестве соответствующего атрибута в AD может быть не совсем удобно - хрен знает, может в этой системе он 'nologin', а в соседней как раз нормальный юзверь? Ну или просто nologin не в /bin'е лежит ;). Так что - аккуратненько override'им под наши нужды.
nss_ьфз_attribute homeDirectory unixHomeDirectory #А вот тут override'ить уже не выйдет - а жаль. Придется, например, ln'ить /home на /var/mail - КОСТЫЛЬ! 0:)
nss_map_attribute gecos name
nss_map_attribute userPassword msSFU30Password
Правим /etc/nsswitch.conf:
passwd files cache ldap
group files cache ldap
Правим /etc/nscd.conf:
enable-cache passwd yes
enable-cache group yes
Правим pam-файл, вместо pam_ldap'а в auth вполне можно использовать тот же pam_krb5, ибо нефиг %).
Стартуем nscd, делаем getent passwd, работаем :).
Потенциальные грабли решения:
1) ldap.conf'овский override не поддерживает шаблоны, а использовать одни и те же значения на всех машинах сети может быть не слишком удобно. Предполагаемый костыль - расширять схему доп. аттрибутами и map'пить в разных серверах разные.
2) Не понятно, как быть с почтовыми псевдонимами - вести стандартный aliases.db ручками - таки костыль ).

Способ, в общем-то (Ну, хорошо - более, чем!) годный и в случае больших инсталляций (Несколько серверов + ...надцать рабочих станций под разл. рода *nix'ами) нечего лучше и искать не надо (Один раз расширил схему, один раз смастерил конфиги а потом знай-раскидывай их по нужным местам) но для "адын, савсэм адын" сервер хотелось бы что-нибудь попроще.

@темы: Работа

10:50 

Как известно, каждая проблема имеет решение -

- простое, понятное - и неправильное ;). Вот понадобился вам почтовый (SMTP, для ясности ;)) сервер с интеграцией в AD - родной виндовый, ессно, ффтопку, Sendmail туда же (Программа, конфиги которой нуждаются в компиляции существовать, имхо, не должна!) Courier MTA, кнечно, просто великолепно, но Maildir у них какой-то... подозрительный, Exim вы (Ну хорошо, я!) не знаете - "на трубе" остался Postfix.

Итак, что же первым приходит в голову при словах "интеграция в AD"? Правильно, samba winbind. Ставим postfix с sasl2, sasl2 с saslauthd, samba с AD и winbind, конфигуряем smb.conf:
[global]
security = ADS
workgroup =
realm =
password server = *
encrypt passwords = yes
winbind use default domain = yes
idmap uid = 10000-20000 (Кому надо, можно и больше)
idmap gid = 10000-20000
template shell = /bin/false
template homedir = /var/mail/%U
правим krb5.conf:
[realms]
(НАШЕ НЕЧТО) = {
kdc =
}
[domain_realm]
.(наше нечто) = (НАШЕ НЕЧТО)
Стартуем winbind, net ads join -U (admin user) -S (DC), проверяем wbinfo -u, если работает - правим nsswitch.conf - passwd = files, winbind, group = files, winbind. Проверяем id (доменный пользователь) - вот, собссна, и все.
Настраиваем saslauthd: создаем в нужном месте (Platform-specific) файлик smtp следующего содержания:
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
и запускаем saslauthd с флагом '-a pam'.
Создаем pam-файл для winbind'а (Место расположения опять таки, depend on) с именем smtp, закидываем туда 'auth required pam_winbind.so', проверяем: testsaslauthd -u (доменный пользователь) -p (пароль, ага, прям тут) -s smtp, если ОК, то можно переходить к собственно, postfix'у.
Тут, кстати, тоже ничего сложного:
Вместо permit mynetworks пишем permit_sasl_authentificated, в local_recipient/relay_map 'unix:' меняем (Кому нужно, ага - у остальных и так стоит) на 'proxy: unix' (Ибо нефиг всяким там постфиксям к особо важным файлам напрямую лезть, пусть как все соответствующие системные вызовы используют - заодним и, хе-хе! winbind работать начнет). Стартуем postfix, проверяем.

Просто, не правда ли? Может, не "с закрытыми глазами", но "через полчаса" заработает - почему же так не стоит делать? Допустим, созданный таким образом сотрудник уходит в длительный неоплачиваемый отпуск - что делает администратор домена в этом случае? Правильно, блокирует учетную запись, а что делает winbind со значением UserAccountControl? Правильно, забивает :). Т.е. войти в систему пользователь не сможет, оправлять почту - тоже, а вот приходить она очень даже будет. А если таких пользователей сотни две? Непорядок. А что делать с т.н. "системными" пользователями (Built-in, или самолично созданными для, например, имперсонации служб), которые вроде как почту получать не должны? Winbind, тут, увы, не помошник. Конечно, "не так трудно" завести отдельную карту со списком "запрещенных" пользователей - но нафига нам плодить очередные костыли, там, где можно обойтись без них?
Вот и я думаю, что незачем. Вооружившись этим знанием переходим...
Впрочем, "продолжение в следующей серии" :)

@темы: Работа

10:58 

Сильнее всего меня в моей работе раздражают...

... ситуации, в которых ты "все сделал правильно" но это не хрена не помогает, т.к. "кто-то до тебя где-то что-то не подумал".
Ставлю amavisd-new из портов. УБИРАЮ галку SpamAsassin (Терпеть ненавижу эвристику в таких делах - куча геморроя с настройками и на выходе один черт, потерянные письма), запускаю - хренась! Не могу запуститься, ибо в модуле SA нет пути к SpamAssassin.pm. Ну нако-оооой он тебе, а? Ты ж "типа-без-него" скомпилен? А вот! И приходится лезть в этот трижды долбанный перловый скрипт и выпиливать там "единственный подключенный спам-фильтр". "Не подумали чутка", ога.
Ставлю Openfire + Mysql (Про Mysql я уже говорил многое и разное :), добавить тут нечего, но с SQLITE'ом оно "не взлетело" (Достаточно, кстати, интересным образом, но об этом позже)), в URI для jdbc завожу хост-имя-базу, завожу в базу пользователя, даю ему права цепляться с локалхоста, запускаю... авотхрен! В логах видно, что что ты ей в качестве хоста не пиши, а цепляется оно по fqdn хоста. Ну вот нафига-аааа вообще спрашивать лишние данные, если юзать их не собираешься? Ок, пофиксил пользователя.
В третьей конторе стоит пейратский на всю бОшку Kerio Mail Server с интегреным LDAP'ом для "адресной книги" (Что я думаю о типа-админах, которым одного LDAP'a (Того, что в AD, ага) "не хватает" - здесь приводить не стану). ОК. Переименовываем пользователя во внутренней DB... а во встроенном же LDAP'е юзверь не меняется!!! Чиооооордт! Что я делаю не так, а?

И вот такая дребедень - целый день и каждый день. "Все сделано правильно, но ничего не работает", пилите дальше.

@темы: Работа, Жизнь

14:08 

Не так давно...

...возмущался я головожопостью отдельных представителей роду-племени одминского. Так вот, судя по всему - зря. Это не "он дурак", это мода такая. Гнездо, ага. Оказывается, есть на бескрайних просторах нашей родины ПРОВАЙДЕР, который поступает ровно таким образом: выдает каждому клиенту БЕЛЫЙ IP-адрес из пренадлежащего ему пула, прописывает (Ручками, ОГА - какой-такой Dynamic Hosts Configuration Protocol, о чем это вы? Мы тут программку на Delphi'ях нарисовали, она все-все сама сделает! Ах, да! Для Кор-по-ра-тив-ных клиентов мы можем предоставить 130 D-Link!) DNS + пяток маршрутов (До DNS'а, PPTP-Access Concentrator'ов и пр) - а потом поднимает PPTP-туннель, выдает новый IPшник и NAT'ит весь трафик через новый же шлюз. Profit!
А то, что до этих самых "белых" IP-шников нельзя достучаться извне, то, что долбанный NAT знать не знает и знать не хочет о всяких-разных PPTP/L2TP/IPSec pass-through, то, что дебужить эту ситуацию со стороны чистейшей воды сю-ууур! - это такие, право, мелочи... "Работает же все!"(Ц) Воистину, более мммм... своеобразных решений я еще не видел.

Ну и как обычно, о вечном. Очередные грабли - nmap не больно-то дружит с ngX интерфейсами. Из-под юзера nmap - ок. Делаем nmap -sS - даешь повышение привелегий. Запускаем nmap от root'а... упс!
WARNING: Unable to find appropriate route to ...
ifconfig + netstat -nr - все ОК, роуты есть, интерфейс жив. ping - есть. А вот работать отказывается.
Попытка скормить nmap'у нужный интерфейс при помощи -e ngX успехом так же не увенчалась. Гугль, тоже не обрадовал - мол, да, глюк есть, вроде как есть даже патч - но... с 2006 так и не принят. Абыдна, вай!

@настроение: Повбывал бы!

@темы: FreeBSD, Жизнь, Работа

14:20 

Все-таки, программисты 1С...

... очень, очень, очень странные люди. То ли сам инструмент тому виной (См. выше и не только), то ли область деятельности (Страшней нашей бухгалтерии - только Интернет после ядерной войны - и то не факт!) постаралась, то ли "общение-с-бухгалтерами-пенсионного возраста" повлияло, но факт налицо.
Задача - на регулярной основе выгружать данные из клиент-серверной программы (Сервер на СУБД Firebird) в 1с. 1с - 8.1. Реляционная БД. 1С-ка. Все просто, да? Ну там (ODBC-ADO-OLE)+SQL=1C, драйверов для FB в сети в количестве, примеров кода (Именно для 1ески) - хоть мм-ммм... ешь, чего еще-то?
Но нет, мы легких путей не ищем! А дайте нам локальную копию БД и мы в монопольном режиме, как учили в далеком 9х-м году на Delphi ее распотрошим. Ручками, ога. Как файл. В обход SQL-сервера. "Зачем нам кузнец? Нам кузнец не нужен!"(С)
Клиент-серверное приложение. Сильно больше одного пользователя, причем в нескольких городах. Копия базы. Нет, Firebird умеет делать консистентные бэкапы "на ходу", умеет он и создавать новые БД из этих дампов, но блин-блин-блин! FB стоит на виндах (В общем-то, дальше можно и не продолжать). В режиме SS, т.е. больше одного проца он не получит никак, хоть на 8-ми вёдерную машину его водрузи, а бэкап хотя бы пары гигов со всеми чексуммингами и прочей мутотенью - дело мягко говоря, не слишком быстрое. "Есть мнение"(ТМ), что в скором времени конторе потребуется "новый, мощный сервер"(ТМ) :shuffle:

@темы: Работа

09:47 

Сделал очередную...

... (Вторую, если быть точным ;)) попытку познакомиться с четвертыми кедами. Не помню уже, что мне не понравилось в первый раз, но сейчас первым (А так же вторым, третьим, четвертым и пятым!) впечатлением было "Вааааау! Оооо! Аааа! Ну вы, блин! Это ж надо ж!" - усе сияет, переливается, движется и пэ рэ, все красивенько, анимированньенько и местами даже вполне удобно. Desktop с rooms'ами, виджетики, панель - 7-ка однозначно отдыхает следующие года три, "родные" приложения может и не "лучшие в своем классе", но вполне работают - казалось бы, ляпота... если на нее любоваться, а вот если начать работать...
Konqueror - хороший браузер. Действительно, хороший - мне оч-чень понравился (Не Crome(ium) - нет, но явно резвей-удобней FF) - вот только - сюрпри-иииз! Работать с HTTPS-proxy с авторизацией отказался кат-тегорически, от слова "совсем". В TCPDump'е видно, что на "proxy authentification required' "завоеватель" отвечает ACK'ом... и инициирует новую сессию с. HTTP-прокси с авторизацией работает нормально.
Через полтора часа работы dolphin начал жрать 20% проца. Почему-зачем? Б-г знает. Впрочем, больше оно не повторялось...
Kopete - хороший ПЛОХОЙ im-клиент, но в общем-то, настраивается и работает. Вот только в процессе настроек - умудряется зависать и подтормаживать (Аж два разА, ага) - в работе ничего подобного не было, но "осадок остался".
Потом навернулся d-bus (И почему я ну ни капельки не удивлен, а?) - а вместе с ним и все остальное. Опять таки, в следующие три дня ничего подобного не было - хотя отдельные приложения падали, да.
Kmail по ощущениям с третьей версии изменился не сильно и ничем не удивил - есть. Работает.
Amarok - аналогично. Малость лучше "Windows Media Player'а" по usability, но все равно - "не нескафе".
Koffice'у все еще не хватает поддержки MS'овских форматов (Эт-та понятно, но хотя бы rtf к Kwrite'у могли бы и прикрутить!).
Konsole - традиционно великолепна, xterm (Бууаа-га-га!) рядом не валялся.
Ну и тадэ и та пэ.
В общем, "Роисся, вперде!" - в смысле, "впереди планеты всей, но глю-ууучное, шотрындец". Работать можно, но, но, но...
P.S. - Версия KDE - 4.4.3, дистрибутив - Mandriva 2010.1 (Spring) на virtualbox'е.

@темы: Жизнь, Работа

09:45 

О граблях, вестимо.

"Третьего дня"(ТМ) решил я обновить систему на недавно вышедшую 8.1 - на виртуальной машинке все вроде как ОК, можно и на личном букваре поэксперементировать, ага. Правим sup-файл для дерева сырцов, обновляем дерево, make buildworld-kernel-installworld-kernel, НЕ ЗАБЫВАЕМ (Оттож!) обновить gptzfsboot в первой партиции, ребутимся... авотхрен!
error 1 lba 48
error 1 lba 1
No ZFS pools located, can't boot
Хм. Странно. Впрочем... в 8.1 ZFS 14 версии, а в 8-ке - 13, может по тому и не находит? Надо бы версию пула обновить, ага. А пока - установим старый gptzfsboot + копирнем скомпиленый с ZFS'ом loader от 8-ки. Работает. За десять минут до конца рабочего дня - zpool upgrade -a, gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ad4, ребут.
error 1 lba 48
error 1 lba 1
No ZFS pools located, can't boot
Хм. По проторенной дорожке - старый лоадер... авотхрен! Версия should be 13, ага. Приплыли. Смотрим, куда именно. Google ничего сильно вразумительного не говорит (Большая часть камрадов тупо забыла проинсталлить gptzfsboot "куда надо", меньшая - ловит кайф с current-веткой и сообщает, что уж в RELEASE'е-то все ОК) - тындекс и спрашивать бесполезно, придется ручками.
ls /usr/src/sys/boot/i386/gptzfsboot - никаких сырцов, один Makefile, в котором прописана статическая линковка gptboot + zfsboot + btx + еще какая-то хрень. Ага. fgrep'ом смотрим, где именно сидят сообщения об ошибках - сидят они в zfsboot.c, вот только к этому самому .c прилагается еще и .S, написанный на ассемблере. Мать-мать-мать. Начинаем смотреть - main вызывает probe_drive(), probe_drive() вызывает drvread(), там инициализируются несколько регистров, вызывается "ассемблерная вставка" - и выдается сообщение об ошибке. Два разА, ага. Дело ясное, что дело темное.
Лезем на svn, начинаем читать комментарии - что и зачем джамшутили в этом самом zfsboot.c - создается впечатление, что проблема вызвана включением 64х битной LBA вместо старой 48-ми битной, но как с этим бороться... версия ДО этого самого включения без сильномогучего бубна не собирается, что и как "править ручками" - хрен знает... трабла, в общем.
Неразрешимая? А вот и нет ). "Совершенно случайно" у меня в букваре обнаружилась SD-карта на 1 гиг, с которой комп вроде как даже соглашается грузиться - форматим ее под UFS2, копируем туда /boot, gpart'ом же ставим MBR, меняем /etc/fstab, ребутимся, меняем boot sequence, ребутимся... и работаем.
А вот что делать с "боевыми" серверами в которых карт-ридеров с "совершенно ненужными" SD'шками нет - Б-г весть. Экспериментировать как-то того... желания нет.

@темы: Работа, FreeBSD

17:13 

Наступил на целую кучу грабель...

... с ZFS boot'ом (Кто бы мог подумать, что порядок загрузки модулей opensolaris.ko и zfs.ko играет роль, а? При том, что в "loader prompt'е" zfs.ko вполне себе грузился...). Добила меня необходимость собирать loader из chroot'а (Ну, да, ну да - вумные прошареные люди сделали это СИЛЬНО до, честь им и хвала), одно радует - скилл растет.

@темы: FreeBSD, Вендекапец!, Жизнь, Работа

10:14 

В то время как Все Мировое Сообщество...

... буквально задыхается от нехватки IPv4-адресов и вовсю подумывает о внедрении IPv6 отдельно взятые несознательные представители одминского роду-племени умудряются NAT'ить реальные IP-адреса!!! Досталась недоумку из "муниципального объединения" (Ключевое, по видимому, слово!) цельна подсеть класса С от одного провайдера (С безлимитным трафиком inside) и безлимитный канал "поширее" от другого "...ну он один и удалил"(С) и этот товаристч не придумал ничего лучше, чем пронатить весь трафик от разбросанных по половине города клиентов через "безлимитный" интерфейс. На все вопросы в стиле "А NAT-то тебе НАФИГА?!" - отвечает "так дешевле"(Ц). Policy, мать её, based routing, ага. Настроено не иначе как по "хаутую" с OpenNET'а - впрочем, народ говорит, что это уже аф-ффигеть прогресс, мол раньше-то один non-transparent HTTP-proxy стоял и усе, плавайте как хотите, а сейчас она! даже торренты работают, пусть и "в одну сторону"!
Это ж до какой степени нужно _не понимать_ стек TCP/IP, чтобы такой фигней заниматься, а? Впрочем, товарищ хотя-бы старательный - по первой просьбе быстренько "пробрасывает" порты на нужный сервер, вот только для полноценной работы портов этих надо, да и не все за NAT'ом нормально работает, да с DNS'ом ситуация странная, да службы настраивать через заднее крыльцо приходится, да PKI не вполне понятно как прикручивать, да... Но, в общем-то, все работает, даже странно.

@темы: Работа

15:48 

И еще одни шикарные...

... грабли. Дано: samba в роли PDC. Трэба - закинуть на этот сервер всякое-разное в количестве. Ясен пень, хочется "разложить" все это не абы как, а по разным jail'ам, ибо. Вот только - сюрприз-сюрпри-иииз! Сволочной nmbd привязывается к *.137/8 и штатного способа изменить это поведение у нас нет (Параметры "interffaces", "bind interfaces only" и "socket address" на nmbd не влияют, о чем в man'е и сказано).
Ок, сделаем, как умные люди говорят - перекинем "проблемный" сервис в jail, и пущай там привязывается к чему ему угодно, хе-хе! Сказано - сделано, но, увы! Кто бы мог подумать? )))) Вышеописанное поведение злобного демона, оказывается, имеет под собой Глубокий Смысл - запущенная таким образом samba на отрез отказывается получать broadcast'ы (Что, собственно, в высшей степени логично - хрен тебе, а не доступ к "сырому" интерфейсу изнутри jail'а!). "Штатного" способа собрать samba'у с поддержкой jail'а в портах не обнаружилось.
Тупик? Авотхрен! Запихиваем в соседний jail связку DNS+DHCP (Вроде как даже описывал когда-то), кидаем в smb.conf "wins support = yes" и "dns proxy = yes", пишем в resolv.conf'е адрес соседнего jail'а и раздаем через тот же DHCP samba'у в качестве еще и WINS сервера. Работает!
Для пущего счастья еще бы и службу "computer browser" на всех клиентах посносить, ибо нефиг где попало broadcast'ами мусорить, но, в общем-то, и так сойдет, наверное.

@темы: FreeBSD, Работа

11:20 

Не-на-вииии-жу!!!...

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

Dlink DIR-100. Открываю. Порты заклеены бумажкой "Стоп! Воткните диск с мастером в CD-ROM и следуйте инструкциям!". Дефолтовый IP девайса нигде не прописан. Консольного порта, разумеется ;) нет. Делать нефиг, цепляю диск.
"Щаз мы вам все настроим, а заодним поставим программу "Network Magic" которая ну такая программа, ну просто такая программа..."
"Спасибо, я знаю, как настраивать сеть"
"Значит, не поставим!" - говорит инсталлятор, и переходит к следующей стадии
Сюрпра-ааайз! Комп раньше раздавал тырнеты с помощью ICS, и сетевух там ДВЕ! Инсталлятор стремительно сдувается - "Мужик, ну ты там отключи какую тебе не надо, и нажми "Повторить", ок?"
Лад-но. Отключаю, жму "нехт". По просьбе цепляю ровтер и "наслаждаюсь" результатом.
Эти гид-ро-це-фа-лы даже предположить не смогли, что кроме 192.168.0.0/24 в мире существуют другие подсети, и что иногда ;) они (не)используются вполне осознанно. В результате - на девайсине поднят DHCP, бывшему "интернет"-подключению роздан IP-шник из вышеуказанной подсети, а собственно настройки подключения к интернету железка сюрприз, сюрприз! не счухала.
Имбецилы с двумя извилинами сделали замечательный продукт для тех, у кого извилина одна. Аминь, аминь, аминь.
Собственно, будь эта затея только и исключительно DLINK'овская я бы сильно и не раздражался (Ну что с них взять, кроме анализов новых прошивок? Виноват, зря злобствую %)) так нет же, точно такой же механизм "настроек" я уже видел то ли у асусов, то ли у асеров.
Боже, благослови циски с их консольным портом и убей всех остальных, а?
Спасибо, боженька, твой Шаман.

@темы: Работа

16:04 

Новый экспириенс...

... установка FreeBSD на IBM'овский сервер.
Со SCSI-винтами, числом 2 шт по 8Gb каждый.
128 метров памяти.
P3-500.
В серверной типа "кладовка" (+40 "в тени", ага).
Без стула.
При помощи клавиатуры _без английской раскладки_.
За жестко ограниченное время.

Ничего так, работает. Интернет интернетит, нат натит, ДНС-днсит ). Ядро, правда, все еще пересобирается - ну-да мы не поспешаем, да.
Правда идея взгромоздить на ЭТО еще и почтовый сервер м-ммм... не кажется мне вполне удачной, но где наша не пропадала?

@темы: FreeBSD, Работа

16:17 

Очередная задачка:

Есть Cron. Есть пара "однострочных" задач. Есть IMAP-сервер с настроенными фильтрами (Все сообщения с такой-то темой слать ТУДЫ!). Казалось бы, все хорошо - но как задать Subject: в письме от Cron'а? В конфигах ничего подобного нет. В man'ах, что удивительно, тоже ).
Можно, конечно, подправить IMAP'ный фильтр, но - мы легких путей не ищем! Лезем в man'ы. Думаем. Отключаем отправку писем Cron'ом при помощи установки переменной MAILTO="". Закидываем в конец выполняемой Cron'ом команды конвейер | mail -s ''... и обламываемся, ибо в качестве системы отсылки почты используется не родной sendmail, а самоустановленный ssmtp, который, судя по тем же man'ам знать не знает ни о каких Subject'ах!
Иппон-матрен. Вместо одной строчки в Cron'е пришлось рожать цельный скриптЪ, собирающий искомое письмо из шаблона заголовка и stdout'а собственно программы с удалением получившегося темпака.
Чиооорт, как бы научиться выбирать _самый простой_ путь решения проблемы, а?!!!

@темы: Работа, FreeBSD

Танец-с-саблями на граблях

главная