LINUX.ORG.RU

Сообщения manik207

 

Owncloud не загружает файлы через веб-интерфейс более 100Мб

Форум — Admin

При загрузке файлов свыше 100МБ owncloud показывает, что загрузка идет, а по завершении выдает сообщение под шапкой «Ошибка загрузки „Название_файла.zip“:Internal server Error».

Centos 7, apache+nginx, owncloud (9.1.5)+openLDAP+фильтр на группу в лдапе. Ошибка возникает как при загрузке с пользовательского аккаунта через лдап-авторизацию, так и с админского локального аккаунта (с отсутствием ограничения на загружаемые объемы файлов).

Квота на общий объем загрузок для пользователя подтягивается из параметра в лдапе. Для конкретных пользователей правлю параметр в лдапе, в разделе «Пользователи» квота отображается увеличенной с 50Мб (дефолтный размер) до 300 мб.

В php.ini настроены параметры:

upload_max_filesize = 1024M

post_max_size = 1024M

В nginx.conf прописан параметр

client_max_body_size 1024m;

С веб-сервера файлы свыше 100Мб скачиваются.

Логи на ownсloud включены самые подробные, при попытке пользователя закачать файл, лог пишет три строки:

Debug	user_ldap	Ready for a paged search	2017-07-14T10:12:50+00:00
Debug	user_ldap	initializing paged search for Filter objectClass=* base Array ( [0] => uid=user,ou=people,dc=domen,dc=ru ) attr Array ( [0] => uid ) limit 500 offset 0	2017-07-14T10:12:50+00:00
Debug	user_ldap	readAttribute: uid=user,ou=people,dc=domen,dc=ru found

При загрузке из-под локального админа, логи owncloud выглядят так:

Debug	user_ldap	Ready for a paged search	2017-07-14T10:20:14+00:00
Debug	user_ldap	initializing paged search for Filter objectclass=* base Array ( [0] => dc=domen,dc=ru ) attr Array ( [0] => dn ) limit 500 offset 0	2017-07-14T10:20:14+00:00
Debug	user_ldap	Count filter: objectclass=*	2017-07-14T10:20:14+00:00
Debug	user_ldap	Ready for a paged search	2017-07-14T10:20:14+00:00
Debug	user_ldap	initializing paged search for Filter objectclass=* base Array ( [0] => dc=domen,dc=ru ) attr Array ( [0] => dn ) limit 500 offset 0	2017-07-14T10:20:14+00:00
Debug	user_ldap	Count filter: objectclass=*	2017-07-14T10:20:14+00:00
Debug	DeleteOrphanedItems	0 orphaned comment read marks deleted	2017-07-14T10:20:12+00:00
Debug	DeleteOrphanedItems	0 orphaned comments deleted	2017-07-14T10:20:12+00:00
Debug	DeleteOrphanedItems	0 orphaned user tag relations deleted	2017-07-14T10:20:12+00:00
Debug	DeleteOrphanedItems	0 orphaned system tag relations deleted	2017-07-14T10:20:12+00:00
В логах ошибок апача по этому сайту следующее:
[client 192.168.1.100:46874] AH01630: client denied by server configuration: /var/www/cloud.domen.ru/data/htaccesstest.txt

Нашла подобную проблему, решение - не обращать внимание, это проверка безопасности. Переименовывала - создается снова. В самом файле

 HTACCESSFAIL: This is used for testing whether htaccess is properly enabled to disallow access from the outside. This file can be safely removed.

В error-логах nginx - чисто.

К директории data примонтирована другая директория на этом же компе. При отмонтировании - проблема остается.

Где еще смотреть или где включить доп.логирование?

 

manik207
()

Имя пользователя xmpp, отображаемое в списке контактов (из ldap)

Форум — Admin

Здравствуйте, уважаемые.

Ставлю сервер openfire, внутренная БД, подключаю к openldap.

В ldap'е есть группа cn=xmpp, и memberOf'ами идут члены группы.

Пользователь группы выглядит так:

dn: uid=user,ou=People,dc=domen,dc=ru
cn: user
description:: 0YLQstC+0YDRh9C10YHRgtCy0L4=
gidnumber: 11000
givenname:: 0JPRgNC40LPQvtGA0LjQuQ==
homedirectory: /home/user
mail: mail@yandex.ru
objectclass: inetOrgPerson
objectclass: organizationalPerson
objectclass: person
objectclass: posixAccount
sn:: 0JTQsNC90LjQu9C+0LI=
uid: user

При этом givenName - это имя на русском (условно, Иван), а sN - это фамилия (Иванов)

При установке сервера на этапе User Mapping выбираю Username Field - uid, Search fields - uid и User Filter - (&(uid={0})(memberOf=cn=xmpp,ou=Group,dc=domen,dc=ru))

В User Profiles (vCard) указываю Name - {givenName} {sN} и Email - {mail}

На следующем этапе выбираю Group Filter - (cn=xmpp)

При таких настройках, пользователь видит, что он зашел под своим именем и фамилией, а не под uid'ом. А вот других пользователей в списке контактов, он видит под uid'ами. Т.е. себя он видит как Ивана Иванова, а остальных как user1, user2 и т.д.

Где можно поменять параметр имени отображаемого в списке контактов пользователя, чтобы в списке контактов отображался Петр Петров и т.д.?

 , ,

manik207
()

Отключение openfire через 5 секунд после запуска

Форум — Admin

Устанавливаю openfire (4.0.1), версия java

Picked up _JAVA_OPTIONS: -Xmx512M
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)

Устанавливаю в браузере, внутренняя база данных, подключение по openLDAP, опознаны пользователи и админ. Только очень долго думает при проверке. Отображает подключение к панели администратора выдает окно авторизации - и выбивает ошибку

HTTP ERROR 500

Problem accessing /index.jsp. Reason:

    Server Error
Caused by:

java.lang.NullPointerException
	at org.jivesoftware.openfire.admin.index_jsp._jspService(index_jsp.java:173)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
	at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
	at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
	at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:76)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
	at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:53)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
	at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:80)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
	at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:162)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
Проверяю сам сервер - отключен, включаю - отключается через пять секунд.

Проверяю java командой

/usr/bin/java -v
Unrecognized option: -v
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

В логах сервера

2017.07.09 23:22:04 org.jivesoftware.openfire.XMPPServer - Database could not be accessed
java.sql.SQLException: ConnectionManager.getConnection() failed to obtain a connection after 11 retries. The exception from the last attempt$
        at org.jivesoftware.database.DbConnectionManager.getConnection(DbConnectionManager.java:156)
        at org.jivesoftware.openfire.XMPPServer.verifyDataSource(XMPPServer.java:724)
        at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:448)
        at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:169)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
        at java.lang.Class.newInstance(Class.java:442)
        at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:105)
        at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:56)
2017.07.09 23:22:04 org.jivesoftware.openfire.XMPPServer - java.sql.SQLException: ConnectionManager.getConnection() failed to obtain a conne$
java.lang.IllegalArgumentException: java.sql.SQLException: ConnectionManager.getConnection() failed to obtain a connection after 11 retries.$
        at org.jivesoftware.openfire.XMPPServer.verifyDataSource(XMPPServer.java:734)
        at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:448)
        at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:169)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
        at java.lang.Class.newInstance(Class.java:442)
        at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:105)
        at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:56)
Caused by: java.sql.SQLException: ConnectionManager.getConnection() failed to obtain a connection after 11 retries. The exception from the l$
        at org.jivesoftware.database.DbConnectionManager.getConnection(DbConnectionManager.java:156)
        at org.jivesoftware.openfire.XMPPServer.verifyDataSource(XMPPServer.java:724)

Как-то надо специально java запускать для openfire? Или где-то еще смотреть причины отключения openfire?

 

manik207
()

Монтирование дисковых хранилищ через webDAV скриптом

Форум — Admin

Здравствуйте, подключаю через webDAV разные дисковые хранилища. Все монтирую примерно одинаковым образом. Из-под root'a

1. В /etc/fstab прописываю путь до дискового хранилища, потом директорию монтирования /mnt/disk, davfs rw,noauto,user 0 0

2. Создаю директорию для монтирования /mnt/disk

3. Монтирую командой mount /mnt/disk

4. Ввожу Username

5. Ввожу пароль

6. Всё примонтировано.

Хочу автоматизировать, указав сразу логин и пароль в строке mount /mnt/disk. Не нахожу синтаксиса (гугль не помог).

Делаю скрипт такой:

screen -dmS 1 mount /mnt/disk 
sleep 1
screen -p 0 -S mc1 -X eval 'stuff ""тут_логин_от_дискового_хранилища""\015'
sleep 1
screen -p 0 -S 1 -X eval 'stuff ""тут_пароль_от_дискового_хранилища""\015'
mount |grep disk

Синтаксис screen'a правильный, при выполнении команд по очереди вне скрипта на промежуточных этапах и логин запрашивает, и пароль. Все без кавычек, нормально. После выполнения пароля, окно screen'а закрывается.

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

df -h
df: «/mnt/disk»: Конечная точка передачи не подсоединена

ls -la /mnt
drwxrwxr-x+ 2 root root  6 июл  6 16:48 4shared
??????????? ? ?    ?     ?            ? disk
drwxrwxr-x+ 3 root root 60 июл  6 19:07 onedrive
drwxrwxr-x+ 2 root root  6 июл  6 17:12 pcloud
drwxrwxr-x+ 3 root root 91 июл  6 18:46 yandex

Т.е., если я правильно понимаю, screen где-то коцает логин или пароль, что даже директория монтажа отваливается до reboot'a.

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

 

manik207
()

TrueCrypt - как примонтировать?

Форум — Security

Здравствуйте, уважаемые.

Задача: На Centos 7.3. сделать зашифрованный файл средствами truecrypt и примонтировать его к директории /mnt, чтобы хранить на нем ценную инфу.

Что сделано.

Диск создан по мануалу с хабра, с файловой системой ext3, файл шифрованного диска лежит в /home, подключаю командой:

truecrypt --password=*** --filesystem=none --protect-hidden=no /home/dts

Проверяю подключен ли диск. Согласно

truecrypt --list
файл подключен:
1: /home/dts /dev/mapper/truecrypt1 -

Но через df -h его нет (да, я его не подключала, всё верно), войти в него нельзя «Это не каталог», открыть его нельзя, просмотр cat'ом выдает мельтешение в putty зашифрованных данных, через

ls -la /dev/mapper/
видно только, что это ссылка:
lrwxrwxrwx  1 root root       7 июл  5 19:07 truecrypt1 -> ../dm-2

Подскажите, как подключить файл к системе, чтобы на него данные можно было бы сохранить? Или он уже подключен, только я его смотрю не там (или не тем)?

 ,

manik207
()

Скрипт автомонтирования webDAV и enc

Форум — Admin

Здравствуйте, уважаемые.

Centos 7.3. Монтирую диск с шифрованием через davfs и encfs.

Монтирование в ручную проходит без ошибок командами


mount /home/user1/box

encfs /home/user/box/crypt /home/user/box.crypt

Пытаюсь примонтировать скриптом


#!/bin/sh

userhome=/home/user1
service=box
isdavmounted=$(mount | grep $service | grep davfs)
isencmounted=$(mount | grep $service | grep encfs)

if [ -n "$isencmounted" -o -n "$isdavmounted" ]; then
  #unmount
  [ -n "$isencmounted" ] && {
    fusermount -u "/${userhome}/${service}.crypt" && msg="Encfs,"
  }
  [ -n "$isdavmounted" ] && {
    umount "/${userhome}/${service}" && msg="${msg}Davfs "
  }
  if [ -n "$msg" ]; then
    notify-send -u low -i info "$service unmounting" "$msg unmouned successfuly!"
  else
    notify-send -u low -i error "$service unmounting" "Failed to unmouned $service!"
  fi
else
  #mount
  mount /${userhome}/box && {
    msg="Davfs,"
    encfs --extpass="cat ~/.encfs/$service" /${userhome}/box/crypt /${userhome}/box.crypt/ && {
      msg="${msg}Encfs "
    }
  }
  if [ -n "$msg" ]; then
    notify-send -u low -i info "$service mounting" "$msg mouned successfuly!"
  else
    notify-send -u low -i error "$service mounting" "Failed to mouned $service!"
  fi
fi


Если сетевая директория примонтирована, выполнение скрипта выдает ошибку:

/home/user1/mount.box: line 17: notify-send: команда не найдена
При этом директория остается примонтированной.

Если отмонтировать директорию umount'ом и еще раз выполнить скрипт, то директория монтируется с комментарием:

sh ~/mount.box

/sbin/mount.davfs: Warning: can't write entry into mtab, but will mount the file system anyway

/home/user1/mount.box: line 30: notify-send: команда не найдена

В чем проблема, как исправить?

 , ,

manik207
()

SuiteCRM и LDAP-аутентификация через группу

Форум — Admin

Есть настроенный openLDAP, пользователи вида uid=user в ou=People, группы вида cn=group в ou=Group.

Пользователи входят в группу посредством memberOf, т.е. в группе есть member'ы и они перечислены списком.

У каждого пользователя только в скрытых атрибутах (смотрю через phpldapadmin) можно найти атрибут memberOf и в нем перечислены все группы, member'ом которых он является.

Такая архитектура групповой аутентификации работает в Redmine и на других сервисах. Пароли верные, группы одинаковые. Пользователи в группах есть.

По suiteCRM.

Благодаря вот этой теме, настроила аутентификацию через LDAP.

Не могу настроить авторизацию только пользователей и разрешенной группы

Настройки работающей LDAP-аутентификации (без групп) выглядят так:

Включить LDAP-аутентификацию - Включено
Сервер: ldap.domen.ru
Порт: 389
DN пользователя: dc=domen,dc=ru
Параметры: пусто
Bind-атрибут: dn
Login-атрибут:uid
Членство в группе: Отключено
Аутентификация: Включена
Имя пользователя: uid=suitecrm,ou=System,ou=People,dc=domen,dc=ru
Пароль: пароль_от_пользователя
Автоматическое создание пользователей: Включено
С такими настройками аутентификация проходит на ура.

Когда включаю галочку Членство в группе, и заполняю поля:

DN группы: ou=Group,dc=domen,dc=ru
Название группы: cn=suitecrm,ou=Group,dc=domen,dc=ru
Атрибут пользователя: uid (пробовала dn)
Атрибут группы: member (пробовала memberOf)
Добавить DN пользователя - Включено

авторизоваться в Suite невозможно.

Подскажите, где не так что прописала

 , ,

manik207
()

Монтирование директории, расшаренной samba через /etc/fstab на эту же систему

Форум — Admin

Есть виртуалка с двумя демонстрационными сервисами, критичные данные которых хранятся на примонтированном через /etc/fstab сетевом диске. Сетевой диск лежит в сети, расшарен через samba.

Если (в тестовом режиме) структуру сервисов оставить такой же (основные данные вынесены на примонтированный сетевой диск), а сам сетевой диск сделать на той же виртуалке, то его автомонтирование через /etc/fstab не срабатывает.

В ручном режиме через mount – всё работает, самбовская шара монтируется в нужную директорию на эту же виртуалку.

Если сетевой диск вынести на другую виртуалку – автомонтирование работает.

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

 ,

manik207
()

Let's Encrypt сертификат на связку nginx+apache

Форум — Admin

Есть связка nginx+apache (Centos). Nginx дополнительно выступает в роли балансера, т.е. роутит запросы как на бекэнд c апачем, так и на другие машины с веб-серверами.

Нужно прикрутить сертификат Let's Encrypt к nginx, чтобы nginx слушал не только 80 порт, но и 443, и дальше перенаправлял запросы . Допконфиг для nginx такой (для переадресации на backend):

 upstream backend {
    server 192.168.1.100:8080;
    }

server {
    listen 192.168.1.100:80;
    server_name test1.domen.info www.test1.domen.info;
    server_name test2.domen.info www.test2.domen.info;
    server_name test3.domen.info www.test3.domen.info;


    error_log /var/log/backend-error.log;
    location / {
       proxy_pass http://backend 100;
       proxy_redirect off;
       proxy_set_header Host $host;
    }
}
Чтобы получить сертификат, нужно разрешить сертификационному центру создать временный файл в директории сайта. Но тут сайты лежат в директориях под апачем. Указываю, что директорию /.well-known/acme-challenge создавать в директории nginx и права ему выдаю на его корневую директорию (если я правильно понимаю синтаксис)
/usr/share/nginx/html
. Привожу этот же конфиг к виду:
 upstream backend {
server 192.168.1.100:8080;
}

server  {
   listen 192.168.1.100:80;
    server_name test1.domen.info;
    location / {
       proxy_pass http://backend;
       proxy_redirect off;
       proxy_set_header Host $host;
    }
    location ^~ /.well-known/acme-challenge {
        root /usr/share/nginx/html;
        default_type "text/plain";
        allow all;
    }
    error_log /var/log/backend-error.log;
}
server {
  listen 192.168.1.100:80;
  server_name test2.domen.info www.test2.domen.info;
  access_log /var/log/nginx/test2.domen.info.log;

  location ^~ /.well-known/acme-challenge {
       root /usr/share/nginx/html;
       default_type "text/plain";
       allow all;
       }
location / {
       proxy_pass http://backend;
       proxy_redirect off;
       proxy_set_header Host $host;
    }
    error_log /var/log/backend-error.log;
}
server {
    listen 192.168.1.100:80;
    server_name test3.domen.info;
    location / {
       proxy_pass http://backend;
       proxy_redirect off;
       proxy_set_header Host $host;
    }
    location ^~ /.well-known/acme-challenge {
       root /usr/share/nginx/html;
       default_type "text/plain";
       allow all;
       }
    error_log /var/log/backend-error.log;
}

Из внешки сайты видны.

Certbot ругается, что записать не может в директорию.

certbot certonly --webroot -w /usr/share/nginx/html -d test1.domen.info -d www.test1.domen.info -d test2.domen.info -d www.test2.domen.info -d test3.domen.info -d www.test3.domen.info
...
Failed authorization procedure. test1.domen.info (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://test3.domen.info/.well-known/acme-challenge/0k-67znEKgKl8P_Xx_U5m55mlE7wMcpOj0S9osHcASo: "<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">... 

Подскажите, что поправить в допконфиге.

 ,

manik207
()

Сертификат Let's Encrypt на два домена на одном nginx

Форум — Admin

Centos 7, nginx. К двум доменам test1.domen.info и test2.domen.info нужно получить один сертификат Let’s Encrypt. На единственный домен на сервере (domen.info) сертификат был получен через certbot. Конфиг nginx был таким:

 server {
    listen       80;
    server_name  domen.info www.domen.info;

    location / {
        root   /var/www/html;
        index  index.html index.htm;
    }

    location ^~ /.well-known/acme-challenge {
         default_type "text/plain";
         root         /var/www/html;
        }

    location = /.well-known/acme-challenge/ {
        return 404;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}
Сертификат получен запросом
certbot certonly -a webroot --webroot-path=/var/www/html -d domen.info
Для двух хостов правлю конфиг nginx. К имеющимся записям добавляю
server {
  server_name test1.domen.info www.test1.domen.info;
  access_log /var/log/nginx/test1.domen.info.log;
  location / {
    root /var/www/test1.domen.info;
    index index.htm index.html;
  }
location ^~ /.well-known/acme-challenge {
         default_type "text/plain";
         }
}

server {
  server_name test2.domen.info www.test2.domen.info;
  access_log /var/log/nginx/test2.domen.info.log;
  location / {
    root /var/www/test2.domen.info;
    index index.htm index.html;
  }
location ^~ /.well-known/acme-challenge {
         default_type "text/plain";
         }
}
До поддоменов по http достукиваюсь. При запросе создания сертификата на два домена

certbot certonly -a webroot --webroot-path=/var/www/html -d test1.domen.info -d www.test1.domen.info -d test2.domen.info -d www.test2.domen.info -d 

Центр сертификации не может проверить сайт на запись.

Failed authorization procedure. www.test1.domen.info (http-01): urn:acme:error:unauthorized :: 
The client lacks sufficient authorization :: 
Invalid response from http://www.test1.domen.info/.well-known/acme-challenge/_F_CqFNHF8DaQVtv6fhHONHVnlKvKgQvj46Q8_mO46g: "<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: www.test1.domen.info
   Type:   unauthorized
   Detail: Invalid response from
   http://www.test1.domen.info/.well-known/acme-challenge/_F_CqFNHF8DaQVtv6fhHONHVnlKvKgQvj46Q8_mO46g:
   "<html>
   <head><title>404 Not Found</title></head>
   <body bgcolor="white">
   <center><h1>404 Not Found</h1></center>
   <hr><center>"

   To fix these errors, please make sure that your domain name was
   entered correctly and the DNS A record(s) for that domain
   contain(s) the right IP address.

Пробую менять путь и синтаксис запроса

 certbot certonly --webroot -w /var/www/test1.domen.info -d test1.domen.info -d www.test1.domen.info -w /var/www/test2.domen.info -d test2.domen.info -d www.test2.domen.info 
Опробован вариант с созданием индивидуальных сертификатов для каждого сайта и указанием путей для в директорию сайта.
 certbot certonly --webroot -w /var/www/test1.domen.info -d test1.domen.info -d www.test1.domen.info -w /var/www/test2.domen.info -d test2.domen.info -d www.test2.domen.info

Синтаксис вроде правильный, ткните носом, где именно мной не дописаны разрешения?

 , ,

manik207
()

Freepbx с подключением к внешней базе данных

Форум — Admin

Устанавливаю астериск+freepbx на centos 7, базы данных использую только для freepbx (астериск без них живет), всегда на локалхосте (mariaDB 5.5). Понадобилось базы держать на отдельном сервере mysql (он в локалке на нестандартном порте).

На сервере mysql созданы две БД (aster, astercdrdb - их по умолчанию требует freepbx), пользователь с правами на эти базы, пароль. Проверяю, есть ли доступ до этих БД через подключение с Heidi. Всё доступно, пароль верен.

При установке freepbx:

 ./install
Database engine [mysql]: 192.168.1.110:33061
Database name [asterisk]: aster
CDR Database name [asteriskcdrdb]: astercdrdb
Database username [root]: aster
Database password: 5245dhdfgx
File owner user [asterisk]:
File owner group [asterisk]:
Filesystem location from which FreePBX files will be served [/var/www/html]:
Filesystem location from which Asterisk configuration files will be served [/etc/asterisk]:
Filesystem location for Asterisk modules [/usr/lib64/asterisk/modules]:
Filesystem location for Asterisk lib files [/var/lib/asterisk]:
Filesystem location for Asterisk agi files [/var/lib/asterisk/agi-bin]:
Location of the Asterisk spool directory [/var/spool/asterisk]:
Location of the Asterisk run directory [/var/run/asterisk]:
Location of the Asterisk log files [/var/log/asterisk]:
Location of the FreePBX command line scripts [/var/lib/asterisk/bin]:
Location of the FreePBX (root) command line scripts [/usr/sbin]:
Location of the Apache cgi-bin executables [/var/www/cgi-bin]:
Directory for FreePBX html5 playback files [/var/lib/asterisk/playback]:
Checking if SELinux is enabled...Its not (good)!
Reading /etc/asterisk/asterisk.conf...Done
Checking if Asterisk is running and we can talk to it as the 'asterisk' user...Done
Preliminary checks done. Starting FreePBX Installation
Checking if this is a new install...Yes (No /etc/amportal.conf file detected)
Database installation checking credentials and permissions..Error!
Invalid Database Permissions. The error was: could not find driver
Нет драйвера. Пакеты
unixodbc unixodbc-devel libtool-ltdl libtool-ltdl-devel mysql-connector-odbc 
установлены, в файле odbc.ini прописано (изначально файла не было, создан руками):
[MySQL-astercdrdb]
Description=MySQL connection to 'asterisk' database
Driver=MySQL
Server=192.168.1.110
Database=astercdrdb
Port=33061
User=aster
Password=5245dhdfgx
Socket=/var/lib/mysql/mysql.sock
option=3
При проверке коннекта до сервера mysql
echo "select 1" | isql -v MySQL-astercdrdb
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> select 1
+---------------------+
| 1                   |
+---------------------+
| 1                   |
+---------------------+
SQLRowCount returns 1
1 rows fetched
SQL> 
Драйвер подключен, но не найден. В параметре Database engine [mysql]: пробовала указывать MySQL-astercdrdb, MySQL, собственно, IP-адрес с портом...

Как правильно указать freepbx сервер с его базами данных?

 , ,

manik207
()

Группа в LDAP с объектным классом groupofnames и авторизация пользователей из этой группы

Форум — Admin

Есть сервер с Redmine 3.1.7, есть сервер OpenLDAP, установлен на Centos 7 из yum, версия 2.4.40.

Схема дерева

dc=ldap,dc=centos
  |
  |-ou=People
  |       |--cn=u1 (posixAccount)
  |       |--cn=u2 
  |
  |-ou=Group
  |       |--cn=it
  |       |--cn=hr
  |       |--cn=pr
  |
  |-ou=test
          |--cn=test1 (posixGroup)
                  |--cn=u3 (posixAccount)
Дерево создано по этой инструкции.

Задача: настроить ldap на авторизацию пользователей в зависимости от принадлежности к группе. В группе cn=it пользователи cn=u1 и cn=u2 числятся member'ами. Однако авторизоваться ни одним из них на стороннем сервисе (в моем случае, это редмайн) не могу. Путь до каталога указываю cn=it,ou=Group,dc=ldap,dc=centos.

Через phpldapadmin: если создать отдельный ou=test, в нем cn=test1 (posixGroup) и уже в нем создать пользователя cn=u3(posixAccount), и в настройках сервиса прописать полный путь до записи cn=test1,ou=test,dc=ldap,dc=centos, пользователь u3 создается на лету и может авторизоваться.

Вопрос: с какими атрибутами и классами (минимальная комплектация) нужно создать:

1. пользователя в ou=Peolpe,

2. группу в ou=Group, чтобы пользователь мог авторизоваться на сервисах в зависимости от нахождения в группе? Например, пользователям в группе it доступна авторизация в редмайне, пользователям в группе pr - в астериске, пользователями в группе hr - в crm и т.д., т.е. каждый пользователь находится более, чем в одной группе, и именно группе разрешен вход.

slapcat
...
dn: ou=People,dc=ldap,dc=centos
objectClass: organizationalUnit
ou: People
structuralObjectClass: organizationalUnit

dn: ou=Group,dc=ldap,dc=centos
objectClass: organizationalUnit
ou: Group
description: generic groups branch
structuralObjectClass: organizationalUnit

dn: cn=it,ou=Group,dc=ldap,dc=centos
objectClass: groupOfNames
cn: it
description: IT security group
structuralObjectClass: groupOfNames
member: cn=u1,ou=People,dc=ldap,dc=centos
member: cn=u2,ou=People,dc=ldap,dc=centos

dn: cn=u1,ou=People,dc=ldap,dc=centos
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
userPassword:: NDQ0
shadowLastChange: 15140
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1004
gidNumber: 1004
structuralObjectClass: account
cn: u1
homeDirectory: /home/u1
uid: u1

dn: cn=u2,ou=People,dc=ldap,dc=centos
objectClass: inetOrgPerson
userPassword:: NTU1
homePhone: 555-111-2222
mail: u5@example.com
ou: it
structuralObjectClass: inetOrgPerson
cn: u2
description: new u2
sn: u2
uid: u2

dn: ou=test,dc=ldap,dc=centos
objectClass: organizationalUnit
objectClass: top
ou: test

dn: cn=test1,ou=test,dc=ldap,dc=centos
cn: test1
gidNumber: 502
objectClass: posixGroup
objectClass: top
structuralObjectClass: posixGroup

dn: cn=u3,cn=test1,ou=test,dc=ldap,dc=centos
sn: u3
cn:: IHUz
uid: u3
userPassword:: MzMz
uidNumber: 1000
gidNumber: 502
homeDirectory: /home/users/u3
loginShell: /bin/sh
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
structuralObjectClass: inetOrgPerson 

 ,

manik207
()

Группы в домене samba и авторизация на клиентах Windows

Форум — Admin

Поднят домен на samba4 (centos 7), клиент на windows 7 введен в домен админской учёткой. Создаю пользователей домена в samba, присваиваю ему пароль

/usr/local/samba/bin/samba-tool user add user1

/usr/local/samba/bin/samba-tool user setpassword user1
Добавляю пользователя в группу для подключения пользователя к клиенту по rdp (админ подключается без добавления в группы)
/usr/local/samba/bin/samba-tool group addmembers 'Remote Desktop Users' user1
Added members to group Remote Desktop Users 
Проверяю, user1 в группе Remote Desktop Users
 /usr/local/samba/bin/samba-tool group listmembers 'Remote Desktop Users'

user1
Однако, при подключении к клиенту по rdp пользователем user1 - «Подключение было запрещено, так как учетная запись пользователя не имеет прав для удаленного входа в систему». Пароль и домен верный, для Windows группа в домене не указ? Или группа не та?

 , ,

manik207
()

Пользователь LDAP в нескольких группах

Форум — Admin

Яндекс не выдал результат, как добавить одного пользователя в несколько групп...

Есть пользователь: u0001

Есть несколько групп (как от корня, так и вложенные):

  • Group01
  • Group02
  • Group03
  • Group04
  • Group05

    ...

  • Group15

Мой вариант ldif-файла создания пользователя с одной группы:

 
dn: cn=u0001,ou=Group01,dc=ldap,dc=centos
uid: u0001
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
objectClass: inetOrgPerson
userPassword: {SSHA}cYXBZxAKZs+lHutaP4CnMyB9N7HMF58R
shadowLastChange: 15140
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1100
gidNumber: 1100
homeDirectory: /home/u0001
Как прописать при создании пользователя через ldif-файл все группы, в которые его нужно добавить, перечислять группы через запятую, перечислять в ou и как-то еще?

 , ,

manik207
()

Два nginx на одном хосте, один - к веб-серверу, другой - к passenger’у redmine. Проблема с правами

Форум — Admin

Здравствуйте.

На Сентос 7 стоит связка nginx+apache. Запрос принимает nginx на 80 порт, обрабатывает, и передает apache на 88 порт.

На апаче стоит несколько сайтов вида subdomain.domain.ru, перенаправление работает.

На этом же компе установлен ruby и redmine с passenger’ом и nginx. Nginx запускается на порту 81, доменное имя для redmine прописано в его настройках (redmine.domain.ru), пути верные, управление происходит другими командами, нежели основной nginx.

Предполагаю, что два nginx не пересекаются.

В основной nginx добавлено перенаправление в доп.конфиг, что при обращении по redmine.domain.ru, запрос отправлять на 81 порт. Установка редмина прошла без ошибок, перезапуск обоих nginx и apache тоже без ошибок, но при запросе в браузере - 403 Forbidden.

Второй nginx и сам redmine установлен в директорию /opt, пользователь redmine - владелец директории redmine. После рекурсивной смены владельца директории redmine на пользователя nginx - та же ошибка. Файрвол открыт и для 81 порта, при запросе redmine.domain.ru:81 - так же forbidden.

Точно также настроенный redmine с passenger'ом и nginx (без основного nginx) на другом хосте работает.

Как настроить права, чтобы доступ до redmine был?

Основной конфиг nginx

/etc/nginx/nginx.conf

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log crit;
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;
    server_names_hash_max_size 2048;
    server_names_hash_bucket_size 512;

    server_tokens off;
    client_max_body_size 100m;
    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;
    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;
gzip on;
  gzip_min_length  1100;
  gzip_buffers  4 32k;
  gzip_types    text/plain application/x-javascript text/xml text/css;
  ignore_invalid_headers on;
  client_header_timeout  3m;
  client_body_timeout 3m;
  send_timeout     3m;
  connection_pool_size  256;
  client_header_buffer_size 4k;
  large_client_header_buffers 4 64k;
  request_pool_size  4k;
  output_buffers   4 32k;
  postpone_output  1460;

  # Cache most accessed static files
  open_file_cache          max=10000 inactive=10m;
  open_file_cache_valid    2m;
  open_file_cache_min_uses 1;
  open_file_cache_errors   on;
   include /etc/nginx/conf.d/*.conf;
}
Перенаправление на redmine.domain.ru
/etc/nginx/conf.d/redmine.conf

upstream redmine {
    server 127.0.0.1:81;
    }

server {
    listen 192.168.1.101:80;
    server_name redmine.domain.ru;
    error_log /var/log/redmine-error.log;
    location / {
       proxy_pass http://redmine;
       proxy_redirect off;
       proxy_set_header Host $host;
    }
}

И конфиг nginx на passenger’е

/opt/nginx/conf/nginx.conf

worker_processes  1;
events {
    worker_connections  1024;
}
http {
passenger_root /usr/local/lib/ruby/gems/2.3.0/gems/passenger-5.0.30;
    passenger_ruby /usr/local/bin/ruby;
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       81;
        server_name  redmine.domain.ru;
        passenger_enabled on;
        root /opt/redmine-3.1.7/public;
        }
}

 , ,

manik207
()

Создание виртуальной машины kvm в директории home

Форум — General

Здравствуйте, уважаемые эксперты.

Осваиваю KVM, возник вопрос.

Есть пользователь user, добавлен в sudoers. Действия выполняю через sudo, подключаюсь к консоли управления через ssh X11, в консоли запускаю virt-manager.

Начинаю установку виртуальной машины (в графическом режиме). При выборе места создания виртуальной машины есть несколько вариантов: /, /var/lib/libvirt/images, /root.

Мне нужно разместить создаваемую виртуальную машину в /home/user.

Выбираю в ручную директорию /home/user - выдает «ошибка создания пула: Не удалось определить пул: Ошибка XML: name /home/user cannot contain ‘/’

Почему нужно виртуалку разместить в /home:

df -h
Файловая система              Размер Использовано  Дост Использовано% Cмонтировано в
/dev/mapper/centos-root     50G         7,9G   43G           16% /
/dev/mapper/centos-home   400G          33M  400G            1% /home
Запускаю сам virt-manager от user - запускается, открывает графическую оболочку, но пишет ошибку подключения.

Вопрос: можно разместить создаваемую виртуалку в директории /home/user. Если да, то как это сделать.

 , , ,

manik207
()

Восстановление mysql-базы из поломанных бинарных логов

Форум — Admin

Здравствуйте, уважаемые эксперты.

Накрылся сервер mysql. Накрылся - закончилось место на диске из-за пухлых логов, indata и бинарных логов. Дамп есть от самого начала включения бинарных логов.

Задача - поднять все базы данных на новом сервере.

Centos 7, maria5.5

Логи сначала конвертировала в sql-файл командой

 mysqlbinlog -s -D --start-datetime="2016-12-13 17:29:00" --stop-datetime="2017-01-15 18:00:00" -t mysql-bin.000001 > repair20170115.sql
-t должно потянуть все остальные части логов. Не потянул, в итоге оставила команду
 mysqlbinlog -s -D mysql-bin.000001 > repair20170115-1.sql 
и все 13 частей перегнала. Загрузила дамп, выполнила sql-файлы из логов
 mysql -uroot -pPassword < repair20170115-1.sql
и так 13 раз. Ошибки появились на 9 части. Сайты, зависимые от этих баз, включились, но отказались распознавать админские пароли. Посмотрела в сами файлы-sql - там только фиксация времени и всё… При том что файл логов (стандартный, не аварийный) весит 100М, а sql-файл - порядка 8М, стало ясно, что он пустой)

Нашла такой вариант изъятия инфы:

 mysqlbinlog mysql-bin.000001 > 1.sql 
, сервер mysql всё равно отключен. Теперь изъятая из одного бинарного файла инфа весит ~195МБ. Это если файл «нормальный». Оказалось, что сервер три раза завершал работу аварийно и логи 6, 9 и 13 части неполные. Поставила новый сервер, применяю sql-файлы к загруженным базам. На 6 части -
 ERROR 1032 (HY000) at line 509660: Can't find record in 'job_queue'
В самом коде в строке 509660 ничего особенного, это первая треть файла.

Нашла разницу в заголовке и окончании «поломанного» файла: Так выглядит начало и окончание правильного sql-файл из бинарного лога.

 /*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#161213 19:03:56 server id 1  end_log_pos 245 	Start: binlog v 4, server v 5.5.50-MariaDB created 161213 19:03:56 
BINLOG '
...
'/*!*/;
# at 105413866
#161216  7:59:51 server id 1  end_log_pos 105413893 	Xid = 1144333
COMMIT/*!*/;
# at 105413893
#161216  7:59:51 server id 1  end_log_pos 105413936 	Rotate to mysql-bin.000004  pos: 4
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

А так - поломанный, аварийно завершенный лог: (часть 6-ая, mysql-bin.000006)

 /*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#161220 23:36:50 server id 1  end_log_pos 245 	Start: binlog v 4, server v 5.5.50-MariaDB created 161220 23:36:50
# Warning: this binlog is either in use or was not closed properly. (Вот эта строка меня смутила)
BINLOG '
...(тут много-много записей, далее - окончание лога)
'/*!*/;
# at 48701294
#161222  5:26:33 server id 1  end_log_pos 48701321 	Xid = 3019671
COMMIT/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
Привела шестой sql-файл к виду
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#161220 23:36:50 server id 1  end_log_pos 245 	Start: binlog v 4, server v 5.5.50-MariaDB created 161220 23:36:50
BINLOG '
...
'/*!*/;
# at 48701294
#161222  5:26:33 server id 1  end_log_pos 48701321 	Xid = 3019671
COMMIT/*!*/;
# at 48701321
#161222  5:26:33 server id 1  end_log_pos 48701364 	Rotate to mysql-bin.000007  pos: 4  
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
Закинула всё это на новый сервер, распакованный по новой дамп. На шестой части - тоже самое:
ERROR 1032 (HY000) at line 509660: Can't find record in 'job_queue'
Какие видны варианты?

 , , ,

manik207
()

Как подключиться к виртуальной машине на KVM через VNC

Форум — General

Здравствуйте, уважаемые эксперты.

ОС: Centos 7

Установила KVM, создала машину, тоже Centos 7.

Проверяю, машина создалась и работает.

 [root@local ~]# virsh list
 ID    Имя                         Статус
----------------------------------------------------
 1     vm1                            работает

Хочу подключиться к ней,

 virsh vncdisplay vm1

127.0.0.1 

Порт на хосте в firewalld открыла 5900/tcp

 firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eno1
  sources:
  services: ssh
  ports: 5900/tcp
  protocols:
  masquerade: no
  forward-ports:
  sourceports:
  icmp-blocks:
  rich rules:
nmap с хоста говорит, что порт 5900 открыт
 nmap localhost

Starting Nmap 6.40 ( http://nmap.org ) at 2017-01-07 22:42 MSK
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000061s latency).
Other addresses for localhost (not scanned): 127.0.0.1
Not shown: 998 closed ports
PORT     STATE SERVICE
111/tcp  open  rpcbind
5900/tcp open  vnc

Проверяю nmap с локальной сети 5900 порт - закрыт. И VNC не может подключиться к виртуалке. Подскажите, что я не так делаю?

 , , ,

manik207
()

Драйверы для ESXi 5.5 на сетевой адаптер. Где искать, кроме гугла?

Форум — Admin

Здравствуйте, Уважаемые эксперты.

Есть несколько виртуалок, на VMware Workstation 9 и 12, решено поднять ESXi 5.5 (как самый стабильный, тут возможны варианты), и мигрировать на него виртуалки. В режиме теста ESXi установлен на USB и протестирован на двух ноутах, Samsung и Lenovo, и собственно, на сервере, на котором сейчас стоят виртуалки.

При загрузке ESXi выдает одинаковую ошибку на всех компах - No compatible network adapter found. Please consult the product's Hardware Compatibility Guide for a list or supported adapters.

Warning: DHCP lookup failed. You may be unable to access this system until you customise its network configuration.

Решение второй части ошибки в инете я нашла, нужно перейти в настройки сетевого адаптера и настроить сеть. А потом Restart Management Network.

После настройки сети не могу выйти до меню перезагрузки, система предлагает перезагрузить весь хост для сохранения изменений. И в Network Adapters пусто. После сохранения изменений и перезагрузки - ошибка на месте.

Т.е. нет драйверов для сетевого интерфейса. По мануалам нашла, что нужно интегрировать драйвера в сам дистрибутив ESXi, нашла два варианта. В первом, драйвер добавить в виде файла vib, но откуда его взять именно на сетевой адаптер? На сайте самсунга, драйверы исключительно на Win...

Во втором варианте, скачать с сайта VMware https://my.vmware.com/web/vmware/info/slug/datacenter_cloud_infrastructure/vm..., но опять-таки, как из всего списка выбрать нужные?

Подскажите, какие тут варианты?

 , , , ,

manik207
()

Проверка авторизации openLDAP через Redmine и Openfire

Форум — General

Уважаемые эксперты, прощу помощи.

Как проверить аутентификацию через openldap?

Первый раз настраиваю openLDAP (на Centos 7), настраивала для авторизации через openLDAP redmine и openfire. Ни в одном сервисе не получается залогиниться через ldap.

1. Проверка через redmine Проверяла настройку с другого Centos, через

getent passwd ldap1
, где ldap1 - это пользователь, созданный на сервере, мигрированный в ldap. С Centos-клиента могу авторизоваться на сервере через
 su - ldap1

Теперь, собственно, к Redmine. Стоит на другой машине в локальной сети, на самой машине прописала в

 /etc/hosts 
локальный IP сервера с openLDAP и имя локального домена local.domen

В редмине в режимах аутентификации прописываю

  • имя профиля - openLDAP
  • Компьютер - local.domen
  • Порт - 389 (на сервере открыт, на редминовский машине - тоже)
  • Учетная запись - ldap1
  • Пароль - пароль от пользователя ldap1, который был задан на сервере openLDAP перед миграцией
  • BaseDN - dc=local,dc=domen
  • Атрибут Login - sAMAccountName
  • Имя - givenName
  • Фамилия - sN
  • email - mail

После этого провожу проверку - Редмин пишет «Подключение успешно установлено». Пробую залогиниться тем же ldap1 - «Неправильное имя пользователя или пароль».

2. Проверка через авторизацию openfire.

Устанавливаю openfire, имя сервера - openfire, прописываю сервер авторизации - local.domen, Base DN - dc=local,dc=domen, логин - cn=Manager,dn=local,dc=domen, пароль от него, тест настроек успешен, администратором назначаю ldap1, проверка - успешна после ввода пароля. В админку openfire захожу под ldap1, вижу всех пользователей ldap.

А вот авторизоваться клиентом не могу - ни один логин/пароль от ldap не подходит - invalid username or password. В качестве сервера ввожу имя openfire, в hosts прописан IP openfire. Порт на openfire 5222 открыла. На сервере в

 all.log 
вот такое выводит после подключений:

2016.12.23 13:49:20 WARN  [socket_c2s-thread-3]: org.jivesoftware.openfire.nio.ConnectionHandler - Closing connection due to exception in session: (0x000000E3: nio socket, server, /192.168.1.**:3273 => /192.168.1.***:5222)
javax.net.ssl.SSLHandshakeException: SSL handshake failed.
        at org.apache.mina.filter.ssl.SslFilter.messageReceived(SslFilter.java:487)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765)
        at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:109)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:410)
        at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:710)
        at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:664)
        at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:653)
        at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:67)
        at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1124)
        at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: javax.net.ssl.SSLException: Received fatal alert: certificate_unknown
        at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
        at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1666)
        at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1634)
        at sun.security.ssl.SSLEngineImpl.recvAlert(SSLEngineImpl.java:1800)
        at sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:1083)
        at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:907)
        at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:781)
        at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624)
        at org.apache.mina.filter.ssl.SslHandler.unwrap(SslHandler.java:728)
        at org.apache.mina.filter.ssl.SslHandler.unwrapHandshake(SslHandler.java:666)
        at org.apache.mina.filter.ssl.SslHandler.handshake(SslHandler.java:552)
        at org.apache.mina.filter.ssl.SslHandler.messageReceived(SslHandler.java:351)
        at org.apache.mina.filter.ssl.SslFilter.messageReceived(SslFilter.java:468)
        ... 15 more

Судя по логам, подключение не прошло из-за SSL, ничего не настраивала, все из коробки, в качестве решения гугл пердложил проверить версию java и 7-ю обновить на 8,

 java -version

openjdk version "1.8.0_111"

OpenJDK Runtime Environment (build 1.8.0_111-b15)

OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode) 
Проверила на сервере ldap - пользователь есть, в ldap’е он есть, вывод команды дает следующее
 ldapsearch -x cn=ldap1 -b dc=local,dc=domen
 # extended LDIF

# ldap1, People, local.domen
dn: uid=ldap1,ou=People,dc=local,dc=domen
uid: ldap1
cn: ldap1
sn: ldap1
mail: ldap1@local.domen
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:: e2NyeXB0fSQ2JHdNdWtqcm5uJC96cGJtL1FzM0FRVDJ4NHNnMC5vQ3B5WkdQUllJa3NMWFpTSWwucEZnUjJzRWwwUW5OT3VwQzdSb1RJbkpzUXZJdVJ3bXlHUi41eEZONkRwR2V4RG8v
shadowLastChange: 17154
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1003
gidNumber: 1003
homeDirectory: /home/ldap1

# ldap1, Group, local.domen
dn: cn=ldap1,ou=Group,dc=local,dc=domen
objectClass: posixGroup
objectClass: top
cn: ldap1
userPassword:: e2NyeXB0fXg=
gidNumber: 1003

# search result
search: 2
result: 0 Success

# numResponses: 3 
Т.е. получается пользователь один, но в разных группах у него разные пароли? Или пользователей все-таки два? По этому параметру
 userPassword:: e2NyeXB0fXg=
нашла только http://www.openldap.org/lists/openldap-software/200304/msg00083.html, из чего поняла, что какие-то пароли хешируются и эти аккаунты работают, а пароли со значением e2NyeXB0fXg= имеют не работающие аккаунты

Итого, вопроса три:

1. Редмин не распознает пользователей ldap, как проверить, где ошибка?

2. Openfire не распознает пользователей ldap через клиент, а вот через веб-интерфейс в админ-панели управления сервером логинит и видит всех пользователей ldap. Как починить?

3. Два пользователя (ldap1) в ldap в разных группах. Это норма или мои кривые руки? Пароли разные (судя по хешам), может это влиять на работу клиентов (redmine и openfire)? Если да, то как это исправить?

P.S. Есть более простой способ проверки правильной настройки openLDAP? :)

 , , ,

manik207
()

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