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
cde3185a
Commit
cde3185a
authored
Dec 22, 2015
by
ibuler
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev'
parents
9efd42d4
40ae57d7
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
15 additions
and
7 deletions
+15
-7
utils.py
jperm/utils.py
+4
-5
views.py
jperm/views.py
+3
-1
perm_role_add.html
templates/jperm/perm_role_add.html
+8
-1
No files found.
jperm/utils.py
View file @
cde3185a
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
import
random
import
os.path
import
os.path
import
shutil
import
shutil
from
paramiko
import
SSHException
from
paramiko
import
SSHException
...
@@ -8,9 +7,9 @@ from paramiko.rsakey import RSAKey
...
@@ -8,9 +7,9 @@ from paramiko.rsakey import RSAKey
from
jumpserver.api
import
mkdir
from
jumpserver.api
import
mkdir
from
uuid
import
uuid4
from
uuid
import
uuid4
from
jumpserver.api
import
CRYPTOR
from
jumpserver.api
import
CRYPTOR
from
os
import
makedirs
from
tempfile
import
NamedTemporaryFile
from
jumpserver.api
import
logger
from
jumpserver.settings
import
KEY_DIR
from
jumpserver.settings
import
KEY_DIR
...
@@ -55,9 +54,9 @@ def gen_keys(key="", key_path_dir=""):
...
@@ -55,9 +54,9 @@ def gen_keys(key="", key_path_dir=""):
with
open
(
key_file
)
as
f
:
with
open
(
key_file
)
as
f
:
try
:
try
:
key
=
RSAKey
.
from_private_key
(
f
)
key
=
RSAKey
.
from_private_key
(
f
)
except
SSHException
:
except
SSHException
,
e
:
shutil
.
rmtree
(
key_path_dir
,
ignore_errors
=
True
)
shutil
.
rmtree
(
key_path_dir
,
ignore_errors
=
True
)
raise
SSHException
raise
SSHException
(
e
)
os
.
chmod
(
private_key
,
0644
)
os
.
chmod
(
private_key
,
0644
)
with
open
(
public_key
,
'w'
)
as
content_file
:
with
open
(
public_key
,
'w'
)
as
content_file
:
...
...
jperm/views.py
View file @
cde3185a
...
@@ -294,7 +294,10 @@ def perm_role_add(request):
...
@@ -294,7 +294,10 @@ def perm_role_add(request):
# 生成随机密码,生成秘钥对
# 生成随机密码,生成秘钥对
sudos_obj
=
[
get_object
(
PermSudo
,
id
=
sudo_id
)
for
sudo_id
in
sudo_ids
]
sudos_obj
=
[
get_object
(
PermSudo
,
id
=
sudo_id
)
for
sudo_id
in
sudo_ids
]
if
key_content
:
if
key_content
:
try
:
key_path
=
gen_keys
(
key
=
key_content
)
key_path
=
gen_keys
(
key
=
key_content
)
except
SSHException
,
e
:
raise
ServerError
(
e
)
else
:
else
:
key_path
=
gen_keys
()
key_path
=
gen_keys
()
logger
.
debug
(
'generate role key:
%
s'
%
key_path
)
logger
.
debug
(
'generate role key:
%
s'
%
key_path
)
...
@@ -305,7 +308,6 @@ def perm_role_add(request):
...
@@ -305,7 +308,6 @@ def perm_role_add(request):
return
HttpResponseRedirect
(
reverse
(
'role_list'
))
return
HttpResponseRedirect
(
reverse
(
'role_list'
))
except
ServerError
,
e
:
except
ServerError
,
e
:
error
=
e
error
=
e
return
my_render
(
'jperm/perm_role_add.html'
,
locals
(),
request
)
return
my_render
(
'jperm/perm_role_add.html'
,
locals
(),
request
)
...
...
templates/jperm/perm_role_add.html
View file @
cde3185a
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<label
for=
"role_key"
class=
"col-sm-2 control-label"
>
用户密钥
</label>
<label
for=
"role_key"
class=
"col-sm-2 control-label"
>
用户密钥
</label>
<div
class=
"col-sm-8"
>
<div
class=
"col-sm-8"
>
<textarea
class=
"form-control"
name=
"role_key"
placeholder=
"请复制粘贴私钥"
rows=
"10"
style=
"font-size: 9px;"
></textarea>
<textarea
id=
'role_key'
class=
"form-control"
name=
"role_key"
placeholder=
"请复制粘贴私钥"
rows=
"10"
style=
"font-size: 9px;"
></textarea>
<span
class=
"help-block m-b-none"
>
如果不添加密钥,会自动生成
</span>
<span
class=
"help-block m-b-none"
>
如果不添加密钥,会自动生成
</span>
</div>
</div>
</div>
</div>
...
@@ -93,6 +93,7 @@ $('#roleForm').validator({
...
@@ -93,6 +93,7 @@ $('#roleForm').validator({
theme
:
"yellow_right_effect"
,
theme
:
"yellow_right_effect"
,
rules
:
{
rules
:
{
check_name
:
[
/^
\w{2,20}
$/
,
'大小写字母数字和下划线,2-20位'
],
check_name
:
[
/^
\w{2,20}
$/
,
'大小写字母数字和下划线,2-20位'
],
check_begin
:
[
/^
[\-]
+BEGIN RSA PRIVATE KEY
[\-]
+/gm
,
'请填写正确的RSA Key'
],
{
#
either
:
function
(){
#
}
{
#
either
:
function
(){
#
}
{
#
return
$
(
'#role_password'
).
val
()
==
''
#
}
{
#
return
$
(
'#role_password'
).
val
()
==
''
#
}
{
#
}
#
}
{
#
}
#
}
...
@@ -105,6 +106,10 @@ $('#roleForm').validator({
...
@@ -105,6 +106,10 @@ $('#roleForm').validator({
ok
:
""
,
ok
:
""
,
msg
:
{
required
:
"系统用户名称必填"
}
msg
:
{
required
:
"系统用户名称必填"
}
},
},
"role_key"
:
{
rule
:
"required;check_begin"
,
tip
:
"请输入正确格式的RSA私钥"
},
{
#
"role_key"
:
{
#
}
{
#
"role_key"
:
{
#
}
{
#
rule
:
"required(either)"
,
#
}
{
#
rule
:
"required(either)"
,
#
}
{
#
tip
:
"输入密钥"
,
#
}
{
#
tip
:
"输入密钥"
,
#
}
...
@@ -129,6 +134,8 @@ for (var selector in config) {
...
@@ -129,6 +134,8 @@ for (var selector in config) {
$
(
selector
).
chosen
(
config
[
selector
]);
$
(
selector
).
chosen
(
config
[
selector
]);
}
}
</script>
</script>
<script
src=
"/static/js/cropper/cropper.min.js"
></script>
<script
src=
"/static/js/cropper/cropper.min.js"
></script>
<script
src=
"/static/js/datapicker/bootstrap-datepicker.js"
></script>
<script
src=
"/static/js/datapicker/bootstrap-datepicker.js"
></script>
...
...
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