text: Red Hat Bugzilla – Bug 100524
  python bindings don't seem to reflect state of /etc/shadow
  Last modified: 2007-04-18 12:55:59 EDT
  When I look at /etc/shadow for user 'foo5', I see:
  foo5:$1$MSb8h9vt$0lrtXx9e1BFBD1hrUwSaa/:12256::99999::::
  but when I run the following Python program:
  #!/usr/bin/python2.2
  import libuser
  admin = libuser.admin()
  userEnt = admin.lookupUserByName('foo5')
  print "min is", userEnt.get(libuser.SHADOWMIN)
  print "warning is", userEnt.get(libuser.SHADOWWARNING)
  print "inactive is", userEnt.get(libuser.SHADOWINACTIVE)
  print "max is", userEnt.get(libuser.SHADOWMAX)
  I see:
  min is [0L]
  warning is [7L]
  inactive is [-1L]
  max is [99999L]
  Aside from the SHADOWMAX, the values don't seem to be in line with what's in
  /etc/shadow. Any idea why this is?
  libuser is making the values up if the fields are empty.
  (glibc makes up "-1" in all of these cases).
  AFAICS it makes no difference if you want to enforce the limits,
  at least until year 2243. The only difference is in the warning
  treatment.
  Changing this now would break current s-c-users behavior,
  so let's keep it as it is, until the next development cycle
  at minimum.