diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2024-10-05 07:10:47 -0500 |
---|---|---|
committer | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2024-10-05 07:12:06 -0500 |
commit | 84925ed56fb4a299998773293b92c920779ccbec (patch) | |
tree | 2c62f4dac31b54f476aeb7605daec1620e23ea8f /util/user.hh | |
parent | d56707af8b9c856776b546952a23686b210f22d8 (diff) | |
download | horizon-84925ed56fb4a299998773293b92c920779ccbec.tar.gz horizon-84925ed56fb4a299998773293b92c920779ccbec.tar.bz2 horizon-84925ed56fb4a299998773293b92c920779ccbec.tar.xz horizon-84925ed56fb4a299998773293b92c920779ccbec.zip |
Refactor handling of valid account names
* Move our system_names and system_groups out to a util header.
* Qt UI: Validate that the user's chosen account name is not contained
in either system_names nor system_groups.
Closes: #388
Acked-by: Síle Ekaterin Liszka <sheila@vulpine.house>
Diffstat (limited to 'util/user.hh')
-rw-r--r-- | util/user.hh | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/util/user.hh b/util/user.hh new file mode 100644 index 0000000..dea2ff2 --- /dev/null +++ b/util/user.hh @@ -0,0 +1,36 @@ +/* + * user.hh - User account constant definitions + * util, the utility library for + * Project Horizon + * + * Copyright (c) 2024 Adélie Linux and contributors. All rights reserved. + * This code is licensed under the AGPL 3.0 license, as noted in the + * LICENSE-code file in the root directory of this repository. + * + * SPDX-License-Identifier: AGPL-3.0-only + */ + +#ifndef HORIZON_USER_HH_ +#define HORIZON_USER_HH_ + +#include <set> +#include <string> + +const static std::set<std::string> system_names = { + "root", "bin", "daemon", "adm", "lp", "sync", "shutdown", "halt", "mail", + "news", "uucp", "operator", "man", "postmaster", "cron", "ftp", "sshd", + "at", "squid", "xfs", "games", "postgres", "cyrus", "vpopmail", "utmp", + "catchlog", "alias", "qmaild", "qmailp", "qmailq", "qmailr", "qmails", + "qmaill", "ntp", "smmsp", "guest", "nobody" +}; + +const static std::set<std::string> system_groups = { + "root", "bin", "daemon", "sys", "adm", "tty", "disk", "lp", "mem", "kmem", + "wheel", "floppy", "mail", "news", "uucp", "man", "cron", "console", + "audio", "cdrom", "dialout", "ftp", "sshd", "input", "at", "tape", "video", + "netdev", "readproc", "squid", "xfs", "kvm", "games", "shadow", "postgres", + "cdrw", "usb", "vpopmail", "users", "catchlog", "ntp", "nofiles", "qmail", + "qmaill", "smmsp", "locate", "abuild", "utmp", "ping", "nogroup", "nobody" +}; + +#endif /* !HORIZON_USER_HH_ */ |