From 2e94cf8e00d6d30928d81450dfaf0c4b0854c938 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sven=20M=C3=A4der?= <maeder@phys.ethz.ch> Date: Thu, 23 Aug 2018 14:04:35 +0200 Subject: [PATCH] Improve output --- bin/check-home-permissions.py | 38 +++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/bin/check-home-permissions.py b/bin/check-home-permissions.py index ab716d4..7a4f803 100755 --- a/bin/check-home-permissions.py +++ b/bin/check-home-permissions.py @@ -11,7 +11,7 @@ import lib import dphysldap -home_dirs = [] +home_dirs = 0 users = {} nis_homes = {} nis_shares = {} @@ -78,12 +78,10 @@ def search_ldap(): for entry in entries: nis_shares[entry['cn'][0]] = entry['nisMapEntry'][0] - print('users: ' + str(len(users))) - print('nis_homes: ' + str(len(nis_homes))) - print('nis_shares: ' + str(len(nis_shares))) - def check_homes(top): + global home_dirs + if not os.path.isdir(top): return @@ -93,6 +91,7 @@ def check_homes(top): continue st = os.stat(pathname) home = Home(f, pathname, st) + home_dirs += 1 if bad_owner(home): owner.append(home) @@ -118,6 +117,13 @@ def check_homes(top): no_nis_map.append(home) +def check_shares(): + for user in list(users.keys()): + if user in nis_shares: + del nis_shares[user] + del users[user] + + def bad_owner(home): if home.name == home.uname and home.name == home.gname: return False @@ -144,19 +150,25 @@ if __name__ == '__main__': search_ldap() + print('ldap users: ' + str(len(users))) + print('ldap nismaps (home): ' + str(len(nis_homes))) + print('ldap nismaps (share): ' + str(len(nis_shares))) + for i, arg in enumerate(sys.argv): if i == 0: continue check_homes(arg) - print() - print('users: ' + str(len(users))) - print('nis_homes: ' + str(len(nis_homes))) - print('nis_shares: ' + str(len(nis_shares))) - print('bad_home_directory: ' + str(len(bad_home_directory))) - print('no_ldap_user: ' + str(len(no_ldap_user))) - print('bad_nis_map: ' + str(len(bad_nis_map))) - print('no_nis_map: ' + str(len(no_nis_map))) + check_shares() + + print('home dirs: ' + str(home_dirs)) + print('strange ldap users: ' + str(len(users))) + print('orphaned nis homes: ' + str(len(nis_homes))) + print('orphaned nis shares: ' + str(len(nis_shares))) + print('bad homeDirectory: ' + str(len(bad_home_directory))) + print('no user for home: ' + str(len(no_ldap_user))) + print('bad nismaps (home): ' + str(len(bad_nis_map))) + print('no nismap for home: ' + str(len(no_nis_map))) print() if owner: -- GitLab