summaryrefslogtreecommitdiff
path: root/source3/auth/auth_util.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/auth/auth_util.c')
-rw-r--r--source3/auth/auth_util.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/source3/auth/auth_util.c b/source3/auth/auth_util.c
index 6fc1d772ec..51cd1994f9 100644
--- a/source3/auth/auth_util.c
+++ b/source3/auth/auth_util.c
@@ -60,16 +60,23 @@ static int smb_create_user(const char *domain, const char *unix_username, const
void auth_add_user_script(const char *domain, const char *username)
{
- struct passwd *pwd=NULL;
-
/*
* User validated ok against Domain controller.
* If the admin wants us to try and create a UNIX
* user on the fly, do so.
*/
- if(lp_adduser_script() && !(pwd = Get_Pwnam(username))) {
+ if ( lp_adduser_script() )
smb_create_user(domain, username, NULL);
+ else {
+ DEBUG(10,("auth_add_user_script: no 'add user script'. Asking winbindd\n"));
+
+ /* should never get here is we a re a domain member running winbindd
+ However, a host set for 'security = server' might run winbindd for
+ account allocation */
+
+ if ( !winbind_create_user(username) )
+ DEBUG(5,("auth_add_user_script: winbindd_create_user() failed\n"));
}
}