1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-08 04:58:40 +03:00

Fix "unable to initialize" bug when smbd hasn't been run with

new system and a user is being added via pdbedit/smbpasswd.
Found at Connectathon setup.
Jeremy.
This commit is contained in:
Jeremy Allison -
parent 4319df7fdc
commit f9c7a42e89
2 changed files with 8 additions and 2 deletions

View File

@ -398,6 +398,8 @@ static int new_user (struct pdb_context *in, const char *username,
NTSTATUS nt_status;
char *password1, *password2, *staticpass;
get_global_sam_sid();
if (!NT_STATUS_IS_OK(nt_status = pdb_init_sam_new(&sam_pwent, username, 0))) {
DEBUG(0, ("could not create account to add new user %s\n", username));
return -1;
@ -490,6 +492,8 @@ static int new_machine (struct pdb_context *in, const char *machine_in)
fstring machineaccount;
struct passwd *pwd = NULL;
get_global_sam_sid();
fstrcpy(machinename, machine_in);
machinename[15]= '\0';

View File

@ -341,8 +341,7 @@ static int process_root(int local_flags)
int result = 0;
char *old_passwd = NULL;
if (local_flags & LOCAL_SET_LDAP_ADMIN_PW)
{
if (local_flags & LOCAL_SET_LDAP_ADMIN_PW) {
printf("Setting stored password for \"%s\" in secrets.tdb\n",
lp_ldap_admin_dn());
if (!store_ldap_admin_pw(ldap_secret))
@ -350,6 +349,9 @@ static int process_root(int local_flags)
goto done;
}
/* Ensure we have a SAM sid. */
get_global_sam_sid();
/*
* Ensure both add/delete user are not set
* Ensure add/delete user and either remote machine or join domain are