diff options
-rwxr-xr-x | src/msec/libmsec.py | 5 | ||||
-rwxr-xr-x | src/msec/msecperms.py | 9 |
2 files changed, 10 insertions, 4 deletions
diff --git a/src/msec/libmsec.py b/src/msec/libmsec.py index 61aaa52..6d26b87 100755 --- a/src/msec/libmsec.py +++ b/src/msec/libmsec.py @@ -1614,9 +1614,10 @@ class MSEC: # {{{ PERMS - permissions handling class PERMS: """Permission checking/enforcing.""" - def __init__(self, log): + def __init__(self, log, root=''): """Initializes internal variables""" self.log = log + self.root = root self.USER = {} self.GROUP = {} self.USERID = {} @@ -1776,7 +1777,7 @@ class PERMS: group = self.get_group_id(group_s) # now check the permissions - for f in glob.glob(file): + for f in glob.glob('%s%s' % (self.root, file)): # get file properties f = os.path.realpath(f) try: diff --git a/src/msec/msecperms.py b/src/msec/msecperms.py index f073b94..e4ebc58 100755 --- a/src/msec/msecperms.py +++ b/src/msec/msecperms.py @@ -64,6 +64,7 @@ Available parameters: -p, --pretend only pretend to change the level, perform no real actions. Use this to see what operations msec will perform. + -r, --root <path> path to use as root """ % (version, config.PERMCONF, config.PERMCONF) # }}} @@ -73,10 +74,11 @@ if __name__ == "__main__": force_level = False commit = True enforce = False + root = '' # parse command line try: - opt, args = getopt.getopt(sys.argv[1:], 'hel:f:dp', ['help', 'enforce', 'list=', 'force=', 'debug', 'pretend']) + opt, args = getopt.getopt(sys.argv[1:], 'hel:f:dpr:', ['help', 'enforce', 'list=', 'force=', 'debug', 'pretend', 'root=']) except getopt.error: usage() sys.exit(1) @@ -110,6 +112,9 @@ if __name__ == "__main__": # permission enforcing elif o[0] == '-e' or o[0] == '--enforce': enforce = True + # custom root + elif o[0] == '-r' or o[0] == '--root': + root = o[1] # check-only mode elif o[0] == '-p' or o[0] == '--pretend': commit = False @@ -148,7 +153,7 @@ if __name__ == "__main__": permconf.load() # load the main permission class - perm = PERMS(log) + perm = PERMS(log, root=root) # check permissions changed_files = perm.check_perms(permconf, files_to_check=args) |