Tag: openldap

将application.properties外部化为docker env

我正在开发一个使用spring-boot和Docker的应用程序。 出于安全原因,我不想使用更多的application.properties,只使用environnementvariables。 如果您有最佳做法,我将不胜感激。 这是我的docker-compose.yml snipet version: "2.1" services: app_users: image: images/app_users container_name: app_user_ctn build: context: ../.. dockerfile: docker/dev/Dockerfile ports: – "30333:8080" external_links: – mysql environment: SPRING_DATASOURCE_URL: jdbc:mysql://mysql/myDB?autoReconnect=true SPRING_DATASOURCE_USERNAME: mysqluser1 SPRING_DATASOURCE_PASSWORD: mysqlpwsword SPRING_DATASOURCE_DRIVER_CLASS_NAME: com.mysql.jdbc.Driver LDAP_PASSWORD: ldapPswd LDAP_URLS: ldap://myServer:389 LDAP_USERNAME: cn=admin,dc=com,dc=expl 当我向ldap发出请求时,我得到NulPointerException,因为ldap environnementvariables没有初始化。 当我使用application.yml它的作品。 … spring: ldap: password: ldapPswd urls: ldap://myServer:389 username: cn=admin,dc=com,dc=expl …. 你有什么想法吗? 最好的祝福

ldap:给用户search/读取权限

我只是为了testing目的而configuration一个本地ldap服务,所以我并不在乎ldap的安全性。 为此,我使用docker实例( osixia )来部署一个已经configuration好的 ldap服务,该服务正在运行,我也设法插入一些用户。 现在,我插入的用户不能进行search,甚至看到ldap树(只有admin用户),我想改变他们的权限,但在互联网上的所有文件说改变slapd.conf文件,并根据关于ldap的osixia容器的文档说: 不要编辑slapd.conf,不要使用它。 我读它主要是因为configuration不再支持通过该文件,但与ldapmodify / ldapadd / ldapdelete命令。 我创build了这样的用户: dn: uid=utest,ou=QA,dc=example,dc=com objectClass: posixAccount objectClass: top objectClass: inetOrgPerson objectClass: pwdPolicy objectClass: MyCustomClass gidNumber: 65531 sn: utest homeDirectory: /home/utest loginShell: / bin/bash uidNumber: 25548 pwdAttribute: 2.5.4.35 pwdAllowUserChange: TRUE pwdInHistory: 0 cn: utest pwdMaxFailure: 0 audio: 3 pwdMaxAge: 0 pwdLockout: TRUE uid: utest pwdMustChange: […]

在禁用通过authconfig重新启用tls之后,openldap会在客户端上运行身份validation

在我的docker openldap服务器和客户端容器上工作时遇到一个奇怪的问题。 要启用ldap身份validationtls我必须先通过authconfig禁用它,然后重新启用。 我也禁用了cachinglogin。 如果我不先禁用tls,只执行第二个命令,那么从sshlogin是不成功的 $ docker exec -t datanode1 bash -c 'authconfig –enableldap –enableldapauth –ldapserver="kerbldap.dkdocker.com" \ –ldapbasedn="dc=dkdocker,dc=com" –enablesssd –enablesssdauth –enableldaptls –enablemkhomedir –update' $ ssh dhiren@localhost -p 2224 dhiren@localhost's password: Permission denied, please try again. dhiren@localhost's password: $ docker exec -t datanode1 bash -c 'authconfig –disableldaptls –update' $ docker exec -t datanode1 bash -c 'authconfig […]

在Docker容器中的OpenIDap 2.4

我在docker集装箱内设置了一个openldap服务器(slapd),我只带了最新的centos镜像(标签:latest,centos7,7, image here 然后我安装了以下软件包: OpenLDAP的的服务器,2.4.44-5.el7.x86_64 OpenLDAP的-2.4.44-5.el7.x86_64 OpenLDAP的客户机 – 2.4.44-5.el7.x86_64 OpenLDAP的-devel的-2.4.44-5.el7.x86_64 然后用/usr/sbin/slapd -F /etc/openldap/slapd.d/启动服务 然后我试图添加域和root用户到ldapconfiguration使用这个ldif文件(db.ldif) dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcSuffix olcSuffix: dc=mydomain,dc=com dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootDN olcRootDN: cn=myadminuser,dc=mydomain,dc=com dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootPW olcRootPW: {SSHA}blablablabla 然后当我运行ldapmodify -Y EXTERNAL -H ldapi:/// -f db.ldif 它引发了这个ldap_sasl_interactive_bind_s: Can't contact LDAP server (-1) 我看到端口是开放的,因为telnet可以连接到它,实际上从另一台机器上做ldapsearch工作ldapsearch -h $myserver -p […]

ldapadd在默认configuration中给出“没有全局优越的知识”

背景: 我在DigitalOcean液滴上安装了Prosody XMPP服务器和Kaiwa web客户端。 Kaiwa有一个使用Docker的单击式部署到DO-droplet工具,我首先尝试了,但是它没有工作 – 可能是因为我使用了最小512MB的DO VPS,而且它的内存耗尽了一半的Docker图像开始。 我擦了所有这些图像,为我的液滴做了一个1GB的交换文件,现在正在按照(build议) Kaiwa GitHub自述文件进行“手动”安装 – 这本质上是拉和configuration四个Docker镜像: postgresql , slapd , kaiwa-server ,和kaiwa 。 设置PostgreSQL映像并不麻烦,而且我遇到了LDAP问题。 问题: 以下是configurationLDAP Docker镜像的说明: $ docker pull nickstenning/slapd $ docker run -d \ –name ldap \ -p 389:389 \ -e LDAP_DOMAIN=myorga \ -e LDAP_ORGANISATION=MyOrganisation \ -e LDAP_ROOTPASS=mypassword \ nickstenning/slapd $ wget https://raw.githubusercontent.com/digicoop/kaiwa-server/master/users.ldif $ ldapadd -h […]

在一个Docker镜像中,“Slapd stop”成功,但slapd仍在运行

我正在尝试使用自定义模式创build一个openLDAP docker镜像,并且在修改它之前我想要一个可用的LDAP服务。 我通过在dockerfile中安装slapd和ldap-utils在我的docker镜像中: RUN DEBIAN_FRONTEND=noninteractive apt-get install -y slapd ldap-utils 此时,当我在一个新的容器中打开bash时, service slapd status或/etc/init.d/slapd status输出“slapd未运行”。 事实上,policy-rc在安装包之后拒绝启动的执行。 那么,没问题, service slapd start返回确定,并启动slapd服务。 我可以在我的LDAP中search,修改它,一切都很好。 问题来了,当我想重新启动slapd服务。 service slapd restart或service slapd force-reload或service slapd stop和service slapd start都在“开始”命令失败。 “停止”命令返回OK。 但是,这次, service slapd status返回“slapd正在运行”。 另外,我仍然可以在我的LDAP中search。 为了更多地了解发生了什么,我尝试使用debug选项启动slapd服务,如下所示: slapd -h 'ldap:/// ldapi:///' -g openldap -u openldap -F /etc/ldap/slapd.d -d stats 不幸的是,这个挂在“slapd开始”,并没有完成。 谢谢你的帮助 :)

如何在Dockerfile中停止slapd?

我尝试用slapd和Dockerfile构build我自己的Docker容器。 安装slapd是好的,然后我需要停止slapd为了添加一个自定义的数据库。 为此,我需要在非运行的slapd上运行slapadd命令。 尽pipe如此, RUN pkill slapd产生以下错误: Step 7 : RUN service slapd start ; ldapadd -Y EXTERNAL -H ldapi:/// -f xxx.ldif —> Using cache —> 53e1e1a59517 Step 8 : RUN pkill slapd —> Running in efc0058a4bfe The command '/bin/sh -c pkill slapd' returned a non-zero code: 1 你知道为什么,怎样才能停止与Dockefile妥善slapd ?

在docker中使用back-sql进行slapd只检索一个对象类的属性映射

当我尝试使用SLAPD在Docker中设置LDAP服务器并使用示例数据库将其连接到PostgreSQL Docker时,只加载第一个对象类的属性映射。 以下日志生成: ldaptest_ldap_1 | 57938399 backsql_load_schema_map(): oc_query "SELECT id,name,keytbl,keycol,create_proc,delete_proc,expect_return FROM ldap_oc_mappings" ldaptest_ldap_1 | 57938399 objectClass: id="1" name="inetOrgPerson" keytbl="persons" keycol="id" create_proc="SELECT create_person()" create_keyval="" delete_proc="DELETE FROM persons WHERE id=?" expect_return="0"create_hint="" ldaptest_ldap_1 | 57938399 backsql_load_schema_map(): objectClass "inetOrgPerson": ldaptest_ldap_1 | keytbl="persons" keycol="id" ldaptest_ldap_1 | 57938399 create_proc="SELECT create_person()" ldaptest_ldap_1 | 57938399 delete_proc="DELETE FROM persons WHERE id=?" ldaptest_ldap_1 | 57938399 […]

openldap + kerberos – 无法到达任何境界的KDC

我在一个centos虚拟机(使用boot2docker虚拟机运行)中有一个ldap服务器+ kerberos安装程序。我正在尝试将它们用于我的Web应用程序身份validation(从主机 – 我的macbook)。 对于身份validation,我需要使用“GSSAPI”机制,而不是简单的绑定。 “简单的绑定”是完美的,但“GSSAPI”的方法是行不通的。 每当我尝试“ldapwhoami”命令(我运行'kinit'之前运行ldapwhoami,以确保我有有效的kerberos TGT),我收到以下错误: ldap_sasl_interactive_bind_s: Local error (-2) additional info: SASL(-1): generic failure: GSSAPI Error: Miscellaneous failure (see text (unable to reach any KDC in realm DEV.EXAMPLE.COM, tried 1 KDC) 请注意,LDAP服务器和Kerberos服务器端工作正常,意味着我testing了他们与像ldapsearch“ldapwhoami”在centos虚拟机,我有我的ldap服务器+ kerberos设置,它的工作正常。 我能够看到适当的输出。 我只有当我从我的笔记本电脑(客户端)尝试相同的命令时出现错误(以上错误)。 注:即使我从我的笔记本电脑创build主机主机(host / mymacbook.dev@DEV.EXAMPLE.COM),并使用'kadmin'将其添加到我的本地krb5.keytab文件。 以下是我的客户端configuration: Client(macbook)中的/etc/krb5.conf文件: [libdefaults] default_realm = DEV.EXAMPLE.COM ticket_lifetime = 24000 dns_lookup_realm = false dns_lookup_kdc = […]

如何在启动时加载LDAPdocker容器数据

我想在Docker容器上有一个LDAP服务器,我已经使用dinkel / openldap , osixia / openldap和muzili / ldap docker镜像,到目前为止连接和第一次configuration都没问题 。 我的问题是:尽pipe我装载了容器的/ var / lib / ldap&/ etc / ldap,但在停止,杀死或删除(安全删除,没有-v的docker rm)ldap容器之前总是需要备份,失利。 它似乎并没有通过所有的configuration文件,因为它也需要在开始时的数据导入。 我想我可能会遇到docker集装箱和他们的卷安装的一些问题,但其他容器安装是成功的,它似乎只有一个问题与LDAP容器。 有什么解决scheme,使其工作?(configuration在启动时通过读取挂载的文件夹,而不是丢失的数据?)