summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2004-10-30 15:07:47 +0000
committerNarayan Desai <desai@mcs.anl.gov>2004-10-30 15:07:47 +0000
commit0e815013c92baf633bc0a62e6839821a81279370 (patch)
tree6babaef8b215ac048bfec409b3a293fcabf764ac /src
parent5386f164d252e2924783f40e4e2a9f184729513d (diff)
downloadbcfg2-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')
-rw-r--r--src/lib/Server/Generators/account.py54
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