Current Path :
/
usr
/
lib64
/
python2.6
/
site-packages
/
setools
/
Or
Select Your Path :
Upload File :
New :
File
Dir
//usr/lib64/python2.6/site-packages/setools/__init__.py
#!/usr/bin/env python # Author: Thomas Liu <tliu@redhat.com> import _sesearch import _seinfo import types TYPE = _seinfo.TYPE ROLE = _seinfo.ROLE ATTRIBUTE = _seinfo.ATTRIBUTE PORT = _seinfo.PORT USER = _seinfo.USER ALLOW = 'allow' AUDITALLOW = 'auditallow' NEVERALLOW = 'neverallow' DONTAUDIT = 'dontaudit' SCONTEXT = 'scontext' TCONTEXT = 'tcontext' PERMS = 'permlist' CLASS = 'class' def sesearch(types, info): valid_types = [ALLOW, AUDITALLOW, NEVERALLOW, DONTAUDIT] for type in types: if type not in valid_types: raise ValueError("Type has to be in %s" % valid_types) info[type] = True perms = [] if PERMS in info: perms = info[PERMS] info[PERMS] = ",".join(info[PERMS]) dict_list = _sesearch.sesearch(info) if len(perms) != 0: dict_list = filter(lambda x: dict_has_perms(x, perms), dict_list) return dict_list def dict_has_perms(dict, perms): for perm in perms: if perm not in dict[PERMS]: return False return True def seinfo(setype, name=None): dict_list = _seinfo.seinfo(setype, name) return dict_list