ldap快速搭建步骤版

步骤版:

==================================服务器的设置=======================================
yum install -y openldap openldap-servers openldap-clients openldap-devel
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      
sed -ri ‘s/(suffix.*)"dc=my-domain,dc=com"/\1"dc=youyuan,dc=com"/g‘ /etc/openldap/slapd.conf && sed -ri ‘s/(rootdn.*)"cn=Manager,dc=my-domain,dc=com"/\1"cn=admin,dc=youyuan,dc=com"/g‘ /etc/openldap/slapd.conf && sed -ri ‘s/# (rootpw.*)secret/\112345678/g‘ /etc/openldap/slapd.conf

sed -i ‘/local7.*/a\#by openldap\nlocal4.*          /var/log/ldap.log‘ /etc/rsyslog.conf && service rsyslog restart

service slapd start && rm -rf /etc/openldap/slapd.d/* && slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d && chown -R ldap:ldap /etc/openldap/slapd.d/* && service slapd restart

yum -y install migrationtools && sed -i ‘s/padl/youyuan/g‘ /usr/share/migrationtools/migrate_common.ph
/usr/share/migrationtools/migrate_base.pl >/tmp/base.ldif ;; /usr/share/migrationtools/migrate_passwd.pl /etc/passwd >/tmp/passwd.ldif ;; /usr/share/migrationtools/migrate_group.pl /etc/group >/tmp/group.ldif

ldapadd -x -D "cn=admin,dc=youyuan,dc=com" -w 12345678 -f /tmp/base.ldif
ldapadd -x -D "cn=admin,dc=youyuan,dc=com" -w 12345678 -f /tmp/passwd.ldif
ldapadd -x -D "cn=admin,dc=youyuan,dc=com" -w 12345678 -f /tmp/group.ldif
service slapd restart

=====================start设置sudoer==============
cp /usr/share/doc/sudo-1.8.6p3/schema.OpenLDAP /etc/openldap/schema/sudo.schema && echo "include/etc/openldap/schema/sudo.schema" >> /etc/openldap/slapd.conf
rm -rf /etc/openldap/slapd.d/* ;  slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d; chown -R ldap:ldap /etc/openldap/slapd.d/*;service slapd restart

cat >>/www/sudo.ldif<<eof
dn: ou=Sudoers,dc=youyuan,dc=com
objectClass: top
objectClass: organizationalUnit
ou: Sudoers

dn: cn=defaults,ou=Sudoers,dc=youyuan,dc=com
objectClass: top
objectClass: sudoRole
cn: defaults
sudoOption: !visiblepw
sudoOption: always_set_home
sudoOption: env_reset
sudoOption: requiretty

dn: cn=wangyl,ou=Sudoers,dc=youyuan,dc=com
objectClass: top
objectClass: sudoRole
cn: wangyl
sudoCommand: ALL
sudoHost: ALL
sudoOption: !authenticate
sudoRunAsUser: ALL
sudoUser: wangyl
eof
ldapadd -x -D "cn=admin,dc=youyuan,dc=com" -w 12345678 -f /www/sudo.ldif
=====================end设置sudoer==============

安装jumpserver
数据库配置:
create database jumpserver charset=‘utf8‘;
grant all on jumpserver.* to ‘jumpserver‘@‘192.168.%‘ identified by ‘youyuanops‘;
server配置:
192.168.3.146 [/var/lib/ldap] 2014-12-22 12:06:42
[email protected]/0 # yum -y install xz gcc automake autoconf
192.168.3.146 [~] 2014-12-22 13:04:23
[email protected]/0 # tar -xvf Python-2.7.6.tar.xz
192.168.3.146 [~] 2014-12-22 13:04:23
[email protected]/0 # cd Python-2.7.6
192.168.3.146 [~/Python-2.7.6] 2014-12-22 13:05:06
[email protected]/0 # ./configure && make && make install
[email protected]/0 # mv /usr/bin/python /usr/bin/python.bak
[email protected]/0 # ln -s /usr/local/bin/python /usr/bin/python
[email protected]/0 # yum search setuptools

[email protected]/0 # yum install python-setuptools.noarch
[email protected]/0 # yum install python-pip.noarch
192.168.3.146 [/opt/jumpserver/scripts] 2014-12-22 13:15:34
[email protected]/0 # wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | python
[email protected]/0 # wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-1.5.6.tar.gz#md5=01026f87978932060cc86c1dc527903e
[email protected]/0 # tar -zxvf pip-1.5.6.tar.gz
[email protected]/0 # cd pip-1.5.6
[email protected]/0 # python setup.py install
[email protected]/0 # cd /opt/jumpserver/scripts
[email protected]/0 # pip2.7 install -r requirements.txt -i http://pypi.douban.com/simple
192.168.3.146 [/opt/jumpserver/scripts] 2014-12-22 13:21:08
[email protected]/0 # cat requirements.txt
pexpect==3.3
sphinx-me==0.3
django==1.7.1
python-ldap==2.4.18
paramiko==1.15.1
pycrypto==2.6.1
ecdsa>=0.11
MySQL-python==1.2.5
192.168.3.146 [/opt/jumpserver/scripts] 2014-12-22 13:21:20
[email protected]/0 #
192.168.3.146 [/opt/jumpserver/scripts] 2014-12-22 13:22:03
[email protected]/0 # pip2.7 list
Django (1.7.1)
ecdsa (0.11)
MySQL-python (1.2.5)
paramiko (1.15.1)
pexpect (3.3)
pip (1.5.6)
pycrypto (2.6.1)
python-ldap (2.4.18)
setuptools (8.2.1)
sphinx-me (0.3)
wsgiref (0.1.2)
192.168.3.146 [/opt/jumpserver/scripts] 2014-12-22 13:22:07
[email protected]/0 #
配置文件:
192.168.3.146 [/opt/jumpserver] 2014-12-22 13:24:34
[email protected]/0 # cat jumpserver.conf
#coding:utf-8
[db]
host = 192.168.3.40
port = 3306
user = jumpserver
password = youyuanops
db = jumpserver
[jumpserver]
key = 88aaaf7ffe3c6c04
ldap_host = ldap://127.0.0.1:389
ldap_base_dn = dc=youyuan,dc=com
admin_cn = cn=admin,dc=youyuan,dc=com
admin_pass = VNLqNCjpNBIetEoCA2h3
web_socket_host = 172.10.10.9:3000
192.168.3.146 [/opt/jumpserver] 2014-12-22 13:24:38
[email protected]/0 #
最后变为:
192.168.3.146 [~] 2014-12-22 13:49:12
[email protected]/4 # cat /opt/jumpserver/jumpserver.conf
#coding:utf-8
[db]
host = 192.168.3.40
port = 3306
user = jumpserver
password = youyuanops
db = jumpserver
[jumpserver]
key = 88aaaf7ffe3c6c04
ldap_host = ldap://127.0.0.1:389
ldap_base_dn = dc=youyuan,dc=com
admin_cn = cn=admin,dc=youyuan,dc=com
admin_pass = 12345678(不改会报错的)
web_socket_host = 172.10.10.9:3000
192.168.3.146 [~] 2014-12-22 13:49:15
[email protected]/4 #
修改logs目录权限
[email protected]/0 # chmod 777 logs
django sync db 到数据库
192.168.3.146 [/opt/jumpserver/webroot/AutoSa] 2014-12-22 13:27:29
[email protected]/0 # python manage.py syncdb
Operations to perform:
Synchronize unmigrated apps: Assets, UserManage
Apply all migrations: admin, contenttypes, auth, sessions
Synchronizing apps without migrations:
Creating tables...
Creating table UserManage_group
Creating table UserManage_user_group
Creating table UserManage_user
Creating table UserManage_logs
Creating table UserManage_pid
Creating table Assets_idc
Creating table Assets_assets
Creating table Assets_assetsuser
Installing custom SQL...
Installing indexes...
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying sessions.0001_initial... OK
You have installed Django‘s auth system, and don‘t have any
superusers defined.
Would you like to create one now? (yes/no): no
192.168.3.146 [/opt/jumpserver/webroot/AutoSa] 2014-12-22 13:27:50
[email protected]/0 #
运行两个窗口:
192.168.3.146 [/opt/jumpserver/webroot/AutoSa] 2014-12-22 13:28:44
[email protected]/0 # python manage.py runserver 0.0.0.0:81
Performing system checks...
System check identified no issues (0 silenced).
December 22, 2014 - 13:28:59
Django version 1.7.1, using settings ‘AutoSa.settings‘
Starting development server at http://0.0.0.0:81/
Quit the server with CONTROL-C.
[email protected]/1 # cd /opt/jumpserver/webroot/AutoSa/
192.168.3.146 [/opt/jumpserver/webroot/AutoSa] 2014-12-22 13:29:51
[email protected]/1 # ls
Assets AutoSa __init__.py log_handler.py manage.py sta
tic templates UserManage websocket
192.168.3.146 [/opt/jumpserver/webroot/AutoSa] 2014-12-22 13:29:52
[email protected]/1 # pwd
/opt/jumpserver/webroot/AutoSa
192.168.3.146 [/opt/jumpserver/webroot/AutoSa] 2014-12-22 13:29:53
[email protected]/1 # python log_handler.py
打开:
http://192.168.3.146:81/install/
成功:安装成功
用户名及密码:
http://192.168.3.146:81
admin
admin
安装Nodejs,功能实时刷新
[email protected]/2 # wget http://nodejs.org/dist/v0.10.34/node-v0.10.34.tar.gz
[email protected]/2 # tar -zxvf node-v0.10.34.tar.gz
192.168.3.146 [~/node-v0.10.34] 2014-12-22 14:12:30
[email protected]/0 # cd node-v0.10.34/;./configure --prefix=/opt/node/ && make && make install
相关配置
192.168.3.146 [/opt/node/bin] 2014-12-22 14:13:46
[email protected]/0 # touch /etc/profile.d/node.sh
192.168.3.146 [/opt/node/bin] 2014-12-22 14:16:16
[email protected]/0 # vim /etc/profile.d/node.sh
192.168.3.146 [/opt/node/bin] 2014-12-22 14:16:36
[email protected]/0 # vim /etc/profile.d/node.sh
192.168.3.146 [/opt/node/bin] 2014-12-22 14:16:39
[email protected]/0 # source /etc/profile.d/node.sh
192.168.3.146 [/opt/node/bin] 2014-12-22 14:16:47
[email protected]/0 #
[email protected]/0 # cat /etc/profile.d/node.sh
export PATH=$PATH:/opt/node/bin
192.168.3.146 [/opt/node/bin] 2014-12-22 14:17:23
[email protected]/0 #
安装项目依赖module,或使用下载好的
192.168.3.146 [/opt/jumpserver/webroot/AutoSa/websocket] 2014-12-22 14:18:25
[email protected]/0 # pwd
/opt/jumpserver/webroot/AutoSa/websocket
192.168.3.146 [/opt/jumpserver/webroot/AutoSa/websocket] 20
14-12-22 14:18:27
[email protected]/0 # ll
总用量 8
-rw-r--r-- 1 root root 2832 12月 22 07:40 index.js
-rw-r--r-- 1 root root 219 12月 22 07:40 package.json
192.168.3.146 [/opt/jumpserver/webroot/AutoSa/websocket] 2014-12-22 14:18:28
[email protected]/0 # cat package.json
{
"name": "web-socket",
"version": "0.0.1",
"description": "my first realtime server",
"dependencies": {
"express": "~4.10.1",
"socket.io": "~1.2.0",
"node-tail": "0.0.4",
"tail": "~0.4.0"
}}
192.168.3.146 [/opt/jumpserver/webroot/AutoSa/websocket] 2014-12-22 14:18:33
[email protected]/0 # npm install
192.168.3.146 [/opt/jumpserver/webroot/AutoSa/websocket] 2014-12-22 14:19:17
测试启动websocket
[email protected]/0 # node index.js
listening on *:3000
让用户登录jumpserver自动运行系统
# cd /opt/jumpserver/scripts
# vim jumpserver.sh
...
if [ $USER == ‘guanghongwei‘ ];then # 修改特殊用户,结束后不
退出
...
# cp jumpserver.sh /etc/profile.d/
正常运行jumpserver系统
# cd /opt/jumpserver/
# ./runserver#
说明:如果想结束系统#
./stopserver
脚本:
192.168.3.146 [/opt/jumpserver] 2014-12-22 14:23:36
[email protected]/1 # cat runserver
#!/bin/bash
manage_file="./webroot/AutoSa/manage.py"
log_handler_file="./webroot/AutoSa/log_handler.py"
websocket_file="./webroot/AutoSa/websocket/index.js"
which node &> /dev/null
if [ $? != ‘0‘ ];then
echo "Please define the node.js binary file ‘node‘ in the PATH."
exit
fi
node $websocket_file &
if [ -f $manage_file -a -e $manage_file ] && [ -f $log_handler_file -a -e $log_handler_file ];then
$manage_file runserver 0.0.0.0:80 &> logs/access.log &
$log_handler_file &> logs/handler.log &
else
echo "manage.py or log_handler.py isn‘t exist or executable."
fi
192.168.3.146 [/opt/jumpserver] 2014-12-22 14:23:38
stopserver
[email protected]/1 # cat stopserver
#!/bin/bash
pids=$(ps axu | grep -E ‘(manage.py|log_handler|index.js)‘| grep -v ‘grep‘ | awk ‘{ print $2 }‘)
for pid in $pids;do
kill -15 $pid
done
192.168.3.146 [/opt/jumpserver] 2014-12-22 14:23:41
[email protected]/1 #
WEB具体操作:
http://laoguang.blog.51cto.com/6013350/1576502

===========================客户端部分============================================

安装LDAP客户端及完成客户端设置。
yum -y install openldap openldap-clients
echo "session required pam_mkhomedir.so skel=/etc/skel umask=0077" >> /etc/pam.d/system-auth
authconfig --enableldap --enableldapauth --enablemkhomedir --ldapserver=192.168.3.65 --ldapbasedn="dc=youyuan,dc=com" --update

从jumpserver连接testuser测试
ssh [email protected]  如果连接成功则继续

客户端sudoer设置
echo -e "uri ldap://192.168.3.65\nSudoers_base ou=Sudoers,dc=youyuan,dc=com" > /etc/sudo-ldap.conf 
echo "Sudoers: files ldap" >>  /etc/nsswitch.conf

检查
egrep -v "(^#|^$)" /etc/sudo-ldap.conf
grep -i sudo /etc/nsswitch.conf 
测试sudo
# ssh [email protected]
# sudo su  如果不提示输入密码,则成功。

==============================遇到的问题==================================
[email protected]/0 # yum search setuptools
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   No module named yum

Please install a package which provides this module, or
verify that the module is installed correctly.

It‘s possible that the above module doesn‘t match the
current version of Python, which is:
2.7.6 (default, Dec 26 2014, 14:06:44) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)]

If you cannot solve this problem yourself, please go to 
the yum faq at:
  http://yum.baseurl.org/wiki/Faq
  

192.168.3.65 [~] 2014-12-26 14:22:21
解决:
python升级完yum不可用:
cat /usr/bin/yum
#!/usr/bin/python2.6

==============
[email protected]/0 # vim jumpserver.conf 

#coding:utf-8

[db]
host = 127.0.0.1
port = 3306
user = root
password = redhat
db = jumpserver

[jumpserver]
key = 88aaaf7ffe3c6c04
ldap_host = ldap://127.0.0.1:389
ldap_base_dn = dc=yolu,dc=com
admin_cn = cn=admin,dc=yolu,dc=com
admin_pass = VNLqNCjpNBIetEoCA2h3
web_socket_host = 172.10.10.9:3000

===================

python manage.py syncdb

问题;
ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory
解决:
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18

问题:
django.db.utils.OperationalError: (1045, "Access denied for user ‘jumpserver‘@‘192.168.3.65‘ (using password: YES)")
解决:
mysql -uroot -p12345678 -h127.1
GRANT ALL ON *.* TO ‘jumpserver‘192.168.%‘;set password for ‘jumpserver‘@‘192.168.%‘ = PASSWORD(‘youyuanops‘);GRANT ALL ON *.* TO O 
‘jumpserver‘@‘localhost‘;set password for ‘jumpserver‘@‘localhost‘ = PASSWORD(‘youyuanops‘);  

flush privileges;
时间: 2024-10-21 09:15:00

ldap快速搭建步骤版的相关文章

SpringMVC+maven框架快速搭建步骤

SpringMVC+Maven整合(注解形式) SpringMVC是目前比较主流的框架,加上注解形式,大大的增加了开发人员的效率,而且采用注解的形式,省去了很多的XML的配置,使代码看起来清晰度提升了很多. 下面教大家如何配置,这里创建工程就不一一介绍了,我们直接从pom.xml的配置开始. 1.SpringMVC所用到的Maven坐标 <properties> <spring-version>3.1.0.RELEASE</spring-version> </pr

CentOS7上快速搭建FTP服务器,基于本地用户访问

本篇文档主要讲基于Linux上本地用户进行访问的FTP服务器的快速搭建步骤. 如果是想进阶学习FTP,如基于mysql的虚拟用户的配置,不应该参考本篇文档. 参考文档:http://www.178linux.com/52605 https://help.aliyun.com/document_detail/51998.html 以下是配置步骤: 1.安装vsftp ~]# yum install -y vsftp 2.相关配置文件  ~]# cd /etc/vsftpd/ vsftpd]# ls

maven环境快速搭建(转)

最近,开发中要用到maven,所以对maven进行了简单的学习.因为有个maven高手在身边,所以,很快就上手了,我这里算是自我总结吧.关于maven是什么东东,请参考其它文章. ----------------准备工作------------- Jdk  1.6 java开发环境. Eclipse IDE 一个. Maven 3.1.1 ----//快速搭建步骤 第一步:配置maven环境 将下载文件解压,然后设置maven环境 如果你配置过jdk的话,这里对你应该不难.如我的maven环境为

USBWebServer 中文便携版 快速搭建 PHP/MySQL 网站服务器环境

如果你是一位 WEB 开发者,或正在学习网页编程,你一定会发现,每到一台新电脑上想要在本地调试测试/运行网站代码都得搭建配置一遍 WAMP (Win.Apache.PHP.MySQL) 环境简直烦透了! USBWebserver 是一款非常好用的傻瓜式本地电脑快速架设PHP网站环境的工具,它最大特色是纯绿色便携,可直接放在U盘里随处运行或通过 Dropbox.百度网盘等同步.它集成了 Apache (httpd).PHP.MySQL 以及 PHPMyAdmin 等组件,支持各种流行的PHP程序如

利用yeoman快速搭建React+webpack+es6脚手架

自从前后端开始分离之后,前端项目工程化也显得越来越重要了,之前写过一篇搭建基于Angular+Requirejs+Grunt的前端项目教程,有兴趣的可以点这里去看 但是有些项目可以使用这种方式,但有些却不太适合,或者我们就是想要去尝试新的框架.比如最近我就尝试着使用了webpack+react+es6的方式开发项目,感觉很不错,然后很多项目都用了这种方式.所以为了不需要每次开发的时候都从头开始新建文件,就想着能不能弄个工具,使用命令能够快速的生成这样一套跑的通的项目模版,正好,有个工具叫yeom

WAMP Server助你在Windows上快速搭建PHP集成环境

WAMP Server助你在Windows上快速搭建PHP集成环境 原文地址 我想只要爬过几天网的同学都会知道PHP吧,异次元的新版本就是基于PHP的WordPress程序制造出来的,还有国内绝大部分论坛都是PHP的哦.据我所知很多同学都想要试着学习一下PHP,无奈要在Windows下安装搭建好一个PHP环境来学习对于菜鸟同学来说繁琐程度足以让一半以上的人放弃,毕竟 Apache+PHP+MySQL 这3个程序配置起来比较麻烦,对于新手来说,要弄清楚那些配置还真是云里雾里.所以傻瓜式整合型的WA

快速搭建phpwind论坛系统

摘要: phpwind 是采用 PHP + MySQL 方式运行的开源社区程序.轻架构,高效率简易开发,帮助您快速搭建并轻松管理社区站点.本文介绍如何使用云市场的 PHPWind论坛系统(含智慧云虚机面板) 快速搭建论坛. phpwind 是采用 PHP + MySQL 方式运行的开源社区程序.轻架构,高效率简易开发,帮助您快速搭建并轻松管理社区站点.phpwind 提供了 2 款完全不同的版本,分别是拥有成熟功能.海量插件支撑的 phpwind 稳定版(v8.7.1)和注重轻社区.高效.易开发

如何快速搭建系统原型

如何快速搭建系统原型 2018年4月16日luodonggan 本文是我对现阶段学习和接触到的系统项目总结,将系统界面各部分模块化/组件化,编写了系统通用交互方案,旨在帮助交互设计师.项目经理通过通用方案可以根据项目需求快速搭建合适的系统界面. 背景 最近负责了多个系统的交互设计工作,在设计的过程中遇到了一些问题:界面布局应该怎么设计,这个功能怎么放,首页要放什么内容.这边放这些功能合适吗.弹窗展示是否合适……设计好了又发现需要个性化,开发成本较高,标准版不支持. 所以,我想有没有一套方案,可以

基于 Jenkins 快速搭建持续集成环境

持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础.Jenkins 是一个开源软件项目,旨在提供一个开放易用的软件平台,使持续集成变成可能.本文正是从持续集成的基本概念入手,通过具体实例,介绍了如何基于 Jenkins 快速搭建持续集成环境. 持续集成概述 什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火,如何能再不断变