Reject reserved system usernames in the configurator
The username regex accepted names that already exist on the target, so useradd failed inside arch_install_system — after the disk had been partitioned and formatted, which is the worst point to discover it. From #59 by @wolfgangw, applied to quattro; it was opened against main. Co-Authored-By: Wolfgang Woehl <tito@online.de> Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
b3cf0c6f29
commit
3efdb5c94b
1 file changed
+5
-1
@@ -145,7 +145,11 @@ user_form() {
|
||||
username=$(gum input --placeholder "Alphanumeric without spaces (like dhh)" --prompt.foreground="#845DF9" --prompt "Username> ") || abort
|
||||
|
||||
if [[ "$username" =~ ^[a-z_][a-z0-9_-]*[$]?$ ]]; then
|
||||
break
|
||||
if [[ "$username" =~ ^(root|bin|daemon|mail|ftp|http|nobody|dbus|systemd-coredump|systemd-network|systemd-oom|systemd-journal-remote|systemd-resolve|systemd-timesync|tss|uuidd|alpm|git|avahi|cups|lp|_talkd|polkitd|rtkit|qemu|brltty|gluster|rpc|libvirt-qemu|pcscd|nvidia-persistenced|sddm)$ ]] ; then
|
||||
notice "Username is reserved for system" 1
|
||||
else
|
||||
break
|
||||
fi
|
||||
else
|
||||
notice "Username must be alphanumeric with no spaces" 1
|
||||
fi
|
||||
|
||||
Reference in new issue
Block a user