mirror of https://github.com/jumpserver/jumpserver
修改目录结构
parent
c78ab8edf7
commit
f38f809337
|
@ -0,0 +1,71 @@
|
|||
|
||||
名词解释
|
||||
------
|
||||
|
||||
|
||||
* **用户** 用户是授权和登陆的主体,将来为每个员工建立一个账户,用来登录跳板机,
|
||||
将资产授权给该用户,查看用户登陆记录命令历史等
|
||||
|
||||
* **用户组** 多个用户可以组合成用户组,为了方便进行授权,可以将一个部门或几个用户
|
||||
组建成用户组,在授权中使用组授权,该组中的用户拥有所有授权的主机权限
|
||||
|
||||
* **资产** 资产通常是我们的服务器、网络设备等,将资产授权给用户,用户则会有权限登
|
||||
录资产,执行命令等
|
||||
|
||||
* **管理账户** 添加资产时需要添加一个管理账户,该账户是该资产上已有的有管理权限的用户,
|
||||
如root,或者有 NOPASSWD: ALL sudo权限的用户,该管理账户用来向资产推送系统用户,
|
||||
为系统用户添加sudo,获取资产的一些硬件信息
|
||||
|
||||
* **资产组** 同用户组,是资产组成的集合,为了方便授权
|
||||
|
||||
* **机房** 又称IDC,不解释
|
||||
|
||||
* **Sudo** 这里的sudo其实是Linux中的sudo命令别名,一个sudo别名包含多个命令,
|
||||
系统用户关联sudo就代表该系统用户有权限sudo执行这些命令
|
||||
|
||||
* **系统用户** 系统用户是服务器上建立的一些真实存在的可以ssh登陆的用户,如 dev,
|
||||
sa, dba等,系统用户可使用jumpserver推送到服务器上,也可以利用自己公司
|
||||
的工具进行推送,授权时将用户、资产、系统用户关联起来则表明用户有权限登陆该资产的
|
||||
这个系统用户 如:用户 **小明** 以 **dev** 系统用户登陆 **172.16.1.1**资产
|
||||
|
||||
* **授权规则** 授权规则是将 **资产** **系统用户** 和 **用户** 关联起来,用来完成授权。
|
||||
这样用户就可以以某个系统用户账号登陆资产
|
||||
|
||||
* **日志审计**
|
||||
* **在线** 查看当前在线的用户(非web在线),可以监控用户的命令执行,强制结束用户
|
||||
登录。
|
||||
* **登录历史** 查看以往用户的登录历史,可以查看用户登陆操作的命令,可以回放用户
|
||||
执行命令的录像
|
||||
* **命令记录** 查看用户批量执行命令的历史,包含执行命令的主机,执行的命令,执行的结果
|
||||
|
||||
* **上传下载** 查看用户上传下载文件的记录
|
||||
|
||||
|
||||
快速开始
|
||||
------
|
||||
**********
|
||||
|
||||
#### 1. 添加用户
|
||||
用户管理 - 查看用户 - 添加用户 填写基本信息,完成用户添加
|
||||
|
||||
用户添加完成后,根据提示记住用户账号密码,换个浏览器登录下载key,登录jumpserver测试
|
||||
|
||||
#### 2. 添加资产
|
||||
资产管理 - 查看资产 - 添加资产 填写基本信息,完成资产添加
|
||||
|
||||
#### 3. 添加sudo
|
||||
授权管理 - Sudo - 添加别名 输入别名名称和命令,完成sudo添加
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
# coding: utf8
|
||||
|
||||
Jumpserver开发者文档
|
||||
|
||||
开发规范:
|
||||
1. 遵守PE8规范 1) 命名规范 2) 导入模块规范 3) 空行规范 4) 长度规范
|
||||
2. 缩进统一4个空格
|
||||
3. 变量命名明了易懂多个单词下划线隔开
|
||||
4. 注释到位
|
||||
|
||||
|
||||
框架说明:
|
||||
1. 项目名称 Jumpserver
|
||||
2. APP:
|
||||
juser 用户管理
|
||||
jasset 资产管理(设备管理)
|
||||
jpermission 授权管理
|
||||
jlog 日志管理
|
||||
3. connect.py 用户登录入口程序
|
||||
4. logs 日志保存目录
|
||||
5. jumpserver.conf 配置文件
|
||||
6. docs 文档目录
|
||||
7. static 静态文件目录
|
||||
8. templates 模板目录
|
||||
|
||||
|
||||
connect.py逻辑说明:
|
||||
用户登录系统,运行该脚本,p调用get_user_host函数查看有权限的服务器ip
|
||||
输入部分IP,verify_connect匹配该部分ip,如果是匹配到多个,就显示ip
|
||||
匹配到0了就显示没有权限或者主机,
|
||||
匹配到1个则继续
|
||||
查询该服务器是否支持ldap 如果是,获得ldap用户密码登陆
|
||||
如果否,查询授权表,查看该服务器授权的系统用户,并返回对应账号密码,登陆
|
||||
connect函数是登陆函数,采用paramiko 使用channel登陆,posix_shell 来完成交互,并记录日志
|
||||
signal模块来完成窗口改变导致的tty大小随之改变
|
||||
PyCrypt是对称加密类
|
|
@ -0,0 +1,9 @@
|
|||
- model: juser.user
|
||||
pk: 5000
|
||||
fields:
|
||||
username: admin
|
||||
name: admin
|
||||
password: pbkdf2_sha256$20000$jBIDGPB2j5JT$orxqGgzzjzykColYm1BswPjgHOiERjZkcgkuVIkD2Hc=
|
||||
email: admin@jumpserver.org
|
||||
role: SU
|
||||
is_active: 1
|
|
@ -0,0 +1,17 @@
|
|||
#sphinx-me==0.3
|
||||
django==1.6
|
||||
pycrypto==2.6.1
|
||||
paramiko==1.16.0
|
||||
ecdsa==0.13
|
||||
MySQL-python==1.2.5
|
||||
#django-uuidfield==0.5.0
|
||||
psutil==3.3.0
|
||||
xlsxwriter==0.7.7
|
||||
xlrd==0.9.4
|
||||
django-bootstrap-form==3.2
|
||||
tornado==4.3
|
||||
ansible==1.9.4
|
||||
pyinotify==0.9.6
|
||||
passlib==1.6.5
|
||||
argparse==1.4.0
|
||||
django_crontab==0.6.0
|
|
@ -0,0 +1,13 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [ "$USER" == "admin" ] || [ "$USER" == "root" ] || [ "$USER" == "" ];then
|
||||
echo ""
|
||||
else
|
||||
python /opt/jumpserver/connect.py
|
||||
if [ $USER == 'guanghongwei' ];then
|
||||
echo
|
||||
else
|
||||
exit 3
|
||||
echo
|
||||
fi
|
||||
fi
|
Loading…
Reference in New Issue