1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
#!/usr/bin/python
import libuser
import os
import time
print("--------- Initializing.")
admin = libuser.admin()
print("--------- Listing.")
for item in sorted(admin.enumerateUsers("l*")):
print("Found a user named \"" + item + "\".")
print("--------- Lookup.")
ldap = admin.lookupUserByName("ldap")
print("--------- Reading attribute (get).")
print(ldap.get(libuser.LOGINSHELL))
print("--------- Reading attribute (map).")
print(ldap[libuser.LOGINSHELL])
print("--------- Reading keys.")
print(list(ldap.keys()))
print("--------- Setting attribute.")
ldap.set(libuser.LOGINSHELL, ["/bin/true"])
ldap[libuser.LOGINSHELL] = "/bin/true"
ldap[libuser.LOGINSHELL] = ["/bin/true"]
print("--------- Reading attribute (get).")
print(ldap.get(libuser.LOGINSHELL))
print("--------- Reading attribute (map).")
print(ldap[libuser.LOGINSHELL])
print("--------- Getting directory list.")
dir(ldap)
print("--------- Modifying user.")
admin.modifyUser(ldap)
print("--------- Enumerating members of the wheel group.")
print(admin.enumerateUsersByGroup("wheel"))
print("--------- Looking up the wheel group.")
wheel = admin.lookupGroupByName("wheel")
print("--------- Reading attribute (memberUid).")
print(wheel[libuser.MEMBERNAME])
print("--------- Creating a new user (jimbo).")
jimbo = admin.initUser("jimbo")
for attr in jimbo.keys():
print(" " + attr + ":", jimbo.get(attr))
print("--------- Adding the user.")
jimbo[libuser.HOMEDIRECTORY] = '/var/jimbo-home'
print("Set home directory to " + jimbo[libuser.HOMEDIRECTORY][0])
admin.addUser(jimbo)
print("--------- Grepping for the user.")
os.system("grep jimbo /etc/passwd /etc/group /etc/shadow /etc/gshadow")
try:
dir = jimbo.get(libuser.HOMEDIRECTORY)
print("--------- Looking at user's directory.")
os.system("ls " + dir[0])
print("--------- Looking at mail spool directory.")
os.system("ls -l /var/mail/*")
except:
pass
print("--------- Removing the user.")
admin.deleteUser(jimbo)
admin.removeHome(jimbo)
admin.removeMail(jimbo)
print("--------- Grepping for the user.")
os.system("grep jimbo /etc/passwd /etc/group /etc/shadow /etc/gshadow")
print("--------- Getting a list of all users.")
users = admin.enumerateUsersFull()
for user in users:
print(" User `" + user[libuser.USERNAME][0] + "' has uid ", user[libuser.UIDNUMBER][0])
|