s3:smbd: make smbd_check_open_rights() function non-static for use in SMB2
[ira/wip.git] / source4 / setup / enableaccount
old mode 100644 (file)
new mode 100755 (executable)
index 144b6c6..d4e9540
@@ -1,21 +1,23 @@
 #!/usr/bin/python
 #
-#      add a new user to a Samba4 server
+#      Enables a disabled user account on a Samba4 server
 #      Copyright Andrew Tridgell 2005
 #      Copyright Jelmer Vernooij 2008
 #      Released under the GNU GPL version 3 or later
 #
+import os, sys
+
+sys.path.insert(0, os.path.join(os.path.dirname(sys.argv[0]), "../bin/python"))
 
 import samba.getopt as options
 import optparse
 import pwd
-import sys
 import ldb
 
-from auth import system_session
+from samba.auth import system_session
 from samba.samdb import SamDB
 
-parser = optparse.OptionParser("setpassword [username] [options]")
+parser = optparse.OptionParser("enableaccount [username] [options]")
 sambaopts = options.SambaOptions(parser)
 parser.add_option_group(sambaopts)
 parser.add_option_group(options.VersionOptions(parser))
@@ -42,9 +44,10 @@ username = args[0]
 if username is None:
        print "username must be specified"
 
-creds = credopts.get_credentials()
-
 lp = sambaopts.get_loadparm()
+
+creds = credopts.get_credentials(lp)
+
 if opts.H is not None:
        url = opts.H
 else:
@@ -54,14 +57,8 @@ samdb = SamDB(url=url, session_info=system_session(),
               credentials=creds, lp=lp)
 
 domain_dn = opts.base
-if opts.base is None:
-       res = samdb.search("", scope=ldb.SCOPE_BASE, 
-                         expression="(defaultNamingContext=*)", 
-                         attrs=["defaultNamingContext"])
-       assert(len(res) == 1 and res[0]["defaultNamingContext"] is not None)
-       domain_dn = res[0]["defaultNamingContext"][0]
-else:
-       domain_dn = opts.base
+if domain_dn is None:
+        domain_dn = SamDB.domain_dn(samdb)
 
 filter = "(&(objectClass=user)(samAccountName=%s))" % username