Alejandro Colomar a49d2acdb4 src/usermod.c: -U: Report E_PASSWORDLESS on error due to passwordless account
Reproducer:

	$ useradd foo
	$ grep foo /etc/passwd /etc/shadow
	/etc/passwd:foo:x:1001:1001::/home/foo:/usr/bin/bash
	/etc/shadow:foo:!:20458:0:99999:7:::
	$ usermod -U testuser
	usermod: unlocking the user's password would result in a passwordless account.
	You should set a password with usermod -p to unlock this user's password.
	$ echo $?
	0
	$ grep foo /etc/passwd /etc/shadow
	/etc/passwd:foo:x:1001:1001::/home/foo:/usr/bin/bash
	/etc/shadow:foo:!:20458:0:99999:7:::

The program failed (didn't change anything, and reported the problem to
stderr) but reported success (0).  After this patch, the error is
reported as E_PASSWORDLESS (20).

Closes: <https://github.com/shadow-maint/shadow/issues/1479>
Reported-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Acked-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2026-01-15 13:16:17 +01:00
2025-12-19 16:48:08 +01:00
2026-01-14 23:56:46 +01:00
2026-01-12 13:27:48 +01:00
2026-01-12 13:27:48 +01:00
2023-03-02 16:33:06 -06:00
2024-02-06 16:16:32 +01:00
2023-04-26 17:35:58 -05:00
2021-12-23 19:36:50 -06:00
2023-04-26 17:35:58 -05:00
2021-12-19 14:09:08 -06:00
2023-03-20 10:54:45 -05:00
2024-05-22 15:10:03 +02:00

shadow-utils

Introduction

The shadow-utils package includes the necessary programs for converting UNIX password files to the shadow password format, plus programs for managing user and group accounts. The pwconv command converts passwords to the shadow password format. The pwunconv command unconverts shadow passwords and generates a passwd file (a standard UNIX password file). The pwck command checks the integrity of password and shadow files. The lastlog command prints out the last login times for all users. The useradd, userdel, and usermod commands are used for managing user accounts. The groupadd, groupdel, and groupmod commands are used for managing group accounts.

Sites

Code

The main development branch is at https://github.com/shadow-maint/shadow.git

See STABLE.md for a list of supported stable branches.

Contacts

There are several ways to contact us:

Mailing archives

Contributions

Contributions are welcome. Follow the guidelines before posting any patches.

Authors and maintainers

Authors and maintainers are listed in AUTHORS.md.

Description
Upstream shadow tree
Readme 30 MiB
Languages
Shell 54.2%
C 41.2%
Python 3.1%
M4 0.8%
Makefile 0.6%
Other 0.1%