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
b5b14373
Commit
b5b14373
authored
8 years ago
by
ibuler
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of github.com:jumpserver/jumpserver
parents
f8eedc86
270499a4
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
34 additions
and
31 deletions
+34
-31
ansible_api.py
jperm/ansible_api.py
+6
-0
views.py
jperm/views.py
+0
-1
perm_role_list.html
templates/jperm/perm_role_list.html
+28
-30
No files found.
jperm/ansible_api.py
View file @
b5b14373
...
@@ -316,6 +316,8 @@ class MyTask(MyRunner):
...
@@ -316,6 +316,8 @@ class MyTask(MyRunner):
"""
"""
push the ssh authorized key to target.
push the ssh authorized key to target.
"""
"""
if
user
==
'root'
:
return
{
"status"
:
"failed"
,
"msg"
:
"root cann't be delete"
}
module_args
=
'user="
%
s" key="{{ lookup("file", "
%
s") }}" state="absent"'
%
(
user
,
key_path
)
module_args
=
'user="
%
s" key="{{ lookup("file", "
%
s") }}" state="absent"'
%
(
user
,
key_path
)
self
.
run
(
"authorized_key"
,
module_args
,
become
=
True
)
self
.
run
(
"authorized_key"
,
module_args
,
become
=
True
)
...
@@ -361,6 +363,8 @@ class MyTask(MyRunner):
...
@@ -361,6 +363,8 @@ class MyTask(MyRunner):
"""
"""
delete a host user.
delete a host user.
"""
"""
if
username
==
'root'
:
return
{
"status"
:
"failed"
,
"msg"
:
"root cann't be delete"
}
module_args
=
'name=
%
s state=absent remove=yes move_home=yes force=yes'
%
username
module_args
=
'name=
%
s state=absent remove=yes move_home=yes force=yes'
%
username
self
.
run
(
"user"
,
module_args
,
become
=
True
)
self
.
run
(
"user"
,
module_args
,
become
=
True
)
return
self
.
results
return
self
.
results
...
@@ -371,6 +375,8 @@ class MyTask(MyRunner):
...
@@ -371,6 +375,8 @@ class MyTask(MyRunner):
:param username:
:param username:
:return:
:return:
"""
"""
if
username
==
'root'
:
return
{
"status"
:
"failed"
,
"msg"
:
"root cann't be delete"
}
module_args
=
"sed -i 's/^
%
s.*//' /etc/sudoers"
%
username
module_args
=
"sed -i 's/^
%
s.*//' /etc/sudoers"
%
username
self
.
run
(
"command"
,
module_args
,
become
=
True
)
self
.
run
(
"command"
,
module_args
,
become
=
True
)
return
self
.
results
return
self
.
results
...
...
This diff is collapsed.
Click to expand it.
jperm/views.py
View file @
b5b14373
...
@@ -333,7 +333,6 @@ def perm_role_delete(request):
...
@@ -333,7 +333,6 @@ def perm_role_delete(request):
raise
ServerError
(
u"role_id
%
s 无数据记录"
%
role_id
)
raise
ServerError
(
u"role_id
%
s 无数据记录"
%
role_id
)
# 删除推送到主机上的role
# 删除推送到主机上的role
filter_type
=
request
.
GET
.
get
(
"filter_type"
)
filter_type
=
request
.
GET
.
get
(
"filter_type"
)
print
filter_type
if
filter_type
:
if
filter_type
:
if
filter_type
==
"recycle_assets"
:
if
filter_type
==
"recycle_assets"
:
recycle_assets
=
[
push
.
asset
for
push
in
role
.
perm_push
.
all
()
if
push
.
success
]
recycle_assets
=
[
push
.
asset
for
push
in
role
.
perm_push
.
all
()
if
push
.
success
]
...
...
This diff is collapsed.
Click to expand it.
templates/jperm/perm_role_list.html
View file @
b5b14373
...
@@ -87,39 +87,37 @@ function remove_role(role_id){
...
@@ -87,39 +87,37 @@ function remove_role(role_id){
url
:
"{% url 'role_del' %}"
,
url
:
"{% url 'role_del' %}"
,
data
:
{
id
:
role_id
,
filter_type
:
'recycle_assets'
},
data
:
{
id
:
role_id
,
filter_type
:
'recycle_assets'
},
success
:
function
(
data
)
{
success
:
function
(
data
)
{
console
.
log
(
data
)
var
msg
=
data
+
" 资产上的系统用户会被删除, 包括其家目录,请谨慎操作!"
;
if
(
data
)
{
layer
.
alert
(
msg
,
{
msg
=
data
+
"的系统用户会被删除,包括其家目录,请谨慎操作!"
title
:
'警告'
,
}
closeBtn
:
0
else
{
},
function
(){
msg
=
"该角色无已推送的系统用户, 可以安全删除"
layer
.
confirm
(
'危险动作, 除非你非常明白自己在做什么,否则请取消'
,
{
}
title
:
'再次确认'
,
if
(
confirm
(
msg
))
{
btn
:
[
'确认'
,
'取消'
]
$
.
ajax
({
},
function
(){
type
:
"POST"
,
$
.
ajax
({
url
:
"{% url 'role_del' %}"
,
type
:
"POST"
,
data
:
"id="
+
role_id
,
url
:
"{% url 'role_del' %}"
,
success
:
function
(
msg
){
data
:
"id="
+
role_id
,
alert
(
"成功: "
+
msg
);
success
:
function
(
msg
){
var
del_row
=
$
(
'tbody#edittbody>tr#'
+
role_id
);
layer
.
msg
(
"成功: "
+
msg
);
del_row
.
remove
()
var
del_row
=
$
(
'tbody#edittbody>tr#'
+
role_id
);
},
del_row
.
remove
()
error
:
function
(
msg
)
{
},
console
.
log
(
msg
);
error
:
function
(
msg
)
{
alert
(
"失败: "
+
msg
.
responseText
)
console
.
log
(
msg
);
}
layer
.
alert
(
"失败: "
+
msg
.
responseText
)
});
}
}
});
},
},
function
(){
layer
.
msg
(
'取消'
,
{
icon
:
1
})
})
})},
error
:
function
(
error
)
{
error
:
function
(
error
)
{
alert
(
error
)
alert
(
error
)
}
,
}
});
});
}
}
</script>
</script>
...
...
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