def getemail(self, userhost): """ return the email of the specified userhost. """ user = getuser(userhost) if user: if user.email: return user.email[0]
def getstatuses(self, userhost): """ return the list of statuses for the specified userhost. """ user = getuser(userhost) if user: return user.statuses
def getperms(self, userhost): """ return permissions of user.""" user = getuser(userhost) if user: return user.perms
def getpermits(self, userhost): """ return permits of the specified userhost.""" user = getuser(userhost) if user: return user.permits
def gethosts(self, userhost): """ return the userhosts of the user associated with the specified userhost. """ user = getuser(userhost) if user: return user.userhosts
def getname(self, userhost): """ get name of user belonging to <userhost>. """ user = getuser(userhost) if user: return user.name
def allowed(self, userhost, perms, log=True): """ check if user with userhosts is allowed to execute perm command. """ if not type(perms) == types.ListType: perms = [perms, ] if 'ANY' in perms: return 1 res = None user = getuser(userhost) if not user: if log: rlog(10, 'users', '%s userhost denied' % userhost) return res else: uperms = set(user.perms) sperms = set(perms) intersection = sperms.intersection(uperms) res = list(intersection) or None if not res and log: rlog(10, 'users', "%s perm %s denied" % (userhost, str(perms))) if res and log: rlog(10, 'users', 'allowed %s %s perm' % (userhost, str(perms))) return res
def addemail(self, session, userhost, email): """ add an email address to the userhost. """ user = getuser(userhost, session) if user: user.email.append(email) rlog(10, 'users', '%s (%s) added to email' % (email, userhost)) return 1
def addperm(self, session, userhost, perm): """ add the specified perm to the userhost. """ user = getuser(userhost, session) if user: user.perms.append(perm.upper()) rlog(10, 'users', '%s perm %s added' % (userhost, perm)) return 1
def status(self, userhost, status): """ check if user with <userhost> has <status> set. """ user = getuser(userhost) res = None if user: if status.upper() in user.statuses: res = 1 return res
def addstatus(self, session, userhost, status): """ add status to given userhost. """ user = getuser(userhost, session) if user: user.statuses.append(status.upper()) rlog(10, 'users', '%s status %s added' % (name, status)) return 1
def delemail(self, session, userhost, email): """ delete email from userhost. """ user = getuser(userhost, session) if user: if email in user.emails: user.emails.remove(email) return 1
def permitted(self, userhost, who, what): """ check if (who,what) is in users permit list. """ user = getuser(userhost) res = None if user: if '%s %s' % (who, what) in user.permits: res = 1 return res
def addpermit(self, session, userhost, permit): """ add the given [who, what] permit to the given userhost. """ user = getuser(userhost, session) if user: p = '%s %s' % permit user.permits.append(p) rlog(10, 'users', '%s permit %s added' % (userhost, p)) return 1
def delstatus(self, session, userhost, status): """ delete status from userhost. """ user = getuser(userhost, session) if user: st = status.upper() if st in user.statuses: user.statuses.remove(st) return 1
def delpermit(self, session, userhost, permit): """ delete permit from userhost. """ user = getuser(userhost, session) if user: p = '%s %s' % permit if p in user.permits: user.permits.remove(p) return 1
def delperm(self, session, userhost, perm): """ delete perm from userhost. """ user = getuser(userhost, session) if user: p = perm.upper() if p in user.perms: user.perms.remove(p) return 1