当前位置:网站首页>DrQueueOnRails 集成 LDAP 验证
DrQueueOnRails 集成 LDAP 验证
2022-06-12 10:34:00 【星哥玩云】
在做集群渲染管理软件时候遇到 LDAP 问题,DrQueueOnRails 是 DrQueue 的 ruby web 接口,只有 LDAP 一种验证方式,就有了下面的安装步骤。
目录
- 1 安装 LDAP
- 2 修改 LDAP 配置文件
- 3 修改 slapd.conf
- 4 ldap_bind: Invalid credentials (49) 错误问题解决
安装 LDAP
yum install openldap-servers openldap-clients修改主机名:
hostname master.local.com
sysctl -w kernel.hostname=master.local.com
echo '192.168.8.123 master.local.com master' >> /etc/hosts
sed -i 's/HOSTNAME=.*$/HOSTNAME=master.local.com/g' /etc/sysconfig/network修改 LDAP 配置文件
vim /etc/openldap/ldap.conf
BASE dc=local.com
URI ldap://192.168.8.123
cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown -R ldap:ldap /var/lib/ldap修改 slapd.conf
vim /etc/openldap/slapd.conf
找到并修改如下内容:
suffix "dc=local.com"
rootdn "cn=master,dc=local.com"
rootpw geek #ldapadd 时候要用的密码,中间用俩 TAB 键测试配置文件是否正确:
slaptest -u -f /etc/openldap/slapd.conf
config file testing succeeded创建待验证的用户:
useradd geek
echo '123456' | passwd --stdin geek安装迁移工具:
yum -y install migrationtools会把一些迁移用户相关信息的脚本放在 /usr/share/migrationtools 下 修改迁移脚本:
vim /usr/share/migrationtools/migrate_common.ph
# Default DNS domain
$DEFAULT_MAIL_DOMAIN = "local.com";
# Default base
$DEFAULT_BASE = "dc=local.com";创建基本数据文件:
cd /usr/share/migrationtools/
./migrate_base.pl > base.ldif编辑 base.ldif 文件,删除其它条目,保留如下信息:
dn: dc=local.com
dc: local.com
objectClass: top
objectClass: domain
dn: ou=People,dc=local.com
ou: People
objectClass: top
objectClass: organizationalUnit
dn: ou=Group,dc=local.com
ou: Group
objectClass: top
objectClass: organizationalUnit创建用户数据库文件:
./migrate_passwd.pl /etc/passwd ./user.ldif编辑 user.ldif 文件,只保留 geek 用户相关条目:
dn: uid=geek,ou=People,dc=local.com
uid: geek
cn: geek
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}$6$tFEuTisK$PA0x.Ib1nOmiafK4wedqTnT06nQGJxVnzzpHQYu1O8SPXy5o32KkXKzzkn3w1LM0vpauFgjDQ4FudpnoS2t6O.
shadowLastChange: 15907
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 500
gidNumber: 500
homeDirectory: /home/geek创建用户组数据库文件:
./migrate_group.pl /etc/group groups.ldif编辑 groups.ldif 文件,只保留 geek 组的条目:
dn: cn=geek,ou=Group,dc=local.com
objectClass: posixGroup
objectClass: top
cn: geek
userPassword: {crypt}x
gidNumber: 500启动服务:
/etc/init.d/slapd restart
chkconfig slapd on依次添加 base.ldif、user.ldif、groups.ldif 到 LDAP 中:
ldapadd -D "cn=master,dc=local.com" -W -x -f base.ldif
Enter LDAP Password: # 输入在 /etc/openldap/slapd.conf 中 rootpw 项的值.
ldap_bind: Invalid credentials (49)ldap_bind: Invalid credentials (49) 错误问题解决
如果出现如上错误,检查密码是否对应。或者重新生成 slapd.d 下的配置数据:
rm -fr /etc/openldap/slapd.d/*
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
chown -R ldap:ldap /etc/openldap/slapd.d/
/etc/init.d/slapd restart这样就没有问题了。
编辑 DrQueueOnRails 目录中 config 下的 env 文件:
vim .../DrQueueOnRails/config/environment.rb
# LDAP variables
ENV['LDAP_TREEBASE'] ||= "dc=local.com"
ENV['LDAP_HOST'] ||= "master.local.com"
ENV['LDAP_PORT'] ||= "389"
ENV['LDAP_FILTER'] ||= "uid"
ENV['LDAP_ATTRS'] ||= "cn"
# user status, quota (disk space in GB), job priorities
ENV['USER_STATUS'] ||= "demo,student,advanced,admin,ldapuser1" #在这里添加新的用户
ENV['USER_QUOTA'] ||= "0.5,5,15,35,55,55" # 用户的磁盘配额
ENV['USER_PRIO'] ||= "100,500,750,1000,2000,2000" # 用户执行任务时候的优先级
ENV['USER_ADMIN_PW'] ||= "password"改完重新 db 一下。 在数据库中添加 ldap 用户记录:
mysql -uroot -p
use DrQueueOnRails;
insert into profiles(name,email,avatar,ldap_account,status,accepted) values('Geek Account','[email protected]','NULL','geek','geek','0');重启 apache,就可以用 ldap 用户登录了。
边栏推荐
- On 3dsc theory and application of 3D shape context feature
- Download Notepad++
- Common regular expressions
- 2022京東618預售定金怎麼退?京東618定金能退嗎?
- Malicious code analysis practice - lab03-03 Exe basic dynamic analysis
- The solution of Lenovo notebook ThinkPad t440 WiFi dropping all the time
- Malicious code analysis practice -- using apatedns and inetsim to simulate network environment
- 数组,整型,字符变量在全局和局部的存在形式
- Introduction to encoding formats (ASCII, Unicode and UTF-8)
- properties中文乱码
猜你喜欢

M-arch (fanwai 11) gd32l233 evaluation PWM driven active buzzer

Flex layout

M-arch (fanwai 12) gd32l233 evaluation -cau encryption and decryption (tease Xiaobian)

properties中文乱码

Telecommuting with cpolar (2)

基于QT的旅行查询与模拟系统

Set SVG color

Malicious code analysis practice - use IDA pro to analyze lab05-01 dll

Vite Basics

深度学习与CV教程(14) | 图像分割 (FCN,SegNet,U-Net,PSPNet,DeepLab,RefineNet)
随机推荐
Several methods of importing ThinkPHP
AcWing 132. 小组队列(队列模拟题)
Golang start service background daemon
JS string combination
The solution of Lenovo notebook ThinkPad t440 WiFi unable to connect to the Internet
FPGA-按键实验
Malicious code analysis practice - lab03-01 Exe basic dynamic analysis
深度学习与CV教程(14) | 图像分割 (FCN,SegNet,U-Net,PSPNet,DeepLab,RefineNet)
Building 64 bit wampserver and DVWA in win7 virtual machine
Error during session start; please check your PHP and/or webserver log file and configure your PHP
Solution to the problem that the applet developer tool cannot input simplified Chinese
How to refund the pre-sale deposit of JD 618 in 2022? Can JD 618 deposit be refunded?
A snare - Cookie spoofing
PHP Apple internal purchase callback processing
【CF1392D】D. Omkar and Bed Wars(环形与后效性dp)
Several solutions across domains
How to play the 2022 Taobao 618 Super Cat Games? Playing skills of 2022 Taobao 618 Cat Games
Find the location of a function in PHP
PHP can load different new data methods for each refresh
PHP maximum balance method to solve the problem that the sum of the final percentages is not equal to 100