Esempio n. 1
0
    def load(self,name):
        self.__lock.acquire()
        try:
            passwd_db = PasswdFile(self.__password_file)
            passwd_db.load()
            if name in passwd_db:
                self.__user = passwd_db[name]
            else:
                self.__user = None
                raise EInvalidValue('name',name,'No such user.')
            self.__file_modified = passwd_db.last_modified()

            # loading /etc/shadow database
            shadow_db = ShadowFile(self.__shadow_file)
            shadow_db.load()
            if name in shadow_db:
                self.__shadow = shadow_db[name]
            else:
                self.__shadow = None
                raise EInvalidValue('User (' ,name, ') does not exist in shadow')
            self.__shadow_file_modified = shadow_db.last_modified()

            self.__loaded = 1
        finally:
            self.__lock.release()
Esempio n. 2
0
    def load(self, name):
        self.__lock.acquire()
        try:
            passwd_db = PasswdFile(self.__password_file)
            passwd_db.load()
            if name in passwd_db:
                self.__user = passwd_db[name]
            else:
                self.__user = None
                raise EInvalidValue('name', name, 'No such user.')
            self.__file_modified = passwd_db.last_modified()

            # loading /etc/shadow database
            shadow_db = ShadowFile(self.__shadow_file)
            shadow_db.load()
            if name in shadow_db:
                self.__shadow = shadow_db[name]
            else:
                self.__shadow = None
                raise EInvalidValue('User (', name,
                                    ') does not exist in shadow')
            self.__shadow_file_modified = shadow_db.last_modified()

            self.__loaded = 1
        finally:
            self.__lock.release()
Esempio n. 3
0
    def is_dirty(self):
        if not self.__loaded:
            return 1
        self.__lock.acquire()
        try:            
            passwd_db = PasswdFile(self.__password_file)
            if not passwd_db.exists():
                return 1
            else:
                return not not (passwd_db.last_modified() > self.__file_modified)

            shadow_db = ShadowFile(self.__shadow_file)
            if not shadow_db.exists():
                return 1
            else:
                return not not (shadow_db.last_modified() > self.__shadow_file_modified)
        finally:
            self.__lock.release()
Esempio n. 4
0
    def is_dirty(self):
        if not self.__loaded:
            return 1
        self.__lock.acquire()
        try:
            passwd_db = PasswdFile(self.__password_file)
            if not passwd_db.exists():
                return 1
            else:
                return not not (passwd_db.last_modified() >
                                self.__file_modified)

            shadow_db = ShadowFile(self.__shadow_file)
            if not shadow_db.exists():
                return 1
            else:
                return not not (shadow_db.last_modified() >
                                self.__shadow_file_modified)
        finally:
            self.__lock.release()