On Tue, Mar 04, 2025 at 03:52:37PM +0000, Simon McVittie wrote: > If I understand correctly, the adduser maintainers' recommendation is > that, to the contrary, packages *should* invoke adduser unconditionally, > and let adduser decide what (if anything) it needs to do to arrange for > the desired state to exist. adduser maintainers: is that correct, or > am I misunderstanding?
Adduser tries hard to do this. Calling adduser --system will exit successfully if the caller's requests can be satisfied when adduser returns. Hence, it will create the user if it does not exist, and leave it untouched if it already exists as a system user. However, if a user requested with adduser --system already exists as a normal user, adduser will error out. It won't convert a normal user to a system user for obvious reasons. That being said, the behavior that led to this bug was observed with adduser 3.143, which had a bug in this part of the code. Please retry with adduser 3.144. Greetings Marc