Unverified Commit a2ec9e77 authored by 老广's avatar 老广 Committed by GitHub

Merge pull request #79 from jumpserver/dev

Dev
parents 213a4c05 2afb4d4a
...@@ -104,7 +104,6 @@ class SSHInterface(paramiko.ServerInterface): ...@@ -104,7 +104,6 @@ class SSHInterface(paramiko.ServerInterface):
token = info.get('token', None) token = info.get('token', None)
if seed and not token: if seed and not token:
self.otp_auth = True self.otp_auth = True
return user return user
def check_channel_direct_tcpip_request(self, chanid, origin, destination): def check_channel_direct_tcpip_request(self, chanid, origin, destination):
......
...@@ -67,7 +67,9 @@ class ReplayRecorder(metaclass=abc.ABCMeta): ...@@ -67,7 +67,9 @@ class ReplayRecorder(metaclass=abc.ABCMeta):
if self.storage.type == 'jms': if self.storage.type == 'jms':
return False return False
else: else:
self.storage = jms_storage.JMSReplayStorage(app_service) self.storage = jms_storage.JMSReplayStorage(
{"SERVICE": app_service}
)
self.upload_replay(session_id, times=3) self.upload_replay(session_id, times=3)
ok, msg = self.push_to_storage(session_id) ok, msg = self.push_to_storage(session_id)
......
...@@ -83,6 +83,7 @@ class Session: ...@@ -83,6 +83,7 @@ class Session:
return return
self._command_recorder.record({ self._command_recorder.record({
"session": self.id, "session": self.id,
"org_id": self.server.asset.org_id,
"input": _input, "input": _input,
"output": _output, "output": _output,
"user": self.client.user.username, "user": self.client.user.username,
...@@ -174,6 +175,7 @@ class Session: ...@@ -174,6 +175,7 @@ class Session:
"id": self.id, "id": self.id,
"user": self.client.user.username, "user": self.client.user.username,
"asset": self.server.asset.hostname, "asset": self.server.asset.hostname,
"org_id": self.server.asset.org_id,
"system_user": self.server.system_user.username, "system_user": self.server.system_user.username,
"login_from": self.login_from, "login_from": self.login_from,
"remote_addr": self.client.addr[0], "remote_addr": self.client.addr[0],
......
...@@ -51,10 +51,16 @@ class SFTPServer(paramiko.SFTPServerInterface): ...@@ -51,10 +51,16 @@ class SFTPServer(paramiko.SFTPServerInterface):
return self._sftp[host]['sftp'] return self._sftp[host]['sftp']
def get_perm_hosts(self): def get_perm_hosts(self):
hosts = {}
assets = app_service.get_user_assets( assets = app_service.get_user_assets(
self.server.request.user self.server.request.user
) )
return {asset.hostname: asset for asset in assets} for asset in assets:
key = asset.hostname
if asset.org_id:
key = "{}.{}".format(asset.hostname, asset.org_name)
hosts[key] = asset
return hosts
def parse_path(self, path): def parse_path(self, path):
data = path.lstrip('/').split('/') data = path.lstrip('/').split('/')
...@@ -89,10 +95,12 @@ class SFTPServer(paramiko.SFTPServerInterface): ...@@ -89,10 +95,12 @@ class SFTPServer(paramiko.SFTPServerInterface):
def create_ftp_log(self, path, operate, is_success=True, filename=None): def create_ftp_log(self, path, operate, is_success=True, filename=None):
host, su, rpath = self.parse_path(path) host, su, rpath = self.parse_path(path)
asset = self.hosts.get(host)
date_start = datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S") + " +0000", date_start = datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S") + " +0000",
data = { data = {
"user": self.server.request.user.username, "user": self.server.request.user.username,
"asset": host, "asset": host,
"org_id": asset.org_id,
"system_user": su, "system_user": su,
"remote_addr": self.server.request.addr[0], "remote_addr": self.server.request.addr[0],
"operate": operate, "operate": operate,
......
...@@ -19,10 +19,10 @@ itsdangerous==0.24 ...@@ -19,10 +19,10 @@ itsdangerous==0.24
Jinja2==2.10 Jinja2==2.10
jmespath==0.9.3 jmespath==0.9.3
jms-storage==0.0.18 jms-storage==0.0.18
jumpserver-python-sdk==0.0.44 jumpserver-python-sdk==0.0.47
MarkupSafe==1.0 MarkupSafe==1.0
oss2==2.4.0 oss2==2.4.0
paramiko==2.4.0 paramiko==2.4.1
psutil==5.4.1 psutil==5.4.1
pyasn1==0.4.2 pyasn1==0.4.2
pycparser==2.18 pycparser==2.18
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment