MCPcopy
hub / github.com/jipegit/OSXAuditor / ParseSysUsers

Function ParseSysUsers

osxauditor.py:1072–1123  ·  view source on GitHub ↗

Parse the system users db

()

Source from the content-addressed store, hash-verified

1070
1071
1072def ParseSysUsers():
1073 ''' Parse the system users db '''
1074
1075 global ADMINS
1076
1077 PrintAndLog(u'System\'s users', 'SUBSECTION')
1078 for User in os.listdir(os.path.join(ROOT_PATH, 'private/var/db/dslocal/nodes/Default/users')):
1079 if User[0] != '.':
1080 SysUserPlistPath = os.path.join(ROOT_PATH, 'private/var/db/dslocal/nodes/Default/users', User)
1081 PrintAndLog(User[:-6] + u'\'s system account details', 'SUBSECTION')
1082
1083 SysUserPlist = UniversalReadPlist(SysUserPlistPath)
1084
1085 UserDetails =''
1086 if SysUserPlist:
1087 if 'name' in SysUserPlist:
1088 Names = u''
1089 for Name in SysUserPlist['name']:
1090 Names += Name
1091 if Name in ADMINS:
1092 Names += u' (is Admin)'
1093 Names += u'\n'
1094 UserDetails += u'Name(s): ' + Names
1095
1096 if 'realname' in SysUserPlist:
1097 UserDetails += u'Real Name(s): ' + StringFromDic(SysUserPlist['realname'])
1098
1099 if 'shell' in SysUserPlist:
1100 UserDetails += u'Shell(s): ' + StringFromDic(SysUserPlist['shell'])
1101
1102 if 'home' in SysUserPlist:
1103 UserDetails += u'Home(s): ' + StringFromDic(SysUserPlist['home'])
1104
1105 if 'uid' in SysUserPlist:
1106 UserDetails += u'UID(s): ' + StringFromDic(SysUserPlist['uid'])
1107
1108 if 'gid' in SysUserPlist:
1109 UserDetails += u'GID(s): ' + StringFromDic(SysUserPlist['gid'])
1110
1111 if 'generateduid' in SysUserPlist:
1112 Generateduids = u''
1113 for Generateduid in SysUserPlist['generateduid']:
1114 Generateduids += Generateduid
1115 if Generateduid in ADMINS:
1116 Generateduids += u' (is Admin)'
1117 Generateduids += u'\n'
1118 UserDetails += u'generated UID(s): ' + Generateduids
1119
1120 if 'LinkedIdentity' in SysUserPlist:
1121 UserDetails += u'LinkedIdentities have been found. Extraction of LinkedIdentities is not implemented yet.'
1122
1123 PrintAndLog(UserDetails, 'INFO_RAW')
1124
1125def ParseSysAdminsGroup():
1126 ''' Parse the system admins group db '''

Callers 1

ParseUsersAccountsFunction · 0.85

Calls 3

PrintAndLogFunction · 0.85
UniversalReadPlistFunction · 0.85
StringFromDicFunction · 0.85

Tested by

no test coverage detected