diff options
author | Scott Moser <smoser@ubuntu.com> | 2012-08-22 21:20:34 -0400 |
---|---|---|
committer | Scott Moser <smoser@ubuntu.com> | 2012-08-22 21:20:34 -0400 |
commit | 2de30c15e706a9610c19979886f13addecf7ea1b (patch) | |
tree | fc0dc5441f5a280ca9b73f16e7809bde62acf00c /cloudinit/distros/__init__.py | |
parent | d59ab509f6482b8b3af4fd9f2728ad1209d5b2e2 (diff) | |
download | vyos-cloud-init-2de30c15e706a9610c19979886f13addecf7ea1b.tar.gz vyos-cloud-init-2de30c15e706a9610c19979886f13addecf7ea1b.zip |
fix issues from 'make pylint'
In an effort to pylint errors about NonImlementedError and
add_default_user, I moved this method to distro and genericized it.
Now, assuming a sane 'create_user' for the distro, this should work.
Also:
* removed the unused set_configured_user method
Diffstat (limited to 'cloudinit/distros/__init__.py')
-rw-r--r-- | cloudinit/distros/__init__.py | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/cloudinit/distros/__init__.py b/cloudinit/distros/__init__.py index 1f46c5aa..12a0d9b4 100644 --- a/cloudinit/distros/__init__.py +++ b/cloudinit/distros/__init__.py @@ -46,16 +46,33 @@ LOG = logging.getLogger(__name__) class Distro(object): __metaclass__ = abc.ABCMeta + default_user = None def __init__(self, name, cfg, paths): self._paths = paths self._cfg = cfg self.name = name - self.default_user = None @abc.abstractmethod def add_default_user(self): - raise NotImplementedError() + # Adds the distro user using the rules: + # - Password is same as username but is locked + # - nopasswd sudo access + + user = self.get_default_user() + if not user: + raise NotImplementedError("No Default user") + + self.create_user(user, + plain_text_passwd=user, + home="/home/%s" % user, + shell="/bin/bash", + lockpasswd=True, + gecos="%s%s" % (user[0:1].upper(),user[1:]), + sudo="ALL=(ALL) NOPASSWD:ALL") + + LOG.info("Added default '%s' user with passwordless sudo", user) + @abc.abstractmethod def install_packages(self, pkglist): @@ -186,11 +203,8 @@ class Distro(object): except KeyError: return False - def set_configured_user(self, name): - self.default_user = name - def get_default_user(self): - return None + return self.default_user def create_user(self, name, **kwargs): """ @@ -326,7 +340,7 @@ class Distro(object): def isgroup(self, name): try: - if grp.getgrpnam(name): + if grp.getgrnam(name): return True except: return False |