From 8716d9c725dbf6749e69c4839c2bbc21e547f035 Mon Sep 17 00:00:00 2001 From: Administrator Date: Fri, 4 Nov 2016 18:12:10 +0800 Subject: [PATCH] =?UTF-8?q?[future]=20=E6=B7=BB=E5=8A=A0=E7=94=A8=E4=BA=8E?= =?UTF-8?q?=E8=AE=B0=E5=BD=95sudo=E7=9B=B8=E5=85=B3=E7=9A=84=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/ops/models.py | 61 ++++++++++++++++++++++++++++++++++++++++++++ apps/ops/sudo_api.py | 1 - 2 files changed, 61 insertions(+), 1 deletion(-) diff --git a/apps/ops/models.py b/apps/ops/models.py index 812445531..8ea121d64 100644 --- a/apps/ops/models.py +++ b/apps/ops/models.py @@ -211,3 +211,64 @@ class AnsibleHostResult(models.Model): return {"msg": "deal with ping data failed, %s" % e.message, "data": None} +class HostAlia(models.Model): + name = models.CharField(max_length=128, blank=True, null=True, unique=True, verbose_name=_('Host_Alias')) + host_items = models.TextField(blank=True, null=True, verbose_name=_('Host_Items')) + + def __unicode__(self): + return self.name + + +class UserAlia(models.Model): + name = models.CharField(max_length=128, blank=True, null=True, unique=True, verbose_name=_('Host_Alias')) + host_items = models.TextField(blank=True, null=True, verbose_name=_('Host_Items')) + + def __unicode__(self): + return self.name + + +class CmdAlia(models.Model): + name = models.CharField(max_length=128, blank=True, null=True, unique=True, verbose_name=_('Host_Alias')) + host_items = models.TextField(blank=True, null=True, verbose_name=_('Host_Items')) + + def __unicode__(self): + return self.name + + +class RunasAlia(models.Model): + name = models.CharField(max_length=128, blank=True, null=True, unique=True, verbose_name=_('Host_Alias')) + host_items = models.TextField(blank=True, null=True, verbose_name=_('Host_Items')) + + def __unicode__(self): + return self.name + + +class Privilege(models.Model): + name = models.CharField(max_length=128, blank=True, null=True, unique=True, verbose_name=_('Host_Alias')) + host_items = models.TextField(blank=True, null=True, verbose_name=_('Host_Items')) + + def __unicode__(self): + return self.name + + +class Sudo(models.Model): + host_alias = models.ManyToManyField(HostAlia, related_name='sudos', blank=True, null=True) + user_alias = models.ManyToManyField(UserAlia, related_name='sudos', blank=True, null=True) + cmd_alias = models.ManyToManyField(CmdAlia, related_name='sudos', blank=True, null=True) + runas_alias = models.ManyToManyField(RunasAlia, related_name='sudos', blank=True, null=True) + privileges = models.ManyToManyField(Privilege, related_name='sudos', blank=True, null=True) + + @property + def content(self): + pass + + + + + + + + + + + diff --git a/apps/ops/sudo_api.py b/apps/ops/sudo_api.py index 90d3e0644..331371d10 100644 --- a/apps/ops/sudo_api.py +++ b/apps/ops/sudo_api.py @@ -12,7 +12,6 @@ from __future__ import unicode_literals from jinja2 import Template - __sudoers_tmp__ = """# management by JumpServer # This file MUST be edited with the 'visudo' command as root. #