Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
J
jumpserver
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ops
jumpserver
Commits
d63d4eb0
Commit
d63d4eb0
authored
9 years ago
by
ibuler
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into fix_passwd_input
parents
987b1c2c
8526437c
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
10 additions
and
11 deletions
+10
-11
connect.py
connect.py
+2
-2
utils.py
jperm/utils.py
+1
-1
api.py
jumpserver/api.py
+5
-6
user_api.py
juser/user_api.py
+2
-2
No files found.
connect.py
View file @
d63d4eb0
...
@@ -180,8 +180,8 @@ class Tty(object):
...
@@ -180,8 +180,8 @@ class Tty(object):
log_file_path
=
os
.
path
.
join
(
today_connect_log_dir
,
'
%
s_
%
s_
%
s'
%
(
self
.
username
,
self
.
asset_name
,
time_start
))
log_file_path
=
os
.
path
.
join
(
today_connect_log_dir
,
'
%
s_
%
s_
%
s'
%
(
self
.
username
,
self
.
asset_name
,
time_start
))
try
:
try
:
mkdir
(
os
.
path
.
dirname
(
today_connect_log_dir
),
mode
=
0
777
)
mkdir
(
os
.
path
.
dirname
(
today_connect_log_dir
),
mode
=
777
)
mkdir
(
today_connect_log_dir
,
mode
=
0
777
)
mkdir
(
today_connect_log_dir
,
mode
=
777
)
except
OSError
:
except
OSError
:
logger
.
debug
(
'创建目录
%
s 失败,请修改
%
s目录权限'
%
(
today_connect_log_dir
,
tty_log_dir
))
logger
.
debug
(
'创建目录
%
s 失败,请修改
%
s目录权限'
%
(
today_connect_log_dir
,
tty_log_dir
))
raise
ServerError
(
'创建目录
%
s 失败,请修改
%
s目录权限'
%
(
today_connect_log_dir
,
tty_log_dir
))
raise
ServerError
(
'创建目录
%
s 失败,请修改
%
s目录权限'
%
(
today_connect_log_dir
,
tty_log_dir
))
...
...
This diff is collapsed.
Click to expand it.
jperm/utils.py
View file @
d63d4eb0
...
@@ -42,7 +42,7 @@ def gen_keys(key="", key_path_dir=""):
...
@@ -42,7 +42,7 @@ def gen_keys(key="", key_path_dir=""):
key_path_dir
=
os
.
path
.
join
(
KEY_DIR
,
'role_key'
,
key_basename
)
key_path_dir
=
os
.
path
.
join
(
KEY_DIR
,
'role_key'
,
key_basename
)
private_key
=
os
.
path
.
join
(
key_path_dir
,
'id_rsa'
)
private_key
=
os
.
path
.
join
(
key_path_dir
,
'id_rsa'
)
public_key
=
os
.
path
.
join
(
key_path_dir
,
'id_rsa.pub'
)
public_key
=
os
.
path
.
join
(
key_path_dir
,
'id_rsa.pub'
)
mkdir
(
key_path_dir
,
mode
=
0
755
)
mkdir
(
key_path_dir
,
mode
=
755
)
if
not
key
:
if
not
key
:
key
=
RSAKey
.
generate
(
2048
)
key
=
RSAKey
.
generate
(
2048
)
key
.
write_private_key_file
(
private_key
)
key
.
write_private_key_file
(
private_key
)
...
...
This diff is collapsed.
Click to expand it.
jumpserver/api.py
View file @
d63d4eb0
...
@@ -91,7 +91,7 @@ def get_role_key(user, role):
...
@@ -91,7 +91,7 @@ def get_role_key(user, role):
"""
"""
user_role_key_dir
=
os
.
path
.
join
(
KEY_DIR
,
'user'
)
user_role_key_dir
=
os
.
path
.
join
(
KEY_DIR
,
'user'
)
user_role_key_path
=
os
.
path
.
join
(
user_role_key_dir
,
'
%
s_
%
s.pem'
%
(
user
.
username
,
role
.
name
))
user_role_key_path
=
os
.
path
.
join
(
user_role_key_dir
,
'
%
s_
%
s.pem'
%
(
user
.
username
,
role
.
name
))
mkdir
(
user_role_key_dir
,
mode
=
0
777
)
mkdir
(
user_role_key_dir
,
mode
=
777
)
if
not
os
.
path
.
isfile
(
user_role_key_path
):
if
not
os
.
path
.
isfile
(
user_role_key_path
):
with
open
(
os
.
path
.
join
(
role
.
key_path
,
'id_rsa'
))
as
fk
:
with
open
(
os
.
path
.
join
(
role
.
key_path
,
'id_rsa'
))
as
fk
:
with
open
(
user_role_key_path
,
'w'
)
as
fu
:
with
open
(
user_role_key_path
,
'w'
)
as
fu
:
...
@@ -458,14 +458,13 @@ def bash(cmd):
...
@@ -458,14 +458,13 @@ def bash(cmd):
return
subprocess
.
call
(
cmd
,
shell
=
True
)
return
subprocess
.
call
(
cmd
,
shell
=
True
)
def
mkdir
(
dir_name
,
username
=
''
,
mode
=
0
755
):
def
mkdir
(
dir_name
,
username
=
''
,
mode
=
755
):
"""
"""
insure the dir exist and mode ok
insure the dir exist and mode ok
目录存在,如果不存在就建立,并且权限正确
目录存在,如果不存在就建立,并且权限正确
"""
"""
if
not
os
.
path
.
isdir
(
dir_name
):
cmd
=
'[ ! -d
%
s ] && mkdir -p
%
s && chmod
%
s
%
s'
%
(
dir_name
,
dir_name
,
mode
,
dir_name
)
os
.
makedirs
(
dir_name
)
bash
(
cmd
)
os
.
chmod
(
dir_name
,
mode
)
if
username
:
if
username
:
chown
(
dir_name
,
username
)
chown
(
dir_name
,
username
)
...
@@ -486,7 +485,7 @@ def my_render(template, data, request):
...
@@ -486,7 +485,7 @@ def my_render(template, data, request):
def
get_tmp_dir
():
def
get_tmp_dir
():
seed
=
uuid
.
uuid4
()
.
hex
[:
4
]
seed
=
uuid
.
uuid4
()
.
hex
[:
4
]
dir_name
=
os
.
path
.
join
(
'/tmp'
,
'
%
s-
%
s'
%
(
datetime
.
datetime
.
now
()
.
strftime
(
'
%
Y
%
m
%
d-
%
H
%
M
%
S'
),
seed
))
dir_name
=
os
.
path
.
join
(
'/tmp'
,
'
%
s-
%
s'
%
(
datetime
.
datetime
.
now
()
.
strftime
(
'
%
Y
%
m
%
d-
%
H
%
M
%
S'
),
seed
))
mkdir
(
dir_name
,
mode
=
0
777
)
mkdir
(
dir_name
,
mode
=
777
)
return
dir_name
return
dir_name
...
...
This diff is collapsed.
Click to expand it.
juser/user_api.py
View file @
d63d4eb0
...
@@ -130,14 +130,14 @@ def gen_ssh_key(username, password='',
...
@@ -130,14 +130,14 @@ def gen_ssh_key(username, password='',
"""
"""
logger
.
debug
(
'生成ssh key, 并设置authorized_keys'
)
logger
.
debug
(
'生成ssh key, 并设置authorized_keys'
)
private_key_file
=
os
.
path
.
join
(
key_dir
,
username
+
'.pem'
)
private_key_file
=
os
.
path
.
join
(
key_dir
,
username
+
'.pem'
)
mkdir
(
key_dir
,
mode
=
0
777
)
mkdir
(
key_dir
,
mode
=
777
)
if
os
.
path
.
isfile
(
private_key_file
):
if
os
.
path
.
isfile
(
private_key_file
):
os
.
unlink
(
private_key_file
)
os
.
unlink
(
private_key_file
)
ret
=
bash
(
'echo -e "y
\n
"|ssh-keygen -t rsa -f
%
s -b
%
s -P "
%
s"'
%
(
private_key_file
,
length
,
password
))
ret
=
bash
(
'echo -e "y
\n
"|ssh-keygen -t rsa -f
%
s -b
%
s -P "
%
s"'
%
(
private_key_file
,
length
,
password
))
if
authorized_keys
:
if
authorized_keys
:
auth_key_dir
=
os
.
path
.
join
(
home
,
username
,
'.ssh'
)
auth_key_dir
=
os
.
path
.
join
(
home
,
username
,
'.ssh'
)
mkdir
(
auth_key_dir
,
username
=
username
,
mode
=
0
700
)
mkdir
(
auth_key_dir
,
username
=
username
,
mode
=
700
)
authorized_key_file
=
os
.
path
.
join
(
auth_key_dir
,
'authorized_keys'
)
authorized_key_file
=
os
.
path
.
join
(
auth_key_dir
,
'authorized_keys'
)
with
open
(
private_key_file
+
'.pub'
)
as
pub_f
:
with
open
(
private_key_file
+
'.pub'
)
as
pub_f
:
with
open
(
authorized_key_file
,
'w'
)
as
auth_f
:
with
open
(
authorized_key_file
,
'w'
)
as
auth_f
:
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment