diff --git a/connect.py b/connect.py index 587a5da82834b5248ff5aa9a67c6ee7a602923f5..e1d4829b87bdaa7d9872a68628bda0b1272bb234 100644 --- a/connect.py +++ b/connect.py @@ -498,7 +498,8 @@ class Nav(object): 6) 输入 \033[32mE/e\033[0m æ‰¹é‡æ‰§è¡Œå‘½ä»¤. 7) 输入 \033[32mU/u\033[0m 批é‡ä¸Šä¼ 文件. 8) 输入 \033[32mD/d\033[0m 批é‡ä¸‹è½½æ–‡ä»¶. - 9) 输入 \033[32mQ/q\033[0m 退出. + 9) 输入 \033[32mH/h\033[0m 帮助. + 0) 输入 \033[32mQ/q\033[0m 退出. """ print textwrap.dedent(msg) @@ -763,6 +764,8 @@ def main(): nav.upload() elif option in ['D', 'd']: nav.download() + elif option in ['H', 'h']: + nav.print_nav() elif option in ['Q', 'q', 'exit']: sys.exit() else: diff --git a/docs/__init__.py b/docs/__init__.py deleted file mode 100644 index bfd53d39fa18479123d8d2c29e6b34edc23549f6..0000000000000000000000000000000000000000 --- a/docs/__init__.py +++ /dev/null @@ -1 +0,0 @@ -__author__ = 'Hudie' diff --git a/docs/developer_doc.txt b/docs/developer_doc.txt deleted file mode 100644 index aa7b0db9fcbd377404727a9be6eba23a82c3e6a7..0000000000000000000000000000000000000000 --- a/docs/developer_doc.txt +++ /dev/null @@ -1,36 +0,0 @@ -# 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æ˜¯å¯¹ç§°åŠ å¯†ç±» \ No newline at end of file diff --git a/docs/initial_data.yaml b/docs/initial_data.yaml deleted file mode 100644 index 1d82565cb8e184fe3376f4ca35824dfce5eac053..0000000000000000000000000000000000000000 --- a/docs/initial_data.yaml +++ /dev/null @@ -1,9 +0,0 @@ -- 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 diff --git a/docs/requirements.txt b/docs/requirements.txt deleted file mode 100644 index 23ab9d3b00fc8fb4d4aaea6f2e107d15a9153b72..0000000000000000000000000000000000000000 --- a/docs/requirements.txt +++ /dev/null @@ -1,17 +0,0 @@ -#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 \ No newline at end of file diff --git a/docs/zzjumpserver.sh b/docs/zzjumpserver.sh deleted file mode 100644 index 98598ff18bd74a3412c16fc9434d91b6728090e5..0000000000000000000000000000000000000000 --- a/docs/zzjumpserver.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/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 diff --git a/run_websocket.py b/run_websocket.py index 75d9b3c7d315f6e82efc47310ad7ccc18a042939..7af850f248a1dcce1e2e07fea725185541669a35 100644 --- a/run_websocket.py +++ b/run_websocket.py @@ -361,6 +361,9 @@ class WebTerminalHandler(tornado.websocket.WebSocketHandler): self.log.end_time = datetime.datetime.now() self.log.save() self.log_time_f.close() + print "1" + self.ssh.close() + print "2" self.close() except AttributeError: pass diff --git a/templates/jasset/group_list.html b/templates/jasset/group_list.html index e8f8e9c0768d609efb987d9e0fc731873bd7ca74..327a5621ae5dea86832f2e4b4cbac0d7fb0bee24 100644 --- a/templates/jasset/group_list.html +++ b/templates/jasset/group_list.html @@ -57,11 +57,10 @@ <td class="text-center" name="id" value="{{ asset_group.id }}" data-editable='false'> <input name="id" value="{{ asset_group.id }}" type="checkbox" class="i-checks"> </td> - <td class="text-center"> {{ asset_group.name }} </td> + <td class="text-center"><a href="{% url 'asset_list' %}?group_id={{ asset_group.id }}">{{ asset_group.name }} </a> </td> <td class="text-center"> <a href="{% url 'asset_list' %}?group_id={{ asset_group.id }}">{{ asset_group.asset_set.count }}</a> </td> <td class="text-center"> {{ asset_group.comment }} </td> <td class="text-center"> - <a href="{% url 'asset_list' %}?group_id={{ asset_group.id }}" class="btn btn-xs btn-info">详情</a> <a href="{% url 'asset_group_edit' %}?id={{ asset_group.id }}" class="btn btn-xs btn-info">编辑</a> <a value="{% url 'asset_group_del' %}?id={{ asset_group.id }}" class="btn btn-xs btn-danger group_del">åˆ é™¤</a> </td> diff --git a/templates/jlog/log_exec.html b/templates/jlog/log_exec.html index 72f392b9078463cd90d5ef6e88d7326b928646df..f900f9f6372ee98671c8ad5a29ba8034e465cbe9 100644 --- a/templates/jlog/log_exec.html +++ b/templates/jlog/log_exec.html @@ -30,7 +30,7 @@ <div class="panel-options"> <ul class="nav nav-tabs"> <li><a href="{% url 'log_list' 'online' %}" class="text-center"><i class="fa fa-laptop"></i> 在线 </a></li> - <li><a href="{% url 'log_list' 'offline' %}" class="text-center"><i class="fa fa-bar-chart-o"></i> 历å²è®°å½• </a></li> + <li><a href="{% url 'log_list' 'offline' %}" class="text-center"><i class="fa fa-bar-chart-o"></i> 登录历å²</a></li> <li class="active"><a href="{% url 'log_list' 'exec' %}" class="text-center"><i class="fa fa-bar-chart-o"></i> 命令记录 </a></li> <li><a href="{% url 'log_list' 'file' %}" class="text-center"><i class="fa fa-bar-chart-o"></i> ä¸Šä¼ ä¸‹è½½ </a></li> <div class="" style="float: right"> diff --git a/templates/jlog/log_file.html b/templates/jlog/log_file.html index dd921fe90793135ef0d8175b3fc49933b908e021..e889582f2969e1fc63764b988e3723f13d4f82e5 100644 --- a/templates/jlog/log_file.html +++ b/templates/jlog/log_file.html @@ -30,7 +30,7 @@ <div class="panel-options"> <ul class="nav nav-tabs"> <li><a href="{% url 'log_list' 'online' %}" class="text-center"><i class="fa fa-laptop"></i> 在线 </a></li> - <li><a href="{% url 'log_list' 'offline' %}" class="text-center"><i class="fa fa-bar-chart-o"></i> 历å²è®°å½• </a></li> + <li><a href="{% url 'log_list' 'offline' %}" class="text-center"><i class="fa fa-bar-chart-o"></i> 登录历å²</a></li> <li><a href="{% url 'log_list' 'exec' %}" class="text-center"><i class="fa fa-bar-chart-o"></i> 命令记录 </a></li> <li class="active"><a href="{% url 'log_list' 'file' %}" class="text-center"><i class="fa fa-bar-chart-o"></i> ä¸Šä¼ ä¸‹è½½ </a></li> <div class="" style="float: right"> diff --git a/templates/jlog/log_offline.html b/templates/jlog/log_offline.html index b943f6dd2f6662e276b84ee658cf93bf43e4155b..62bda764f220d9b64198e445221ff141c0573d26 100644 --- a/templates/jlog/log_offline.html +++ b/templates/jlog/log_offline.html @@ -53,7 +53,7 @@ <div class="panel-options"> <ul class="nav nav-tabs"> <li><a href="{% url 'log_list' 'online' %}" class="text-center"><i class="fa fa-laptop"></i> 在线 </a></li> - <li class="active"><a href="{% url 'log_list' 'offline' %}" class="text-center"><i class="fa fa-bar-chart-o"></i> 历å²è®°å½• </a></li> + <li class="active"><a href="{% url 'log_list' 'offline' %}" class="text-center"><i class="fa fa-bar-chart-o"></i> 登录历å²</a></li> <li><a href="{% url 'log_list' 'exec' %}" class="text-center"><i class="fa fa-bar-chart-o"></i> 命令记录 </a></li> <li><a href="{% url 'log_list' 'file' %}" class="text-center"><i class="fa fa-bar-chart-o"></i> ä¸Šä¼ ä¸‹è½½ </a></li> </ul> diff --git a/templates/jlog/log_online.html b/templates/jlog/log_online.html index 6f02de861c5e39984e036d438e8b5157a8d15b25..14e55f95793f0dec6018146b6f6ecfaf304371b3 100644 --- a/templates/jlog/log_online.html +++ b/templates/jlog/log_online.html @@ -68,7 +68,7 @@ <div class="panel-options"> <ul class="nav nav-tabs"> <li class="active"><a href="{% url 'log_list' 'online' %}" class="text-center"><i class="fa fa-laptop"></i> 在线 </a></li> - <li><a href="{% url 'log_list' 'offline' %}" class="text-center"><i class="fa fa-bar-chart-o"></i> 历å²è®°å½• </a></li> + <li><a href="{% url 'log_list' 'offline' %}" class="text-center"><i class="fa fa-bar-chart-o"></i> 登录历å²</a></li> <li><a href="{% url 'log_list' 'exec' %}" class="text-center"><i class="fa fa-bar-chart-o"></i> 命令记录 </a></li> <li><a href="{% url 'log_list' 'file' %}" class="text-center"><i class="fa fa-bar-chart-o"></i> ä¸Šä¼ ä¸‹è½½ </a></li> <div class="" style="float: right"> diff --git a/templates/juser/change_info.html b/templates/juser/change_info.html index d2960340d41977de545010bf01b0c2f5485b367d..376ae54b871b1c68decf48f15d737675d8ea6b7c 100644 --- a/templates/juser/change_info.html +++ b/templates/juser/change_info.html @@ -52,7 +52,7 @@ <div class="hr-line-dashed"></div> <div class="form-group"> <label for="ssh_key_pwd" class="col-sm-2 control-label">SSH密钥</label> - <div class="col-sm-8"> + <div class="col-sm-8" style="border: none"> <a value="{% url 'key_gen' %}?uuid={{ user.uuid }}" id="regen_ssh_key" class="form-control"> 釿–°ç”Ÿæˆ</a> <span class="help-block m-b-none"> 釿–°ç”Ÿæˆå¯†é’¥ï¼Œéœ€è¦é‡æ–°ä¸‹è½½å¹¶å¯¼å…¥ diff --git a/templates/nav_bar_header.html b/templates/nav_bar_header.html index 4351196b4abe06b732539e826144984df2f2410c..a593cb111ff5b1ac09bd6748e6f8cb1bcf8be15d 100644 --- a/templates/nav_bar_header.html +++ b/templates/nav_bar_header.html @@ -15,61 +15,9 @@ </li> <li class="dropdown"> <a class="dropdown-toggle count-info" data-toggle="dropdown" href="#"> - <i class="fa fa-envelope"></i> <span class="label label-warning">{{ apply_info.count }}</span> + <span class="m-r-sm text-muted welcome-message">帮助</span> </a> - <ul class="dropdown-menu dropdown-messages"> - {% if apply_info %} - {% for apply in apply_info %} - <li> - <div class="dropdown-messages-box"> - <a href="" class="pull-left"> - <img alt="image" class="img-circle" src="/static/img/a4.jpg"> - </a> - <div class="media-body"> -{# <small class="pull-right text-navy">{{ apply.date_add|naturaltime }}</small>#} -{# <strong>{{ apply.applyer }}</strong><br>#} -{# <small class="text-muted">主机组: {{ apply.bisgroup|ast_to_list }}</small><br/>#} -{# <small class="text-muted">主机: {{ apply.asset|ast_to_list }}</small><br/>#} -{# <small class="text-muted">申请时间: {{ apply.date_add|date:"Y-m-d H:i:s" }}</small>#} - </div> - </div> - </li> - <li class="divider"></li> - {% endfor %} - <li> - <div class="text-center link-block"> - <a href=""> - <i class="fa fa-envelope"></i> <strong>Read All Messages</strong> - </a> - </div> - </li> - {% else %} - <li> - <div class="text-center link-block"> - <i class="fa fa-envelope"></i> <strong>(æš‚æ— ç”³è¯·)</strong> - </div> - </li> - {% endif %} - </ul> </li> -{# <li class="dropdown open">#} -{# <a class="dropdown-toggle count-info" data-toggle="dropdown" href="#" aria-expanded="true">#} -{# <i class="fa fa-bell"></i> <span class="label label-primary">0</span>#} -{# </a>#} -{# <ul class="dropdown-menu dropdown-alerts">#} -{# <li>#} -{# <a href="mailbox.html">#} -{# <div>#} -{# <i class="fa fa-envelope"></i> <strong>(æš‚æ— å‘Šè¦)</strong>#} -{# <i class="fa fa-envelope fa-fw"></i> You have 16 messages#} -{# <span class="pull-right text-muted small">4 minutes ago</span>#} -{# </div>#} -{# </a>#} -{# </li>#} -{# <li class="divider"></li>#} -{##} -{# </ul>#} -{# </li>#} <li> <a href="{% url 'logout' %}"> <i class="fa fa-sign-out"></i> Log out