mirror of
https://github.com/samba-team/samba.git
synced 2024-12-24 21:34:56 +03:00
09fb6d2280
(This used to be commit b6ef32ddd1
)
74 lines
1.4 KiB
Plaintext
Executable File
74 lines
1.4 KiB
Plaintext
Executable File
#!/bin/sh
|
|
exec smbscript "$0" ${1+"$@"}
|
|
/*
|
|
add a new user to a Samba4 server
|
|
Copyright Andrew Tridgell 2005
|
|
Released under the GNU GPL v2 or later
|
|
*/
|
|
|
|
options = new Object();
|
|
ok = GetOptions(ARGV, options,
|
|
"POPT_AUTOHELP",
|
|
"POPT_COMMON_SAMBA",
|
|
"POPT_COMMON_VERSION",
|
|
'username=s',
|
|
'unixname=s',
|
|
'password=s',
|
|
'quiet');
|
|
if (ok == false) {
|
|
println("Failed to parse options: " + options.ERROR);
|
|
return -1;
|
|
}
|
|
|
|
libinclude("base.js");
|
|
libinclude("provision.js");
|
|
|
|
|
|
/*
|
|
print a message if quiet is not set
|
|
*/
|
|
function message()
|
|
{
|
|
if (options["quiet"] == undefined) {
|
|
print(vsprintf(arguments));
|
|
}
|
|
}
|
|
|
|
/*
|
|
show some help
|
|
*/
|
|
function ShowHelp()
|
|
{
|
|
print("
|
|
Samba4 newuser
|
|
|
|
newuser [options]
|
|
--username USERNAME choose new username
|
|
--unixname USERNAME choose unix name of new user
|
|
--password PASSWORD set password
|
|
|
|
You must provide at least a username
|
|
");
|
|
exit(1);
|
|
}
|
|
|
|
if (options['username'] == undefined) {
|
|
ShowHelp();
|
|
}
|
|
if (options['password'] == undefined) {
|
|
options.password = randpass(12);
|
|
printf("chose random password %s\n", options.password);
|
|
}
|
|
if (options['unixname'] == undefined) {
|
|
options.unixname = options.username;
|
|
}
|
|
|
|
if (getpwnam(options.unixname) == undefined) {
|
|
printf("ERROR: Unix user '%s' does not exist\n", options.unixname);
|
|
exit(1);
|
|
}
|
|
|
|
newuser(options.username, options.unixname, options.password, message);
|
|
|
|
return 0;
|