[Samba] New Samba4 AD - "Logon failure: user account restriction"

John E.P. Hynes john at hytronix.com
Thu Apr 9 13:08:37 MDT 2015


Ok,

I just set the flags to 0x11000 and the problem workstations can now be logged in to.

Thanks Rowland!

I wonder how they got messed up in the first place though...

> On Apr 9, 2015, at 2:42 PM, Rowland Penny <rowlandpenny at googlemail.com> wrote:
> 
>> On 09/04/15 19:18, John E.P. Hynes wrote:
>>> On 04/09/2015 01:21 PM, Rowland Penny wrote:
>>>> On 09/04/15 18:03, John E.P. Hynes wrote:
>>>>> On 04/09/2015 11:31 AM, Rowland Penny wrote:
>>>>>> On 09/04/15 16:19, John E.P. Hynes wrote:
>>>>>> Thanks Rowland, I'll check that out.
>>>>>> 
>>>>>> The funny thing is though, this workstation is in a "test" environment
>>>>>> because I'm testing a profile migration/domain join tool.
>>>>>> 
>>>>>> Now, the *first* workstation I tested, I joined to the domain "by
>>>>>> hand".
>>>>>>    That one works for logons as expected.
>>>>>> 
>>>>>>> On 04/09/2015 11:07 AM, Rowland Penny wrote:
>>>>>>> On 09/04/15 15:52, John E.P. Hynes wrote:
>>>>>>> Hi List,
>>>>>>> 
>>>>>>> I just set up a new Samba4 AD controller, created users, etc.  When I
>>>>>>> join a test workstation from our old, currently active domain to the
>>>>>>> new AD server (separate network) the join succeeds, and the user can
>>>>>>> log in the first time to be prompted with the "change your password"
>>>>>>> prompt.  Immediately after changing the password, the logon fails with
>>>>>>> "Logon failure: user account restriction" and possible reasons.
>>>>>>> 
>>>>>>> I looked at the policy, by default it seems to be set to hours 24/7
>>>>>>> and computers to log in from "any".  Which is fine.
>>>>>>> 
>>>>>>> Does anyone have a pointer for me?
>>>>>>> 
>>>>>>> Thanks,
>>>>>>> 
>>>>>>> -John
>>>>>>> 
>>>>>>> You refer to checking a 'policy', would this be a windows GPO ? If so,
>>>>>>> then I think that you need to know that you cannot set password
>>>>>>> policies
>>>>>>> on a Samba 4 AD DC via a gpo, you need to use samba-tool, see
>>>>>>> 'samba-tool domain passwordsettings --help'
>>>>>>> 
>>>>>>> Rowland
>>>>> If your new users work, but the original users don't, it would seem that
>>>>> there must be a difference between them, what I do not know. It should
>>>>> be easy to find out, make sure that ldb-tools is installed and try
>>>>> searching for a user that works, then one that doesn't and compare them
>>>>> i.e.
>>>>> 
>>>>> ldbsearch -H /var/lib/samba/private/sam.ldb
>>>>> '(&(objectclass=user)(samaccountname=rowland))'
>>>>> 
>>>>> This displays my AD record when run on my Debian wheezy AD DC
>>>>> 
>>>>> Rowland
>>>> There are no old accounts, either user or computer.  The newly created
>>>> accounts can be logged into from "box1" but not "box2".
>>>> 
>>>> Comparing the machine accounts, they are identical.  Also, just for
>>>> giggles, I unjoined/rejoined the "not log-in-able" box manually, and it
>>>> *still* didn't work.  Same error.
>>>> 
>>>> Nothing in the samba logs at all.  One box works fine, now two others
>>>> don't.  Using the accounts with smbclient on the server also works fine.
>>>> 
>>>> I'm really at a loss here.  All clients are windows 7, Samba version is
>>>> the latest that comes with Ubuntu 14.04.
>>>> 
>>>> It looks like it must be on the windows side, since Samba allows logins
>>>> from one of the clients, just not the rest.  What debug options should I
>>>> try on Samba to watch the credential verification process just to be
>>>> sure though?
>>>> 
>>>> Thanks,
>>>> 
>>>> -John
>>> Add 'log level = passdb:5 auth:5 winbind:5' to smb.conf and then restart
>>> samba, this should give you plenty of output to look at, you can change
>>> the numbers to get more or less output i.e. anything between 0 to 10.
>>> See 'man smb.conf' for more info.
>>> 
>>> Rowland
>> OK, so after looking at a bunch of debug logs...
>> 
>> The machine account is locked, UseAccountControl flags are 0x4144 for
>> the machines that don't allow logon, and 0x1000 for those that do.
>> 
>> It doesn't seem you can manipulate these through Windows (errors out
>> that the server rejected the change) so I guess the next two questions are:
>> 
>> 1) How do I edit these with samba-tool?
>> 2) How the heck did they end up "wrong" like this right out of the box?
>> 
>> Any ideas appreciated.
>> 
>> -John
> 
> OK, my computer accounts all have this:
> 
> userAccountControl: 69632
> 
> Which is made up from:
> 
> 65536 DONT_EXPIRE_PASSWORD
> 04096 WORKSTATION_TRUST_ACCOUNT
> 
> So you could try using ldbmodify on the samba DC to change this.
> 
> Create an ldif file, /tmp/computer
> 
> dn: CN=computername,CN=Computers,CN=Users,DC=example,DC=com
> changetype: modify
> replace: UserAccountControl
> UserAccountControl: 69632
> 
> Don't forget to alter the top line to your settings.
> 
> Now use this ldif and ldbmodify to change the attribute:
> 
> ldbmodify -H /var/lib/samba/private/sam.ldb /tmp/computer
> 
> Again if sam.ldb isn't in /var/lib/samba/private , then change the path, also note that this needs to be done as root.
> 
> Rowland
> -- 
> To unsubscribe from this list go to the following URL and read the
> instructions:  https://lists.samba.org/mailman/options/samba


More information about the samba mailing list