diff options
Diffstat (limited to 'source4/setup/newuser')
-rwxr-xr-x | source4/setup/newuser | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/source4/setup/newuser b/source4/setup/newuser new file mode 100755 index 0000000000..5b677af142 --- /dev/null +++ b/source4/setup/newuser @@ -0,0 +1,48 @@ +#!/usr/bin/python +# +# add a new user to a Samba4 server +# Copyright Andrew Tridgell 2005 +# Copyright Jelmer Vernooij 2008 +# Released under the GNU GPL version 3 or later +# + +import sys + +# Find right directory when running from source tree +sys.path.insert(0, "bin/python") + +import samba.getopt as options +import optparse +from getpass import getpass +from samba.auth import system_session + +parser = optparse.OptionParser("newuser [options] <username> [<password>]") +sambaopts = options.SambaOptions(parser) +parser.add_option_group(sambaopts) +parser.add_option_group(options.VersionOptions(parser)) +credopts = options.CredentialsOptions(parser) +parser.add_option_group(credopts) +parser.add_option("--quiet", help="Be quiet", action="store_true") +parser.add_option("--unixname", help="Unix Username", type=str) + +opts, args = parser.parse_args() + +if len(args) == 0: + parser.print_usage() + sys.exit(1) + +username = args[0] +if len(args) > 1: + password = args[1] +else: + password = getpass("New Password: ") + +if opts.unixname is None: + opts.unixname = username + +lp = sambaopts.get_loadparm() +creds = credopts.get_credentials(lp) + +samdb = sambaopts.get_hostconfig().get_samdb(session_info=system_session(), + credentials=creds) +samdb.newuser(username, opts.unixname, password) |