Chinaunix首页 | 论坛 | 博客
  • 博客访问: 107139
  • 博文数量: 22
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 235
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-15 21:44
个人简介

Just start from your heart.

文章分类

全部博文(22)

文章存档

2015年(5)

2014年(17)

我的朋友

分类: LINUX

2015-02-03 13:58:04

3.2.1  jumpserver安装

1.1安装ldapserver

yum install -y openldap openldap-servers openldap-clients openldap-devel

 

1.2 准备配置文件

# cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf  

  ## 该文件是slapd的配置文件

# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG     

  ## 数据库的配置文件

 

1.3 修改配置文件

# vim /etc/openldap/slapd.conf

  ...

  loglevel        1

  ...

  suffix          "dc=yolu,dc=com"

  rootdn          "cn=admin,dc=yolu,dc=com"

  rootpw          secret234

  ...

  #说明:

  loglevel:设置日志级别  suffix:其实就是BaseDN

  rootdn: 超级管理员的dn

  rootpw: 超级管理员的密码

 

1.4 修改系统日志配置文件

# vim /etc/rsyslog.conf

  local4.*          /var/log/ldap.log   # local7.*下添加一行

# service rsyslog restart

 

1.5 启动slapd, 查看启动情况

# 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

# netstat -tulnp | grep slapd

  #说明:第一次启动生会初始化ldap数据库,在/var/lib/ldap中,如果想删除ldap数据库就删除该目录,保留DB_CONFIG配置文件。新版的ldap使用的是/etc/openldap/slapd.d 下的配置文件,删除原来的配置文件,slaptest是重新生成新的配置文件

 

1.6 yum安装lrzsz,上传需要的文件

yum -y install lrzsz*

1.6 导入ldif数据库框架和测试用户,可以使用migrationtools导出框架,也可以用我导出好的. base.ldif,group.ldif,passwd.ldif 将其中的dc=yolu,dc=com替换成你的baseDN,然后导入,密码是rootpw设置的密码

# ldapadd -x -W -D "cn=admin,dc=yolu,dc=com" -f base.ldif

# ldapadd -x -W -D "cn=admin,dc=yolu,dc=com" -f group.ldif

# ldapadd -x -W -D "cn=admin,dc=yolu,dc=com" -f passwd.ldif

  #说明:测试用户是testuser 密码是testuser123

报错:

ldap_bind: Invalid credentials (49)解决办法:

1)、查看自己输入的密码是否是rootpw的密码

2)、查看/etc/openldap/slapd.conf 配置文件中rootpw     secret234行首不能有空格,属性于值间隔用tab键隔开

 

3.2.2  testserver部署ldapclient

--- CentOS6设置 ---

2.1 安装LDAP客户端

# yum -y install openldap openldap-clients nss-pam-ldapd pam_ldap

2.2 设置自动创建目录

# echo "session required pam_mkhomedir.so skel=/etc/skel umask=0077" >> /etc/pam.d/system-auth

2.3 备份原来authconfig,然后设置使用LDAP认证

# authconfig --savebackup=auth.bak

# authconfig --enableldap --enableldapauth --enablemkhomedir --enableforcelegacy --disablesssd --disablesssdauth --ldapserver=192.168.1.209 --ldapbasedn="dc=yolu,dc=com" --update

--- CentOS5设置 ---

2.4 jumpserver连接testuser测试

# ssh testuser@192.168.1.210

  # 密码是testuser123 如果连接成功则继续

如果连接不成功,关闭防火墙和selinux

3.2.3  LDAP负责sudo

3.1 拷贝sudo schema

centos版本不一样,可能sudo的版本不是1.8.6,其他的也可以

# cp /usr/share/doc/sudo-1.8.6p3/schema.OpenLDAP /etc/openldap/schema/sudo.schema

3.2 修改文件导入schema

# vim /etc/openldap/slapd.conf 

  include         /etc/openldap/schema/sudo.schema

3.3 重新生成配置文件,重启slapd

# 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

3.4 导入sudo.ldifldapserver

# ldapadd -x -W -D "cn=admin,dc=yolu,dc=com" -f sudo.ldif

  #说明:将sudo.ldif中的dc=yolu,dc=com换作你的baseDN(密码还是rootpw的密码)

 

3.5 testserver设置sudo使用ldap

说明: centos6sudo-1.7.4p5的使用的ldap配置文件是 /etc/sudo-ldap.confsudo版本不同使用的配置文件可能也有所不同,sudo -V | grep 'ldap.conf' 查看

# sudo -V | grep 'ldap.conf'  

...

ldap.conf path: /etc/sudo-ldap.conf  # 已知有的版本是 /etc/nslcd.conf,下面应该做出对应改变

...

--- CentOS6 ---

# echo -e "uri ldap://192.168.1.209\nSudoers_base ou=Sudoers,dc=yolu,dc=com" > /etc/sudo-ldap.conf

# echo "Sudoers: files ldap" >>  /etc/nsswitch.conf

3.6 测试sudo

# ssh testuser@192.168.1.210

# sudo su

  #说明:密码是testuser123sudo su如果不提示输入密码,则成功

 

3.2.4 部署jumpserver

4.1 安装mysql数据库,创建库

# yum -y install mysql mysql-server mysql-devel

# service mysqld start

# mysql

mysql> create database jumpserver charset='utf8';

mysql> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'mysql234';

mysql> grant all on jumpserver.* to 'jumpserver'@'10.7.7.111' identified by 'mysql234';

4.2 下载最新Jumpserver项目

# yum -y install git

# cd /opt

# git clone

# cd jumpserver

4.3 安装Python2.7.6

# yum -y install xz gcc automake autoconf

# tar xvf Python-2.7.6.tar.xz && cd Python-2.7.6

# ./configure && make && make install

# mv /usr/bin/python /usr/bin/python.bak

# ln -s /usr/local/bin/python /usr/bin/python

# vim /usr/bin/yum

  #!/usr/bin/python2.6

  #说明:yum使用python2.6,否则报错

4.4 安装setuptools pip

#  tar xvf pypa-setuptools-8e8c50925f18.tar.gz  && cd pypa-setuptools-8e8c50925f18 && python setup.py install

# tar xvf pip-1.5.6.tar.gz && cd pip-1.5.6 && python setup.py install

4.5 安装依赖库

# cd /opt/jumpserver/scripts

# pip2.7 install -r requirements.txt -i

  #说明:如果报错请手动安装每个模块

 

4.6 修改Jumpserver配置文件

# cd ..

# vim jumpserver.conf

    [db]

    host = 127.0.0.1

    port = 3306

    user = jumpserver

    password = mysql234

    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 = secret234

    web_socket_host = 192.168.1.209:3000

 

    # 说明:

    # db里是数据库的设置,相信你看一眼就知道了

    # jumpserver

    # key是加密时需要的字符,可以更改但需要是16

    # ldap_host,ldap_base_dn,admin_cn,admin_pass都是与上面ldapserver设置的一致

    # admin_cn 对应ldap中的rootdn,必须一致

    # admin_passldap的密码,对应ldap.conf中的 rootpw ,必须使用明文

    # web_socket_hostwebsocketurl,把ip改为jumpserverIP地址,需要修改,3000是默认端口

4.7 修改logs目录权限

# chmod 777 logs

4.8 django sync db 到数据库

# cd /opt/jumpserver/webroot/AutoSa

# python manage.py syncdb

  Would you like to create one now? (yes/no): no

4.9 测试运行

# python manage.py runserver 0.0.0.0:80

# python log_handler.py

  #说明:两个窗口分别打开

4.10 初始化jumpserver浏览器打开

显示安装成功测继续

 

3.2.5 安装node.js为了实现实时监控

使用了node.js来完成websocket

5.1 下载node.js

   官方地址:

  

   使用我提供的源码

  

   使用我编译好的rpm,适用于centos6 x86_64,跳过编译安装和设置path

5.2 编译安装

# ./configure --prefix=/opt/node/ && make && make install

5.3 设置path

# vim /etc/profile.d/node.sh

  export PATH=$PATH:/opt/node/bin

# source /etc/profile.d/node.sh

5.4 安装项目依赖module,或使用下载好的

# cd /opt/jumpserver/webroot/AutoSa/websocket

# npm install        # 可能下载需要几分钟,可以更省时

  #说明:使用已经下载好的,将node_modules.tar.bz2 移动到/opt/jumpserver/webroot/AutoSa/websocket

  # tar xvf node_modules.tar.bz2

5.5 测试启动websocket

# node index.js

  #说明:新窗口运行,如果开启了iptables确保放行3000端口

 

3.2.6 测试jumpserver

6.1  登录

账号密码都是admin

6.2 添加属组

6.3 添加用户

6.4 添加IDC

6.5 添加主机

6.6 添加权限

6.7 查看权限

6.8 测试登录

6.9 下载key

6.10 导入key并登录xshell导入  

Tools --> User Key Manager --> import --> 输入密码

6.11 登录

6.12 测试登录测试主机

# python /opt/jumpserver/jumpserver.py

  #说明:p/P显示有权限主机ip E/e多主机执行命令 Q/q退出 输入ip或部分ip登录

6.13 显示有权限主机

6.14 多主机执行命令,逗号分隔    

 # 这里就一台主机

6.15 登录

6.16 查看sudo

6.17 修改sudo

6.18 测试sudo

6.19 测试监控

  刷新,

6.20 结束session

6.21 查看统计日志

  刷新,

6.22 用户测试上传下载

6.23 修改登录密码

3.2.7 配置并运行jumpserver系统

7.1 修改sshd配置

禁止密码登录# vim /etc/ssh/sshd_config

  ...

  PasswordAuthentication no

  ...

# service sshd restart

7.2 让用户登录jumpserver自动运行系统

# cd /opt/jumpserver/scripts

# vim jumpserver.sh

  ...

  if [ $USER == 'wangyi' ];then   # 修改特殊用户,结束后不退出

  ...

# cp jumpserver.sh /etc/profile.d/

7.3 正常运行jumpserver系统

# cd /opt/jumpserver/

# ./runserver

#说明:如果想结束系统# ./stopserver

阅读(2284) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~