'.bash_history',
'.gnupg',
'.ssh',
- '.mozilla',
- '.thunderbird'
+ '.kamakirc',
+ '.kamaki.history'
]
def __init__(self, rootdev, ghandler, output):
super(Unix, self).__init__(rootdev, ghandler, output)
self.meta["USERS"] = " ".join(self._get_passworded_users())
+ # Delete the USERS metadata if empty
+ if not len(self.meta['USERS']):
+ self.out.warn("No passworded users found!")
+ del self.meta['USERS']
def _get_passworded_users(self):
users = []
"""Remove all user accounts with id greater than 1000"""
if print_header:
- self.out.output(
- 'Removing all user accounts with id greater than 1000')
+ self.out.output("Removing all user accounts with id greater than "
+ "1000")
+
+ if 'USERS' not in self.meta:
+ return
# Remove users from /etc/passwd
passwd = []
passwd.append(':'.join(fields))
self.meta['USERS'] = " ".join(metadata_users)
+
+ # Delete the USERS metadata if empty
+ if not len(self.meta['USERS']):
+ del self.meta['USERS']
+
self.g.write('/etc/passwd', '\n'.join(passwd) + '\n')
# Remove the corresponding /etc/shadow entries
"""Remove all passwords and lock all user accounts"""
if print_header:
- self.out.output(
- 'Cleaning up passwords & locking all user accounts')
+ self.out.output("Cleaning up passwords & locking all user "
+ "accounts")
shadow = []
homedirs = ['/root'] + self.ls('/home/')
if print_header:
- self.out.output('Removing sensitive user data under %s' % " ".
- join(homedirs))
+ self.out.output("Removing sensitive user data under %s" %
+ " ".join(homedirs))
for homedir in homedirs:
for data in self.sensitive_userdata:
fname = "%s/%s" % (homedir, data)
if self.g.is_file(fname):
self.g.scrub_file(fname)
+ elif self.g.is_dir(fname):
+ self.foreach_file(fname, self.g.scrub_file, ftype='r')
# vim: set sta sts=4 shiftwidth=4 sw=4 et ai :