diff options
author | Narayan Desai <desai@mcs.anl.gov> | 2004-10-30 15:07:47 +0000 |
---|---|---|
committer | Narayan Desai <desai@mcs.anl.gov> | 2004-10-30 15:07:47 +0000 |
commit | 0e815013c92baf633bc0a62e6839821a81279370 (patch) | |
tree | 6babaef8b215ac048bfec409b3a293fcabf764ac /src/lib/Server | |
parent | 5386f164d252e2924783f40e4e2a9f184729513d (diff) | |
download | bcfg2-0e815013c92baf633bc0a62e6839821a81279370.tar.gz bcfg2-0e815013c92baf633bc0a62e6839821a81279370.tar.bz2 bcfg2-0e815013c92baf633bc0a62e6839821a81279370.zip |
change name and add some docstrings
(Logical change 1.136)
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@606 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src/lib/Server')
-rw-r--r-- | src/lib/Server/Generators/account.py | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/src/lib/Server/Generators/account.py b/src/lib/Server/Generators/account.py deleted file mode 100644 index 16f31a91b..000000000 --- a/src/lib/Server/Generators/account.py +++ /dev/null @@ -1,54 +0,0 @@ -'''This handles authentication setup''' -__revision__ = '$Revision$' - -from Bcfg2.Server.Generator import Generator, DirectoryBacked - -class account(Generator): - '''This module generates account config files, - based on an internal data repo: - static.(passwd|group|limits.conf) -> static entries - dyn.(passwd|group) -> dynamic entries (usually acquired from yp) - useraccess -> users to be granted login access on some hosts - superusers -> users to be granted root privs on all hosts - rootlike -> users to be granted root privs on some hosts - ''' - __name__ = 'account' - __version__ = '$Id$' - __author__ = 'bcfg-dev@mcs.anl.gov' - __provides__ = {'ConfigFile':{}} - - def __setup__(self): - self.repository = DirectoryBacked(self.data) - self.ssh = DirectoryBacked("%s/ssh"%(self.data)) - self.__provides__['ConfigFile'] = {'/etc/passwd':self.from_yp, - '/etc/group':self.from_yp, - '/etc/security/limits.conf':self.gen_limits, - '/root/.ssh/authorized_keys':self.gen_root_keys} - - def from_yp(self, entry, metadata): - fname = entry.attrib['name'].split('/')[-1] - entry.text = self.repository.entries["static.%s" % (fname)].data - entry.text += self.repository.entries["dyn.%s" % (fname)].data - entry.attrib.update({'owner':'root', 'group':'root', 'perms':'0644'}) - - def gen_limits(self, entry, metadata): - static = self.repository.entries["static.limits.conf"].data - superusers = self.repository.entries["superusers"].data.split() - useraccess = self.repository.entries["useraccess"].data - users = [x[0] for x in useraccess if x[1] == metadata.hostname] - entry.attrib.upate({'owner':'root', 'group':'root', 'perms':'0600'}) - entry.text = static + "".join(["%s hard maxlogins 1024\n" % x for x in superusers + users]) - if "*" not in users: - entry.text += "* hard maxlogins 0\n" - - def gen_root_keys(self, entry, metadata): - data = '' - su = self.repository.entries['superusers'].data.split() - rl = self.repository.entries['rootlike'].data.split() - su += [x.split(':')[0] for x in rl if x.split(':')[1] == metadata.hostname] - data = '' - for user in su: - if self.ssh.entries.has_key(user): - data += self.ssh.entries[user].data - entry.attrib.update({'owner':'root', 'group':'root', 'perms':'0600'}) - entry.text = data |