On 2025-03-03 23:18:35 +0100, Michael Musenbrock wrote: > This maybe looks more like an issue in adduser?
Yes, I've just reassigned the bug to adduser. > So changing the shadow password field from '*' (no pwd) to '!' > (locked) allows adduser to pass. Because use constant { EXISTING_NOT_FOUND => 0, EXISTING_FOUND => 1, EXISTING_SYSTEM => 2, EXISTING_ID_MISMATCH => 4, EXISTING_LOCKED => 8, }; and the test is if ($ret == (EXISTING_FOUND|EXISTING_SYSTEM)) { # a user with this name already exists; it's a problem when it's not a system user log_fatal( mtx("The user `%s' already exists, but is not a system user. Exiting."), $new_name ); exit( RET_WRONG_OBJECT_PROPERTIES ); } So, if EXISTING_LOCKED is set, then the test will be false and will not trigger the error. BTW, I don't understand why the test is written to depend on the lock status. -- Vincent Lefèvre <vinc...@vinc17.net> - Web: <https://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / Pascaline project (LIP, ENS-Lyon)