[Samba] Users list and the date the password will expire

Ole Traupe ole.traupe at tu-berlin.de
Thu Feb 9 13:16:55 UTC 2017


I am running this on a CentOS 6.7 DC with Samba version 4.2.5.

Ole



On 09.02.2017 13:40, Ole Traupe via samba wrote:
> Actually, there were 2 problems. These lines work for me:
>
>     #user=$(echo "${user}" | awk -F '\\' '{print $2}')
>     user_expire_date=$(ldbsearch --url="${LDBDB}" -b "${domainDN}" -s 
> sub 
> "(&(objectCategory=person)(objectClass=user)(sAMAccountName=$user))" 
> msDS-UserPasswordExpiryTimeComputed | grep 
> "msDS-UserPasswordExpiryTimeComputed: " | sed 
> "s|msDS-UserPasswordExpiryTimeComputed: ||")
>     UNIXTimeStamp=$(((${user_expire_date}/10000000)-11644473600))
>     date_now=$(date +%s)
>     exp_days=$(((${UNIXTimeStamp} - ${date_now}) / 3600 / 24))
>
> With the 'awk' the user is empty. Querying $user before the awk shows 
> the correct user name without "DOMAIN\". This line seems not to be 
> necessary for me.
>
> I also had to remove the quotes in the 3rd and last of these lines:
>
> e.g.
> ./mailtest_rowland.sh: line 29: 
> ("131479598790000000"/10000000)-11644473600: syntax error: operand 
> expected (error token is ""131479598790000000"/10000000)-11644473600")
>
> Ole
>
>
> On 09.02.2017 13:14, Rowland Penny wrote:
>> On Thu, 9 Feb 2017 12:49:12 +0100
>> Ole Traupe via samba <samba at lists.samba.org> wrote:
>>
>>> Never mind. However, with your update I get the following error right
>>> on the first found "user":
>>>
>>> ./mailtest_rowland.sh: line 27: (""/10000000)-11644473600: syntax
>>> error: operand expected (error token is """/10000000)-11644473600")
>>>
>> I initially got that, so I added:
>> user=$(echo "${user}" | awk -F '\\' '{print $2}')
>>
>> because, 'wbinfo -u' gives you 'DOMAIN\username'
>>
>> It looks like for some reason this is failing, are you using 'dash'
>> instead of 'bash' ?
>>
>> You could try adding 'echo "User: ${user}" ' above and below line 25
>>
>> i.e. Change:
>>
>> for user in $user_list; do
>>      user=$(echo "${user}" | awk -F '\\' '{print $2}')
>>
>> To:
>>
>> for user in $user_list; do
>>      echo "User: ${user}"
>>      user=$(echo "${user}" | awk -F '\\' '{print $2}')
>>      echo "User: ${user}"
>>      break
>>
>> This should print the username before and after the removal of the
>> domain name and then break out of the loop.
>>
>> Rowland
>
>




More information about the samba mailing list