mirror of https://github.com/jumpserver/jumpserver
feat: 内置AIX系统,根据系统选择算法加密密码
parent
5e70a8af15
commit
55e04e8e9f
|
@ -3,6 +3,20 @@
|
||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
def create_internal_platform(apps, schema_editor):
|
||||||
|
model = apps.get_model("assets", "Platform")
|
||||||
|
db_alias = schema_editor.connection.alias
|
||||||
|
type_platforms = (
|
||||||
|
('AIX', 'Unix', None),
|
||||||
|
)
|
||||||
|
for name, base, meta in type_platforms:
|
||||||
|
defaults = {'name': name, 'base': base, 'meta': meta, 'internal': True}
|
||||||
|
model.objects.using(db_alias).update_or_create(
|
||||||
|
name=name, defaults=defaults
|
||||||
|
)
|
||||||
|
migrations.RunPython(create_internal_platform)
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
@ -15,4 +29,5 @@ class Migration(migrations.Migration):
|
||||||
name='number',
|
name='number',
|
||||||
field=models.CharField(blank=True, max_length=128, null=True, verbose_name='Asset number'),
|
field=models.CharField(blank=True, max_length=128, null=True, verbose_name='Asset number'),
|
||||||
),
|
),
|
||||||
|
migrations.RunPython(create_internal_platform)
|
||||||
]
|
]
|
||||||
|
|
|
@ -142,10 +142,6 @@ class Platform(models.Model):
|
||||||
internal = models.BooleanField(default=False, verbose_name=_("Internal"))
|
internal = models.BooleanField(default=False, verbose_name=_("Internal"))
|
||||||
comment = models.TextField(blank=True, null=True, verbose_name=_("Comment"))
|
comment = models.TextField(blank=True, null=True, verbose_name=_("Comment"))
|
||||||
|
|
||||||
@property
|
|
||||||
def algorithm(self):
|
|
||||||
return self.meta.get('algorithm')
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def default(cls):
|
def default(cls):
|
||||||
linux, created = cls.objects.get_or_create(
|
linux, created = cls.objects.get_or_create(
|
||||||
|
|
|
@ -244,7 +244,7 @@ def push_system_user_util(system_user, assets, task_name, username=None):
|
||||||
for u in usernames:
|
for u in usernames:
|
||||||
for a in _assets:
|
for a in _assets:
|
||||||
system_user.load_asset_special_auth(a, u)
|
system_user.load_asset_special_auth(a, u)
|
||||||
algorithm = a.platform.algorithm
|
algorithm = 'des' if a.platform.name == 'AIX' else 'sha512'
|
||||||
tasks = get_push_system_user_tasks(
|
tasks = get_push_system_user_tasks(
|
||||||
system_user, platform, username=u,
|
system_user, platform, username=u,
|
||||||
algorithm=algorithm
|
algorithm=algorithm
|
||||||
|
|
Loading…
Reference in New Issue