12/11/14

【团队】十字诀

一、什么叫团队?
一起经历过风雨洗礼、跌宕起伏、浴血奋战、荣辱与共、艰难困境,依然迎难而上,创造奇迹,那才叫团队!

 二、十字诀

  • 一个字:干。
  • 二个字:主动。
  • 三个字:让我来。
  • 四个字:积极思考。
  • 五个字:责任是我的。
  • 六个字:有谁需要帮助。
  • 七个字:目标一定会实现。
  • 八个字:一切的工作为了爱。
  • 九个字:我要成为多给予的人。
  • 十个字:只有结果才能证明实力。

三、角色定义

一个团队里,人分为五种:人渣,人员,人手,人才,人物。

  1. 【人渣】就是牢骚抱怨、无事生非,拉帮结派,挑起事端、吃里扒外的破坏分子;
  2. 【人员】就是只领工资不爱做事,安排与自己无关的工作不愿干,属庸人之列;
  3. 【人手】就是安排什么做什么,不安排绝对不做,等着下命令的人;
  4. 【人才】就是每天发自内心做事,做事有责任、有思路、有条理,知道公司的事做好了,受益的是自己,同时真心为公司操心的人;
  5. 【人物】就是全身心投入,用灵魂去思考、做事,决心要和企业做一番事业的人!

四、角色特点

  • 人员斤斤计较,人手需要引导,
  • 人才关注当下,人物放眼未来!
  • 发展要靠人才,做大要靠人物!

 

 

12/3/14

【问题】macbook air下使用svn使用问题

一、问题描述

问题描述:同事新买的Macbook air svn checkout代码时,遇到 411 Content length required的报错。

环境描述:系统默认svn 为1.7的版本号

排查步骤:

1、确认是否svn服务器版本问题,网上找几个开源的svn库测试,均不能svn checkout代码下来。

2、检查svn服务器日志,发现如下日志

9.77.218.146 – - [03/Dec/2014:18:10:49 +0800] “OPTIONS /svn/phpdba HTTP/1.1″ 411 181 “-” “SVN/1.7.17 serf/1.3.3″

9.77.218.146 – - [03/Dec/2014:18:12:42 +0800] “OPTIONS /svn/phpdba HTTP/1.1″ 411 181 “-” “SVN/1.7.17 serf/1.3.3″

直接给nginx挡住,返回411

3、问题确定,mac air 的svn checkout的时候,没有或者丢失内容长度信息,nginx检查到缺少内容长度信息,返回411

二、处理方法

1、开启svnserver服务,macbook air下面通过svn协议请求代码资源

2、修改 ~/.subversion/servers 文件, 添加http-chunked-requests=no 如:

[global]
http-chunked-requests = no 

 

12/3/14

【堡垒机】服务器用户统一管理

最近在网上,看到开源跳板机系统(Jumpserver),按照作者手册搭了一套系统。以下描述下,我对这套系统的认识以及部署使用过程中遇到一些问题。

一、Jumpserver架构认识

1、以下系统开发者的系统架构
6013350_14080086633ZmA

 

Jumpserver包括:

a、LDAP系统:集中统一管理服务器用户,包含server端和client端。一般为防止单点故障,ldap系统采用主备部署模式,保障堡垒机系统正常运行。

b、Jumpserver系统:主要包括服务器身份认证、授权、访问控制、日志审计等功能。

1、web管理后台是在python开发的Django开源web应用MVC框架。

2、ldap的client端服务器设置,只允许ldap的主备server端ssh连接,这样所有服务器都只能通过堡垒机连接其他服务器进行操作。

3、ldap的server端采用shell+python的组合,shell判断ssh到ldap的server用户(设置特殊用户不受Jumpserver控制),非特殊用户执行python jumpserver.py ,只允许访问授权服务器。

4、jumpserver.py  脚本使用python的pexpect的interact交互模式和日志功能,登录授权服务器操作和记录用户的操作记录。

5、nodejs实时监控着,每个用户当前状态

二、Jumpserver 部署

1、部署过程

参考:http://laoguang.blog.51cto.com/6013350/1576729

2、部署问题

a、ldif_read_file: Permission denied for “/etc/openldap/slapd.d/cn=config.ldif” 权限问题

查看操作记录发现

修改/etc/openldap/slapd.d 权限时,chown -R ldap:ldap /etc/openldap/slapd.d  ,少了给‘/’

导致未修改子目录权限,重启slapd时没有权限生成配置文件。

[root@host-10-0-0-4 ~]# cd /etc/openldap/
[root@host-10-0-0-4 openldap]# ls
certs ldap.conf schema slapd.conf slapd.d
[root@host-10-0-0-4 openldap]# ll
total 24
drwxr-xr-x. 2 root root 4096 Dec 1 09:45 certs
-rw-r–r–. 1 root root 280 Oct 15 17:55 ldap.conf
drwxr-xr-x. 2 root root 4096 Dec 1 09:46 schema
-rw-r–r–. 1 root root 4646 Dec 1 09:56 slapd.conf
drwx——. 3 ldap ldap 4096 Dec 1 09:58 slapd.d
[root@host-10-0-0-4 openldap]# cd slapd.d/
[root@host-10-0-0-4 slapd.d]# ll;
total 8
drwxr-x—. 3 root root 4096 Dec 1 09:58 cn=config
-rw——-. 1 root root 1262 Dec 1 09:58 cn=config.ldif
[root@host-10-0-0-4 slapd.d]# ll
total 8
drwxr-x—. 3 root root 4096 Dec 1 09:58 cn=config
-rw——-. 1 root root 1262 Dec 1 09:58 cn=config.ldif
[root@host-10-0-0-4 slapd.d]# cd ..
[root@host-10-0-0-4 openldap]# chown -R ldap:ldap /etc/openldap/slapd.d/
[root@host-10-0-0-4 openldap]# ll
total 24
drwxr-xr-x. 2 root root 4096 Dec 1 09:45 certs
-rw-r–r–. 1 root root 280 Oct 15 17:55 ldap.conf
drwxr-xr-x. 2 root root 4096 Dec 1 09:46 schema
-rw-r–r–. 1 root root 4646 Dec 1 09:56 slapd.conf
drwx——. 3 ldap ldap 4096 Dec 1 09:58 slapd.d
[root@host-10-0-0-4 openldap]# cd slapd.d/
[root@host-10-0-0-4 slapd.d]# ll
total 8
drwxr-x—. 3 ldap ldap 4096 Dec 1 09:58 cn=config
-rw——-. 1 ldap ldap 1262 Dec 1 09:58 cn=config.ldif
[root@host-10-0-0-4 slapd.d]# service slapd start
Starting slapd: [ OK ]

b、ldap使用sudo权限问题

按照部署文档完成之后,ssh到授权服务器之后sudo执行命令的时候,还是提示输入密码,而且执行不成功。

解决基本思路:检查ldap数据库中是否存在该用户数据。

三、LDAP为何物?

1、LDAP是轻量级目录访问协议,英文全称是Lightweight Directory Access Protocol,是一种访问存储在信息目录中的信息的跨平台Internet标准协议,是基于TCP/IP实现的目录服务。简化了X500的目录协议的移植,简化实现方法。

2、LDAP目录以树状的层次结构来组织和存储数据,目录由目录入口对象(Entry)组成,目录入口对象(Entry)相当于关系数据库中表的记录,可直接成为LDAP目录记录,是具有区别名DN(Distinguished Name)的属性(Attribute)集合,DN相当于关系数据库表中的关键字(Primary Key);属性由属性类型(Type)和多个值(Values)组成,相当于关系数据库中的域(Field)由域名和数据类型组成,只是为了方便检索和灵活性的需要,LDAP中的Type可以有多个Value,而不是关系数据库中为降低数据的冗余性要求实现的各个域必须是不相关的。

3、目录服务与数据库服务的不同之处在于:LDAP目录服务缺少数据库的事务功能和大规模数据的数据库支持;但专门针对读密集型的操作进行了专门的优化,极大地提高数据读取和查询性能。

四、LDAP适合的应用

1、分布式读取,更新少

2、可跨平台读取

3、平面数据,不需要对维度

4、LDAP目录是有关用户、系统、分组、网络、服务和标识的集合;LDAP目录中可以存储各种类型的数据,LDAP对于这样存储这样的信息最为有用,也就是数据需要从不同的地点读取,但是不需要经常更新。

5、LDAP作为存储用户信息的目录服务,可提供基本的用户身份密码验证。

 

五、对Jumpserver后期改进的建议

1、控制Jumpserver用户超时时间,比如:10分钟无操作,pexpect模块直接断开交互模式,退出是否资源。

2、输入密码错误超过设定次数,直接禁止并进入风险预警机制,更新密码周期。

3、第一次使用Jumpserver系统时,强制用户修改初始密码

4、登录IP限制,相同用户每天允许登录次数,IP个数

5、管理后台,服务器分组功能,硬件信息采集功能等