From 8fadeaff80fd1d882ba848690d378d00f5d956fd Mon Sep 17 00:00:00 2001 From: Narayan Desai Date: Wed, 11 Aug 2004 20:40:57 +0000 Subject: Rename: generators/account.py -> src/lib/Server/Generators/account.py }(Logical change 1.37) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@209 ce84e21b-d406-0410-9b95-82705330c041 --- generators/account.py | 55 --------------------------------------------------- 1 file changed, 55 deletions(-) delete mode 100644 generators/account.py (limited to 'generators') diff --git a/generators/account.py b/generators/account.py deleted file mode 100644 index b3f74beac..000000000 --- a/generators/account.py +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/env python - -from Generator from Generator -from GeneratorUtils import DirectoryBacked -from Types import ConfigFile - -class account(Generator): - __name__ = 'account' - __version__ = '$Id$' - __author__ = 'bcfg-dev@mcs.anl.gov' - __doc__ = '''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 - ''' - - def __setup__(self): - self.repository = DirectoryBacked(self.data) - self.ssh = DirectoryBacked("%s/ssh"%(self.data)) - self.__provides__ = {'ConfigFile':{'/etc/passwd':self.GenFromYP, - '/etc/group':self.GenFromYP, - '/etc/security/limits.conf':self.GenLimits, - '/root/.ssh/authorized_keys':self.GenRootKeys}} - - def GenFromYP(self,filename,client): - fname = filename.split('/')[-1] - static = self.repository.entries["static.%s"%(fname)].data - yp = self.repository.entries["dyn.%s"%(fname)].data - return ConfigFile(filename,"root","root",'0644',static+yp) - - def GenLimits(self,filename,client): - fname = 'limits.conf' - 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] == client] - - data = static + join(map(lambda x:"%s hard maxlogins 1024\n"%x, superusers + users), ""), - - if "*" not in users: - data += "* hard maxlogins 0\n" - - return ConfigFile(filename,"root","root",'0644',data) - - def GenRootKeys(self,filename,client): - su = self.repository.entries['superusers'].data.split() - rl = self.repository.entries['rootlike'].data.split() - su += [split(x,':')[0] for x in rl if split(x,':')[1] == client] - data = '' - for user in su: - if self.ssh.entries.has_key(user): - data += self.ssh.entries[user].data - return ConfigFile(filename,'root','root','0600',data) -- cgit v1.2.3-1-g7c22