Skip to content

Interactive commands⚓︎

Improper operation may lead to data loss. Please carefully confirm before performing any operation

1 Operation methods⚓︎

docker exec -it jms_core bash
cd /opt/jumpserver/apps
python manage.py shell
# Before performing any operation with the new version, make sure to switch to the corresponding organization, Default is 'Default'
from orgs.models import *
Organization.objects.all()
org = Organization.objects.get(name='Default')
org.change_to()

  • Select the interactive command object to view

from users.models import *

# User
User.objects.all()
User.objects.count()  # Quantity

# Designate user for query
user = User.objects.get(username = 'admin')

# query the user mail
user.email

# update the user mail
user.email='test@jumpserver.org'

# update the password
user.reset_password('test01')

# saved the modification
user.save

# Delete user MFA key
user.otp_secret_key=''
user.save

# Create new user
User.objects.create(name = 'Testing user', username = 'test', email = 'test@jumpserver.org')

# Test whether the user name is duplicated. If it does not exist, create it
User.objects.get_or_create(name = 'Testing user', username = 'test', email = 'test@jumpserver.org')

user = User.objects.get(username = 'test')
user.delete()

# More smart method for user delet
User.objects.all().filter(username='test').delete()
# User group
UserGroup.objects.all()
UserGroup.objects.count()

# Create user group
UserGroup.objects.create(name = 'Test')
group = UserGroup.objects.get(name = 'Test')

# Add user for user group
user = User.objects.get(username='test')
group.users.add(user)
group.save

# Delete user for user group
user = User.objects.get(username='test')
group.users.remove(user)
group.save

# Delete user group
UserGroup.objects.all().filter(name='Test').delete()

from assets.models import *

# Asset
Asset.objects.all()
Asset.objects.count()

# Create
asset = Asset.objects.create(hostname = 'test', ip = '172.16.0.1')

# Delete
asset = Asset.objects.get(hostname = 'test')
asset.delete()
# Node
Node.objects.all()
Node.objects.count()

node = Node.objects.get(value = 'Test')

asset = Asset.objects.get(hostname = 'test')
# Add asset to node
node.assets.add(asset)

# Delete asset in node
node.assets.remove(asset)

node.delete()

2 Data decryption⚓︎

  • Select system user type for data decryption

docker exec -it jms_core bash
cd /opt/jumpserver/apps
python manage.py shell
from assets.models import SystemUser
# 81aef7ac-e432-4d1b-aaf5-a3bc37c2b230 is the ID of the system user you want to query, You can find this field in the system user details on the web page
u = SystemUser.objects.get(id='81aef7ac-e432-4d1b-aaf5-a3bc37c2b230')
u.password
Out[4]: 'YVo87b+AvwpnAX2igWRTHdAlP0hL'
u.private_key
Out[6]: '-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAxg4C1KKD5mz+3arCKETugJggR4HzEvIjAutKv+zZwAYm5SbB
3IGXoEzdXbk/9u1btyTGbmTpKubsJh5MeGlHWExqzA2n9NsC/3hYenjwm1OP1Vhc
bGZYnZTqbUGTiWiRhtXUCOC2yzgSdLiCLGS5XdIVEhCO3AvWZCvauhEQYu3PLlUN
Xuc7JZBLGrZ+YVo87b+AvwpnAX2igWRTHdAlP0hL+MWoN3lzba90Jox1zJNeyZ64
M/u1TsiMGGWs/H35SqpH9jerCl5+1Mqw5oryidYApuNOilN8ucYa6XDueweEXkHk
oY8QxwaC8GFLZErb0Ov8lzEhlpALsCYgekiecQIDAQABAoIBAQC5W/OaPl9kES6X
F3GPbrQo9jd/tUdhu+y4lq3m4i0JYriUTqmxTjgydr3XMcGDwLHNvkVYnGj9FhJ9
um2nZCC5qwto3n8K1s8DegaU2QuXLX64FXKqoT8efLjKeE00lQFeSFGh3W4208uy
Idzy33H9NNkzhvutRgboyYJ0EfRcIL/wyxc0ndMKt/bVYH8T14aWViVRF7OyiIkd
eFx7tdnVscBSujNX027ycmjElwRf9TPNFUFwF5XGf3xwWjPmBNWr91XxPcF9VecG
gyd9qxNd12YYGcX4SR6V0p+36Av+rZoHB0405b/ZncmevSStUCu6fTtQYwdCZj0p
PgTradABAoGBAOVjCRleXfO9OVc4Y7sM2+1i/So5dmp66foC76j6CDKzztA2b5FX
tduNhoObeNYdnV32WvW3/xXcFWFnbWf0Eymx2DMuxMfWlTvM0InParq0TpeVMWMP
uxW+7YNZ9IWuuLMs3jfY1lRQBUgVlcb0zA7tjWZO/n/mKW5Fd2rItvmRAoGBAN0I
YzFGEPoKgGqYme58KpebM1jt1XoyLtbH1ygRvaPlnLfPDBsBhrqLCyR3+oK0kFlM
f7Neqo86hCQ/aqVC1lMu2o3htg52b1Mj2T0YUTNsPTwx+8lHciRnqJZytHRjwfFC
4UySAzWKDDQZcIQGTAsdoXngkAZFITMBZBdRz+bhAoGAfytphvvvIEq+eGFVwQR/
BNtFOVyEDsI35xgrn8WGN/3BYWNcdPpoYuDSOzI9So8+iDIk+WbZb1gFLmv1lpUU
7p+fGbkK9TM8ptuEnXI1XG7Lx3O53o6BDKw95vz+98IGuabdR57aLAH0+6Kj15ot
avU92ANhSqziOTUf4D6IWlECgYAe+kr0n+5HLOuchPCl9O7/Ongy0Xpm2tunrHBi
JEJg0xBoznLS5h7gzBXusYYBhY7phQgsumrLEhdtARpQORa/Q8TLt8ONOVoW2+JZ
ZqwSuevHIPY52nKL2Z9OHptd6JFI3+e1lI0wlr1pG9uiFUPZFvkHnMpypoOlo19E
yWmK4QKBgQCVmBTLSA+M3WJqDBK2Z6lUaDCaAjwn2Q5RSq2B/lLjzaod6WYWyecY
NASeo6CC4fxOCfMJN1DT5CLyW4XpRk3GeR4QKSfFkwD2yRqk+7opm8PppdMuLZKU
LQMMI90AWvU3Cx9aAbl1bLSIT0qRoc5FGwmLEL12yDBZA2l3vYhnaw==
-----END RSA PRIVATE KEY-----'

docker exec -it jms_core bash
cd /opt/jumpserver/apps
python manage.py shell
from assets.models import SystemUser, Asset
# 81aef7ac-e432-4d1b-aaf5-a3bc37c2b230 is the ID of the system user you want to query, You can find this field in the system user details on the web page
user = SystemUser.objects.get(id='81aef7ac-e432-4d1b-aaf5-a3bc37c2b230')

# 5ae0c750-91e3-4a32-81d3-6576068b74f3 is the ID of the system user you want to query, You can find this field in the system user details on the web page
asset = Asset.objects.get(id='5ae0c750-91e3-4a32-81d3-6576068b74f3')

# Switch to group for system user
user.org.change_to()
u = user.get_asset_user(asset)
u.password
Out[7]: 'YVo87b+AvwpnAX2igWRTHdAlP0hL'
u.private_key
Out[9]: '-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAxg4C1KKD5mz+3arCKETugJggR4HzEvIjAutKv+zZwAYm5SbB
3IGXoEzdXbk/9u1btyTGbmTpKubsJh5MeGlHWExqzA2n9NsC/3hYenjwm1OP1Vhc
bGZYnZTqbUGTiWiRhtXUCOC2yzgSdLiCLGS5XdIVEhCO3AvWZCvauhEQYu3PLlUN
Xuc7JZBLGrZ+YVo87b+AvwpnAX2igWRTHdAlP0hL+MWoN3lzba90Jox1zJNeyZ64
M/u1TsiMGGWs/H35SqpH9jerCl5+1Mqw5oryidYApuNOilN8ucYa6XDueweEXkHk
oY8QxwaC8GFLZErb0Ov8lzEhlpALsCYgekiecQIDAQABAoIBAQC5W/OaPl9kES6X
F3GPbrQo9jd/tUdhu+y4lq3m4i0JYriUTqmxTjgydr3XMcGDwLHNvkVYnGj9FhJ9
um2nZCC5qwto3n8K1s8DegaU2QuXLX64FXKqoT8efLjKeE00lQFeSFGh3W4208uy
Idzy33H9NNkzhvutRgboyYJ0EfRcIL/wyxc0ndMKt/bVYH8T14aWViVRF7OyiIkd
eFx7tdnVscBSujNX027ycmjElwRf9TPNFUFwF5XGf3xwWjPmBNWr91XxPcF9VecG
gyd9qxNd12YYGcX4SR6V0p+36Av+rZoHB0405b/ZncmevSStUCu6fTtQYwdCZj0p
PgTradABAoGBAOVjCRleXfO9OVc4Y7sM2+1i/So5dmp66foC76j6CDKzztA2b5FX
tduNhoObeNYdnV32WvW3/xXcFWFnbWf0Eymx2DMuxMfWlTvM0InParq0TpeVMWMP
uxW+7YNZ9IWuuLMs3jfY1lRQBUgVlcb0zA7tjWZO/n/mKW5Fd2rItvmRAoGBAN0I
YzFGEPoKgGqYme58KpebM1jt1XoyLtbH1ygRvaPlnLfPDBsBhrqLCyR3+oK0kFlM
f7Neqo86hCQ/aqVC1lMu2o3htg52b1Mj2T0YUTNsPTwx+8lHciRnqJZytHRjwfFC
4UySAzWKDDQZcIQGTAsdoXngkAZFITMBZBdRz+bhAoGAfytphvvvIEq+eGFVwQR/
BNtFOVyEDsI35xgrn8WGN/3BYWNcdPpoYuDSOzI9So8+iDIk+WbZb1gFLmv1lpUU
7p+fGbkK9TM8ptuEnXI1XG7Lx3O53o6BDKw95vz+98IGuabdR57aLAH0+6Kj15ot
avU92ANhSqziOTUf4D6IWlECgYAe+kr0n+5HLOuchPCl9O7/Ongy0Xpm2tunrHBi
JEJg0xBoznLS5h7gzBXusYYBhY7phQgsumrLEhdtARpQORa/Q8TLt8ONOVoW2+JZ
ZqwSuevHIPY52nKL2Z9OHptd6JFI3+e1lI0wlr1pG9uiFUPZFvkHnMpypoOlo19E
yWmK4QKBgQCVmBTLSA+M3WJqDBK2Z6lUaDCaAjwn2Q5RSq2B/lLjzaod6WYWyecY
NASeo6CC4fxOCfMJN1DT5CLyW4XpRk3GeR4QKSfFkwD2yRqk+7opm8PppdMuLZKU
LQMMI90AWvU3Cx9aAbl1bLSIT0qRoc5FGwmLEL12yDBZA2l3vYhnaw==
-----END RSA PRIVATE KEY-----'