Fixed bug: The function summarize_dirs did not work.
authorPhilipp Spitzer <philipp@spitzer.priv.at>
Tue, 29 May 2012 21:01:04 +0000 (23:01 +0200)
committerPhilipp Spitzer <philipp@spitzer.priv.at>
Tue, 29 May 2012 21:01:04 +0000 (23:01 +0200)
findwwwritable.py

index 0408caa..4ecc4b7 100755 (executable)
@@ -7,8 +7,8 @@ from os.path import join
 
 
 def collect_writable_dirs(rootdir, uids, gids):
-    """Returns a list of directories below rootdir (including rootdir) that are writeable 
-    by the users with the given uids or gids or that are world writeable.
+    """Returns a list of directories below rootdir (including rootdir) that are writable 
+    by the users with the given uids or gids or that are world writable.
     Normally, uid(s) is the user id of the apache user (e.g. www-data) and gids is a list
     of group ids this user is member of.
     
@@ -41,9 +41,9 @@ def collect_writable_dirs(rootdir, uids, gids):
 
 def summarize_dirs(writable_dirs):
     """Takes a list of directories and omits each subdirectory if its parent directory
-    is also included in the list. This list is modified "in place" (nothing is returned).
+    is also included in the list. The modified list is returned.
 
-    :param writeable_dirs: List of directories (strings)."""
+    :param writable_dirs: List of directories (strings)."""
     writable_dirs = sorted(writable_dirs)
 
     i = 0
@@ -53,6 +53,8 @@ def summarize_dirs(writable_dirs):
         else:
             i += 1
 
+    return writable_dirs
+
 
 
 if __name__ == '__main__':
@@ -62,11 +64,11 @@ if __name__ == '__main__':
     gids = [33, 42, 121, 127]  # group ids of the user whos write permissions should be found
     rootdir = '/home'          # directory where the seach is started
 
-    # collect and summarize writeable directories
+    # collect and summarize writable directories
     writable_dirs = collect_writable_dirs(rootdir, uids, gids)
-    summarize_dirs(writable_dirs)
+    writable_dirs = summarize_dirs(writable_dirs)
 
-    # print writeable directories
+    # print writable directories
     for d in writable_dirs:
         print d