Показаны сообщения с ярлыком opensuse. Показать все сообщения
Показаны сообщения с ярлыком opensuse. Показать все сообщения

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

sssd и ldap без шифрования.

Обновил свою рабочую станцию до opensuse 13.2 и обнаружил, что sssd не проводит аутентификацию через ldap если не используется шифрование.
Переделывать все настройки из-за одной машины(все остальные рабочие станции на ubuntu 12.04, там sssd еще нет) ? Не, мне лень!
В гугле есть решения для centos с редатированием  /etc/sysconfig/authconfig и опцией ldap_tls_reqcert = never в /etc/sssd/sssd.conf тыц , но в сюзе они не работают.
Что же делать, как же быть? Долгий и вдумчивый поиск приводит меня к опции  ldap_auth_disable_tls_never_use_in_production в кофигурационном файле sssd. Вдумайтесь! - ldap_auth_disable_tls_never_use_in_production
Я полдня смеялся!
Как становится ясно из названия, опция отключает обязательное использование TLS при аутентификации. Использовать такое в продакшене я, конечно, не рекомендую, но для быстрого включения в имеющуюся среде одной станции - сойдет

четверг, 6 июня 2013 г.

1C 8.3 на Linux.

Краткий отчет о внедрении 1с 8.3 на предприятии.
Из-за описанных ранее проблем с использованием клиента 8.2 под wine, сразу же после релиза я приступил к тестированию. Несколько дней проверки не выявили каких либо багов, поэтому внедрение платформы последовало незамедлительно.
В целом система полностью работоспособна, но дьявол, как известно, кроется в деталях.
Интерфейс клиента НЕВЕРОЯТНО медлителен! Отрисовка списков видима глазом, практически построчная. Перемещение окон оставляет оставляет серый след на заднем плане. Нажатие кнопок в модальных окнах настолько неторопливо, что иногда можно успеть кликнуть "Да" 3-4 раза, прежде чем окно закроется. Порльзователи работают над одним документом минут по 30.
Из серьезных проблем выявлена только одна - не работает перемещение в списках при наборе первых букв искомого значения. Окно 1С странным образом мигает, как будто бы фокус ввода предается другому, и ничего не происходит.
В результате работать невозможно. Все описанные симптомы проявляются на самых разных компьютерах, от Atlon XP 1.7Ггц и Atom N2600 до Core 2 Quad 2.4 и Core i3 3.0. Использовались дистрибутивы Xubuntu 12.04 (XFCE 4.8) и openSUSE 12.1 (KDE 4.5, 4.10). Версия для Windows работает нормально.
Принято решение вернуться на платформу 8.2.
Скриншоты напоследок:



среда, 1 мая 2013 г.

openSUSE 12.3, ldap, sssd и crash thunderbird

Сразу после релиза openSUSE 12.3 сделал обновление на рабочем компе. Тут же вылезли косяки - не проходила аутентификация пользователя через ldap сервер, не запускался X при перезагрузке (приходилось стартовать руками) и т.д. Обычно я не использую новые версии ОС, предпочитаю подождать несколько месяцев пка накопится достаточное количество обновлений и исправлений. Вот и в этот раз откатился на 12.2.
Однако на днях прикупил новый SSD и, помня о неудачном обновлении "сюзи", решил поставить на него систему с нуля. Установка, первоначальная настройка - а проблемы все те же. Итак, приступим.
По умолчанию настройка клиента ldap в openSUSE 12.3 произходит с использованием демона sssd. Что это такое и с чем его едят рассказывать не буду, хотя в теории штука весьма "вкусная". Скажу только, что для "сюзи" (пробовал и 12.2 и 12.3) нормально его приготовить у меня не получилось. Технология достаточно новая, нормальная документация есть только у РедХат, howto в Интернете мало, а на русском тем более. Поэтому освоение ее я отложил на потом. Однако работать с ldap надо уже сейчас! Меня уже не испугать настройкой ldap из командной строки (ссылка, ссылка), поэтому сразу же удаляю sssd и устанавливаю pam_ldap и nss_ldap:

zypper rm sssd
zypper in pam_ldap nssd_ldap

После этого редактирую /etc/ldap.conf согласно моим настройкам сервера:

base dc=mydomain,dc=local
uri ldap://mydomain.local

Тут же начинают работать команды id user и getent passwd. Казалось бы можно работать, но не тут-то было - аутентификация по прежнему не работает. Логи малоинформативны, но однозначно говорят, что ldap работает. Что еще может влиять на  логин пользователя? Конечно же pam! Сравнение файлов конфигурации из каталога /etc/pam.d/ на openSUSE 12.1 и 12.3 ничего не дает, там все идентично. В дело вступает google.ru
Я уже не помню что и как искал, но в конце концов наткнулся на ресурс, с которого и следовало начать - openSUSE 12.3: Security Guide Во второй главе Authentication with PAM черным по белому написано как настраивать pam для тех или иных случаев. Меня интересует всего лишь одна команда:


pam-config --add --ldap

Все. После этого система работает также как и 12.2, и 12.1, и 11.4 до нее. Я расслабляюсь и получаю удовольствие от нового KDE 4.10
Но это еще не все. При настройке почты сталкиваюсь с крэшем thunderbird сразу при запуске. Вспоминаю о подобном в Xubuntu 12.04 и проверяю nscd. В openSUSE 12.3 он установлен и работает по умолчанию. В логах пусто. Пробую strace. Я не программист, поэтому ничего не понимаю в выводе, но замечаю перед записью дампа обращение к либам ldap. Выясняю, что действительно крах thunderbird происходит только для пользователя с авторизацией в ldap. В поиске находится масса аналгичных ситуаций для freebsd, ubuntu, fedora и opensuse, но решения с переименованием библиотек, наложением патчей и прочей серьезной правкой системы я стараюсь не применять. В конце концов на каком-то opensuse-форуме встречаю любопытное предложение - nss-pam-ldapd. Ну чтож, проверим:

zypper in nss-pam-ldapd

Установка требует удаления nss_ldap и pam_ldap. Несколько минут чтения документации на новое ПО и правка файла /etc/nslcd.conf

base dc=mydomain,dc=local
uri ldap://mydomain.local

Теперь точно все. Аутентификация в ldap через nss-pam-ldapd и thunderbird работает!

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

Xubuntu 12.04. Ligtdm и список пользователей при входе.

Все-таки приходится внедрять xubuntu 12.04 на предприятии, несмотря на мое нежелание.
Просто неожиданно много оказалось старых компов, на которых любимая opensuse даже с XFCE работать категорически не желает.
Сегодня разобрался с одной проблемкой. В отличии от "сюзи", в "ксубунте" по умолчанию не отображается список пользователей ldap на экране входа. Раньше уже сталкивался с подобными проблемами (то список не отображается, то отображается ВЕСЬ), но обычно все решалось само собой, то ли обновлением, то ли парой перезагрузок. Однако на этот раз пришлось попотеть. Сначала я не придал значения такой мелочи, тем более сходу проблему решить не удалось. Несколько человек просто дополнительно набирают логин перед паролем и все хорошо. Однако сегодня вместо обычного разворачивания из образ решил настроить систему с нуля. Неожиданно заметил, что последний залогиненный пользователь сохранился в списке доступных! Начал вспоминать. Раньше я сначала настраивал систему, потом обновлял, а сегодня наоборот. И, что гораздо значительнее, при произведенном входе пользователя обновлял настройки соединения с сервером ldap:

root# /etc/init.d/nscd restart
root# pam-auth-update
root# auth-client-config -t nss -p lac_ldap

После этого пользователь навсегда оставался на экране входа.
Но, как говорится, дурная голова ногам покоя не дает. Как теперь удалить лишних пользователей? Курение гугла подсказывает пару вариантов. Во-первых, файл /etc/lightdm/users.conf  в котором можно указать, каких пользователей скрывать. Эксперимент показал, что для ldap это не работает. Во-вторых, очистка содержимого /var/cache/lightdm , где хранится кэщ логинившихся пользователей.Также не работает. Опция greeter-hide-users в файле /etc/lightdm/lightdm.conf отключает список полностью.

Увы, решение мной так и не было найдено. Кто-нибудь подскажет?

среда, 27 февраля 2013 г.

X11vnc - аналог Radmin для linux.

Когда работаешь в техподдежрке в компании со штатом более ста человек, очень быстро отвыкаешь от индивидуального подхода (в прямом смысле 8)) к каждому пользователю. Основными рабочими инструментами становятся Radmin, vnc и службы удаленного рабочего стола windows.
Именно после такой работы я начал плотно заниматься переводом пользователей на linux, и первым делом встал вопрос о системах удаленного управления рабочим столом в этой операционной системе.
Я не буду рассказывать о том, каким тернистым путем я шел, ведя борьбу с различными программами на счет автозапуска, подключения к текущей сессии пользователя и тд и тп.
Расскажу только о конечном результате.
Сейчас я использую x11vnc. Основным дистрибутивом является openSUSE 12.1. Сначала устанавливаем сервер:

zypper in x11vnc

После установки можно настроить сервер из графической оболочки, но мне это сделать не удалось.


Поиски в гугле и чтение манов дали ответ:

x11vnc -display :0 -shared -forever -auth guess&

Так выглядит строка запуска сервера vnc для того, чтобы подключаться  к запущенному графическому серверу. Особо отмечу параметры запуска : -auth guess разрешает подключение без какой-либо аутентификации, то есть не требуется ни подтверждение пользователя, ни указание пароля, любой может получить полный доступ к сессии пользователя просто обратившись к компьютеру по IP адресу или имени используя vnc.
В моей компании подобная ситуация допустима и искать более подходящие параметры я не стал. Добавил команду в автозагрузку создав скрипт /etc/init.d/x11vnc

 #!/bin/bash
x11vnc -display :0 -shared -forever -auth guess&


сделал его исполняемым (chmod +x /etc/init.d/x11vnc) и добавив в запуск на 5 уровне исполнения (ln -s /etc/init.d/x11vnc /etc/init.d/rc5.d/S12x11vnc).
Все прекрасно работает, казалось бы можно просто работать, но...
В наличии имеется довольно много старых компьютеров, которые openSUSE с KDE просто не вывезут. На них я обычно устанавливаю XFCE, хотя в последнее время стал склоняться к использованию Xubuntu 12.04. С XFCE используется диспетчер lightwm.
Так вот, при выполнении указанной выше команды получаем следующую картину:

27/02/2013 17:38:53 x11vnc version: 0.9.12 lastmod: 2010-09-09  pid: 2149
xauth:  file /root/.Xauthority does not exist
/tmp/fd.0RDwcb: 305: [: -a: unexpected operator
/tmp/fd.0RDwcb: 305: [: -a: unexpected operator
27/02/2013 17:38:53 -auth guess: failed for display=':0'
27/02/2013 17:38:53 -auth guess: since we are root, retrying with FD_XDM=1
/tmp/fd.7U6gp4: 305: [: -a: unexpected operator
/tmp/fd.7U6gp4: 305: [: -a: unexpected operator
27/02/2013 17:38:54 -auth guess: failed for display=':0'


Вывод ошибок и Гугл многое говорят о возможности исправления ошибок, но я выбрал наиболее простой, как мне кажется, способ.

x11vnc -storepasswd /home/.vncpasswd
Enter VNC password:


Создаем файл с шифрованным паролем для доступа. Затем меняем наш скрипт /etc/init.d/x11vnc:

#!/bin/bash
x11vnc -dontdisconnect -display :0 -auth /var/run/lightdm/root/:0 -notruecolor -noxfixes -shared -forever -rfbport 5900 -bg -o /var/log/x11vnc.log -rfbauth /home/.vncpasswd


Дальше добавляем его в автозапуск как описано выше. Параметр -rfbauth /home/.vncpasswd указывает серверу x11vnc использовать созданный ранее файл с паролем. Указание запущенного экземпляра дисплейного менеджера -auth /var/run/lightdm/root/:0 необходимо, без него сервер x11vnc в XFCE просто не стартует. Остальные опции желательны, так как при работе без их указания наблюдаются многочисленные проблемы - не срабатывает запуск, сервер отваливается после отключения клиента, и др.
Все действия описаны для openSUSE, отличие от Xubuntu только в добавлении скрипта в автозагрузку. Там это делается командой update-rc.d x11vnc defaults 99 после создания файла x11vnc в директории /etc/init.d/.
После всех процедур получаем компьютер, к которому в любой момент можно подключиться по vnc и оказать помощь пользователю.



пятница, 22 февраля 2013 г.

1C под Linux.

Сегодня тестировал клиент 1С 8.3.2.172 для Linux. При установке в openSUSE 12.2 при помощи  zypper вываливается ошибка:

zypper in *.rpm
2 проблемы:
Проблема: ничто не предоставляет core83.so, необходимый для 1C_Enterprise83-client-8.3.2-172.i386
Проблема: ничто не предоставляет core83.so, необходимый для 1C_Enterprise83-client-8.3.2-172.i386


Используя rpm видим более подробную информацию:

rpm -ivh *.rpm
ошибка: Неудовлетворенные зависимости:
        1C_Enterprise83-common = 8.3.2-172 нужен для 1C_Enterprise83-client-8.3.2-172.i386
        1C_Enterprise83-server = 8.3.2-172 нужен для 1C_Enterprise83-client-8.3.2-172.i386
        core83.so нужен для 1C_Enterprise83-client-8.3.2-172.i386
        libicudata.so.46 нужен для 1C_Enterprise83-client-8.3.2-172.i386
        libicui18n.so.46 нужен для 1C_Enterprise83-client-8.3.2-172.i386
        libicuuc.so.46 нужен для 1C_Enterprise83-client-8.3.2-172.i386
        stl83.so нужен для 1C_Enterprise83-client-8.3.2-172.i386


Ясно, что нужно вместе с клиентом ставить сервер. Еще версия icu отличается от нужной для 1С.
Пока скачиваются установочные файлы сервера пробую запустить под wine используемую в компании 8.2.16.363. Результат радует:
























Без каких либо ошибок программа устанавливается, настраивается подключение к базе (сервер 1с работает на centos 5.8, сервер баз данных - Postgreql 9.1.2) и работает.
Пока настроил работу под wine одному бухгалтеру, пусть потестирует.
Ставлю сервер 1с 8.3 вместе с клиентом, установка завершается без ошибок.
Запускаю клиента:
  
/opt/1C/v8.3/i386/1cv8
Error with load - libWand.so: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога
Error with load - libfreetype.so: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога
Ошибка сегментирования


Гугл выдает массу вопросов по данным ошибкам. Судя по всему проблема с библиотеками ImageMagic и ttf2pt1. Видимо версии, нужные для 1с и установленные у меня не совпадают. Калечить рабочую систему никакого желания нет, да и день сегодня короткий перед праздником. Всех поздравляю!

Rdesktop и проброс принтеров.

Сегодня менял рабочую станцию очередному пользователю. Как обычно установил opensuse 12.1 pxe-загрузкой по сети, настроил клиента ldap и отнес в нужный кабинет. После того как сотрудник залогинился, пришло время пользовательских настроек. Аська, почта, чат, туда-сюда. Подключил сетевой принтер через веб интерфейс cups. При установке указал имя HP_LaserJet_P2015. Начал настраивать подключение к серверу терминалов с помощью rdesktop. Создал ярлык с указанием строки запуска rdesktop -u login -p pass -d domen -s "C:\\Program Files\\1cv82\\common\\1cestart.exe" -g 1436x840 -k ru -r printer:HP_LaserJet_2015="HP LaserJet P2015 Series PS" termВсе отлично, 1с запустилась, принтер проброшен, ОК.
И тут -ах!- не печатает с сервера. Как так? Все процедуры уже проделывал десяток раз, на соседнем столе точно такой же комп стоит, печатает. Полез перенастраивать принтер. Драйвера pcl5, pcl6, cups, lj. Удаление всех пакетов драйверов, кроме hplip. Обновление hplip. На все движения - ноль эмоций. Уже 4 часа с компом вожусь, другая работа колом встала!
Наконец заметил: в имени принтера пропущена одна буква "Р". Исправляю и чудо происходит. Рабочая строка запуска rdesktop -u login -p pass -d domen -s "C:\\Program Files\\1cv82\\common\\1cestart.exe" -g 1436x840 -k ru -r printer:HP_LaserJet_P2015="HP LaserJet P2015 Series PS" term

Мораль: здоровый полноценный сон - залог хорошей работы 8) Просто за последние трое суток спал 5, 4 и 6 часов соответственно.
P.S.: Типовые операции лучше автоматизировать. Хотя бы на уровне копирования ярлыков, а не создавания каждый раз с нуля. И имена принтерам на пользовательских машинах давать одинаковые. Например, printer. Но все равно драйверы будут отличаться, и их нужно будет вручную указывать.
P.P.S: Почему не работает печать с HP Universal Printing?

пятница, 15 февраля 2013 г.

Ubuntu в офисе

Планомерно перевожу рабочие станции пользователей на linux. В большинстве своем используется openSUSE 12.1 (еще старый админ начинал на нее и 11.4 переводить, да и я сам дома 3 года "сюзю" использовал), есть несколько 11.4, 12.2 и ubuntu.
Устав биться с некоторыми проблемами (SSSD, тормоза на старых машинах, уходящие при повторных инсталяциях, и тд, и тп) решил попробовать ubuntu. Так как предстоит работа с ну ооочень древними машинами - xubuntu 12.04.
Итак, начнем.
Первое разочарование - инсталятор по умолчанию не поддерживает lvm:


Дальше - неплохо. Установка длится менее получаса (прим. 20 мин, точно не засекал):


Симпатично, шустренько, все работает!
Идем дальше. Странно отсутствует привычный офисный софт (в opensuse он ставится при любой стандартной установке). Ставим самостоятельно apt-get install libreoffice.
Приятно удивляет количество софта в стандартных репах - куча разных vnc, rdp, раньше приходилось подключать дополнительные репозитории. Устанавливаю xrdp и - о, чудо! - он работает без каких-либо дополнительных телодвижений! Подключаюсь и с винды и с рабочей opensuse 12.2 - все нормально (проблемы с пробросом принтеров и тд - не считаются, они у xrdp в принципе не решены нигде).
С vnc загвоздка - не могу найти в графическом окружении никаких настроек. Приходится использовать привычный x11vnc. Также как в opensuse с XFCE не заводится простым запуском, колдую с созданием файла пароля и скриптом автозапуска - работает.
Подключение к серверу ldap. Читаю мануалы - становится грустно.
В opensuse давным-давно и сервер и клиент настраиваются в графическом окружении YAST.
http://doc.opensuse.org/documentation/html/openSUSE/opensuse-security/cha.security.ldap.html#sec.security.ldap.yast

http://ru.opensuse.org/SDB:Samba_%D0%B8_LDAP_%D0%BD%D0%B0_openSUSE_11.1_%D0%91%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9_%D1%81%D1%82%D0%B0%D1%80%D1%82

Yast можно запустить в консоли.

В Ubuntu же нам придется повозиться.
https://help.ubuntu.com/community/LDAPClientAuthentication
http://sudouser.com/kak-ustanovit-ldap-server-i-ego-klientov-ldap-linux-debian-ubuntu-auth.html

Все настройки выполняются в консольном режиме, выполнением команд и редактированием конфигурационных файлов. Так как сервер мне устанавливать не нужно, все довольно тривиально, но есть один момент, который потрепал мне нервы.
Автоконфигурация пакета ldap-auth-client, которая происходит при установке, вносит данные ldap сервера в файл /etc/ldap.conf в формате:

base dc=mydomain,dc=local
uri ldapi:///mydomain.local

Тонкость заключается в том, что при настройке сервера по умолчанию (без шифрования, простой ldap) подключение клиентов с такими параметрами не возможно. Пришлось руками менять протокол( ldapi: на ldap:). Но и это не помогло! Оказывается в адресе сервера ldap должно быть два слэша, а не три! Спасибо ребятам с ЛОРа http://www.linux.org.ru/forum/admin/8493410
С этими настройками все заработало.

base dc=mydomain,dc=local
uri ldap://mydomain.local

Чтож, Xubuntu 12.04 оставила о себе довольно приятные впечатления, однако из-за мелкой возни в консоли по различным поводам от принятия ее в качестве основного дистрибутива для установки в офисе я пока воздержусь. Opensuse наше все! Тем более RC1 новой версии 12.3 хоть и огорчает отсутствием samba 4 и Libreoffice 4, но радует увеличением производительности и отзывчивости (ЧИСТО СУБЪЕКТИВНОЕ МНЕНИЕ! ТЕСТОВ НЕ ПРОВОДИЛ!). Пока огорчает неработоспособность клиента тестовой версии 1с 8.3 под Linux на openSUSE (на Ubuntu работает ), но будем надеяться что к моменту выхода не ознакомительных версий это исправят. В противном случае Xubuntu 12.04 - первый кандидат для перехода.