summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/utils/pdbedit.c4
-rw-r--r--source3/utils/smbpasswd.c6
2 files changed, 8 insertions, 2 deletions
diff --git a/source3/utils/pdbedit.c b/source3/utils/pdbedit.c
index 541dc33a08..3f7aba8366 100644
--- a/source3/utils/pdbedit.c
+++ b/source3/utils/pdbedit.c
@@ -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';
diff --git a/source3/utils/smbpasswd.c b/source3/utils/smbpasswd.c
index b43b29d0ad..2f68d02ef6 100644
--- a/source3/utils/smbpasswd.c
+++ b/source3/utils/smbpasswd.c
@@ -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