mirror of https://github.com/jumpserver/jumpserver
				
				
				
			修改配置文件为相对路径,不用再指定目录了
							parent
							
								
									838b10d3b6
								
							
						
					
					
						commit
						54da30d93b
					
				|  | @ -0,0 +1,7 @@ | |||
| <component name="InspectionProjectProfileManager"> | ||||
|   <profile version="1.0" is_locked="false"> | ||||
|     <option name="myName" value="Project Default" /> | ||||
|     <option name="myLocal" value="false" /> | ||||
|     <inspection_tool class="SqlDialectInspection" enabled="false" level="WARNING" enabled_by_default="false" /> | ||||
|   </profile> | ||||
| </component> | ||||
|  | @ -0,0 +1,7 @@ | |||
| <component name="InspectionProjectProfileManager"> | ||||
|   <settings> | ||||
|     <option name="PROJECT_PROFILE" value="Project Default" /> | ||||
|     <option name="USE_PROJECT_PROFILE" value="true" /> | ||||
|     <version value="1.0" /> | ||||
|   </settings> | ||||
| </component> | ||||
|  | @ -2,7 +2,7 @@ | |||
| <module type="PYTHON_MODULE" version="4"> | ||||
|   <component name="NewModuleRootManager"> | ||||
|     <content url="file://$MODULE_DIR$" /> | ||||
|     <orderEntry type="jdk" jdkName="Python 2.7.6 (C:/Python27/python.exe)" jdkType="Python SDK" /> | ||||
|     <orderEntry type="jdk" jdkName="Python 2.7.8 (C:\Python27\python.exe)" jdkType="Python SDK" /> | ||||
|     <orderEntry type="sourceFolder" forTests="false" /> | ||||
|   </component> | ||||
| </module> | ||||
|  |  | |||
|  | @ -1,11 +1,14 @@ | |||
| #!/usr/bin/python | ||||
| # coding: utf-8 | ||||
| 
 | ||||
| cur_dir = os.path.dirname(__file__) | ||||
| sys.path.append('%s/webroot/AutoSA/' % cur_dir) | ||||
| os.environ['DJANGO_SETTINGS_MODULE'] = 'AutoSa.settings' | ||||
| 
 | ||||
| import os | ||||
| import sys | ||||
| import subprocess | ||||
| import MySQLdb | ||||
| import pexpect | ||||
| import struct | ||||
| import fcntl | ||||
| import termios | ||||
|  | @ -17,10 +20,11 @@ from binascii import b2a_hex, a2b_hex | |||
| import ConfigParser | ||||
| import paramiko | ||||
| import pxssh | ||||
| from UserManage.models import User | ||||
| 
 | ||||
| 
 | ||||
| base_dir = "/opt/jumpserver/" | ||||
| cf = ConfigParser.ConfigParser() | ||||
| cf.read('%s/jumpserver.conf' % base_dir) | ||||
| cf.read('%s/jumpserver.conf' % cur_dir) | ||||
| 
 | ||||
| db_host = cf.get('db', 'host') | ||||
| db_port = cf.getint('db', 'port') | ||||
|  | @ -34,6 +38,8 @@ assets_user_table = cf.get('jumpserver', 'assets_user_table') | |||
| key = cf.get('jumpserver', 'key') | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| class PyCrypt(object): | ||||
|     """It's used to encrypt and decrypt password.""" | ||||
|     def __init__(self, key): | ||||
|  | @ -112,8 +118,11 @@ def connect(host, port, user, password): | |||
|     log_date_dir = '%s/%s' % (log_dir, time.strftime('%Y%m%d')) | ||||
|     if not os.path.isdir(log_date_dir): | ||||
|         os.mkdir(log_date_dir) | ||||
|     logfile = open("%s/%s_%s" % (log_date_dir, host, user), 'a') | ||||
|     logfile.write('\n\n%s\n\n' % time.strftime('%Y%m%d_%H%M%S')) | ||||
|     logfile = open("%s/%s_%s_%s" % (log_date_dir, host, user, time.strftime('%Y%m%d%H%M%S')), 'a') | ||||
|     db, cursor = connect_db(db_user, db_password, db_db, db_host, db_port) | ||||
|     cursor.execute('insert into logs (Fuser, Fhost, Flogfile, Fstart_time)  value (%s, %s, %s, UNIX_TIMESTAMP())' | ||||
|                    % (user, host, logfile)) | ||||
|     logfile.write('\n%s\n' % time.strftime('%Y/%m/%d %H:%M:%S')) | ||||
|     try: | ||||
|         global foo | ||||
|         foo = pxssh.pxssh() | ||||
|  | @ -122,10 +131,13 @@ def connect(host, port, user, password): | |||
|         foo.sendline('') | ||||
|         signal.signal(signal.SIGWINCH, sigwinch_passthrough) | ||||
|         foo.interact(escape_character=chr(28)) | ||||
|         cursor.execute('update logs set Ffindsh=True, Fend_time=UNIX_TIMESTAMP() where Flogfile=%s' % logfile) | ||||
|     except pxssh.ExceptionPxssh as e: | ||||
|         print('登录失败: %s' % e) | ||||
|         cursor.execute('update logs set Ffindsh=2  where Flogfile=%s' % logfile) | ||||
|     except KeyboardInterrupt: | ||||
|         foo.logout() | ||||
|         cursor.execute('update logs set Ffindsh=True, Fend_time=UNIX_TIMESTAMP() where Flogfile=%s ' % logfile) | ||||
| 
 | ||||
| 
 | ||||
| def ip_all_select(username): | ||||
|  |  | |||
|  | @ -12,16 +12,16 @@ https://docs.djangoproject.com/en/1.6/ref/settings/ | |||
| import os | ||||
| import ConfigParser | ||||
| 
 | ||||
| base_dir = "/opt/jumpserver/" | ||||
| cf = ConfigParser.ConfigParser() | ||||
| cf.read('%s/jumpserver.conf' % base_dir) | ||||
| BASE_DIR = os.path.dirname(os.path.dirname(__file__)) | ||||
| CONF_DIR = os.path.dirname(os.path.dirname(BASE_DIR)) | ||||
| CF = ConfigParser.ConfigParser() | ||||
| CF.read('%s/jumpserver.conf' % CONF_DIR) | ||||
| 
 | ||||
| db_host = cf.get('db', 'host') | ||||
| db_port = cf.getint('db', 'port') | ||||
| db_user = cf.get('db', 'user') | ||||
| db_password = cf.get('db', 'password') | ||||
| db_db = cf.get('db', 'db') | ||||
| DB_HOST = CF.get('db', 'host') | ||||
| DB_PORT = CF.getint('db', 'port') | ||||
| DB_USER = CF.get('db', 'user') | ||||
| DB_PASSWORD = CF.get('db', 'password') | ||||
| DB_DB = CF.get('db', 'db') | ||||
| 
 | ||||
| # Quick-start development settings - unsuitable for production | ||||
| # See https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/ | ||||
|  | @ -71,11 +71,11 @@ WSGI_APPLICATION = 'AutoSa.wsgi.application' | |||
| DATABASES = { | ||||
|     'default': { | ||||
|         'ENGINE': 'django.db.backends.mysql', | ||||
|         'NAME': db_db, | ||||
|         'USER': db_user, | ||||
|         'PASSWORD': db_password, | ||||
|         'HOST': db_host, | ||||
|         'PORT': db_port, | ||||
|         'NAME': DB_DB, | ||||
|         'USER': DB_USER, | ||||
|         'PASSWORD': DB_PASSWORD, | ||||
|         'HOST': DB_HOST, | ||||
|         'PORT': DB_PORT, | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -23,3 +23,16 @@ class User(models.Model): | |||
|         return self.username | ||||
| 
 | ||||
| 
 | ||||
| class Logs(models.Model): | ||||
|     user = models.CharField(max_length=50) | ||||
|     host = models.CharField(max_length=20) | ||||
|     logfile = models.CharField(max_length=1000) | ||||
|     finish = models.SmallIntegerField(max_length=4) | ||||
|     start_time = models.IntegerField() | ||||
|     end_time = models.IntegerField() | ||||
| 
 | ||||
|     def __unicode__(self): | ||||
|         return self.logfile | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 ibuler
						ibuler