Show
Ignore:
Timestamp:
11/22/04 22:53:38 (19 years ago)
Author:
jalet
Message:

Added the reject_unknown directive to pykota.conf to reject user/group
creation if user or group is unknown to the system

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • pykota/trunk/bin/edpykota

    r1809 r1956  
    2424# 
    2525# $Log$ 
     26# Revision 1.82  2004/11/22 21:53:38  jalet 
     27# Added the reject_unknown directive to pykota.conf to reject user/group 
     28# creation if user or group is unknown to the system 
     29# 
    2630# Revision 1.81  2004/10/12 15:37:00  jalet 
    2731# Now outputs the name of the offending user if a mere mortal tries to use 
     
    290294import os 
    291295import pwd 
     296import grp 
    292297from pykota.tool import PyKotaTool, PyKotaToolError, crashed, N_ 
    293298from pykota.config import PyKotaConfigError 
     
    527532            protoentry = getattr(self.storage, "get%s" % suffix)(options["prototype"]) 
    528533             
     534        rejectunknown = self.config.getRejectUnknown()     
    529535        printeradded = 0 
    530536        printers = self.storage.getMatchingPrinters(options["printer"]) 
     
    620626                        # only remotely 
    621627                        if self.isValidName(entry.Name) : 
    622                             entry = getattr(self.storage, "add%s" % suffix)(entry) 
     628                            reject = 0 
     629                            if rejectunknown : 
     630                                if options["groups"] : 
     631                                    try : 
     632                                        grp.getgrnam(entry.Name) 
     633                                    except KeyError :     
     634                                        self.printInfo(_("Unknown group %s") % entry.Name, "error") 
     635                                        reject = 1 
     636                                else :     
     637                                    try : 
     638                                        pwd.getpwnam(entry.Name) 
     639                                    except KeyError :     
     640                                        self.printInfo(_("Unknown user %s") % entry.Name, "error") 
     641                                        reject = 1 
     642                            if not reject :         
     643                                entry = getattr(self.storage, "add%s" % suffix)(entry) 
    623644                        else :     
    624645                            if options["groups"] :