Cannot Delete User From Group
Ricardo Jorge
rvelhote at gmail.com
Sat May 29 16:14:51 MDT 2010
Hi.
I'm having trouble deleting a User from a Group (any Group). I can add
Users to Groups without trouble (and list them afterwards) but a
RuntimeError Exception is thrown every time I try to remove.
Here is some sample code that demonstrates this behaviour. This also
happens using the latest GIT code. Please replace USER_ID with a User
ID you know exists. You may also want to change that domain being
used.
import sys
from samba import credentials
from samba.dcerpc import samr
from samba.dcerpc import security
from samba.dcerpc import lsa
def toArray((handle, array, num_entries)):
ret = []
for x in range(num_entries):
ret.append((array.entries[x].idx, array.entries[x].name))
return ret
def display_lsa_string(str):
return str.string
USER_ID = 1018
creds = credentials.Credentials()
creds.set_username("administrator")
creds.set_password("x")
creds.set_domain("")
creds.set_workstation("")
pipe = samr.samr("ncalrpc:", credentials = creds)
connect_handle = pipe.Connect2(None, security.SEC_FLAG_MAXIMUM_ALLOWED)
domains = toArray(pipe.EnumDomains(connect_handle, 0, -1))
sid = pipe.LookupDomain(connect_handle, domains[0][1])
domain_handle = pipe.OpenDomain(connect_handle,
security.SEC_FLAG_MAXIMUM_ALLOWED, sid)
user_handle = pipe.OpenUser(domain_handle,
security.SEC_FLAG_MAXIMUM_ALLOWED, USER_ID)
group_list = toArray(pipe.EnumDomainGroups(domain_handle, 0, -1))
user_group_list = pipe.GetGroupsForUser(user_handle).rids
print "The user belongs to the following groups:"
for g in user_group_list:
print "- " + str(g.rid)
print "\nI will now try try to remove the user from each of those groups.\n"
for g in user_group_list:
try:
print "Trying to delete from GroupID " + str(g.rid)
group_handle = pipe.OpenGroup(domain_handle,
security.SEC_FLAG_MAXIMUM_ALLOWED, g.rid)
pipe.DeleteGroupMember(group_handle, USER_ID)
except RuntimeError as message:
print str(message)
print "\n"
Here is the output I get from this code:
The user belongs to the following groups:
- 513
- 512
- 1009
I will now try try to remove the user from each of those groups.
Trying to delete from GroupID 513
(-1073741823, 'Undetermined error')
Trying to delete from GroupID 512
(-1073741720, 'Member not in group')
Trying to delete from GroupID 1009
(-1073741720, 'Member not in group')
Any help is appreciated.
Best Regards,
Ricardo
More information about the samba-technical
mailing list