index : archinstall32 | |
Archlinux32 installer | gitolite user |
summaryrefslogtreecommitdiff |
author | SecondThundeR <awayfromgalaxy@gmail.com> | 2021-04-05 18:38:21 +0300 |
---|---|---|
committer | Dylan Taylor <dylan@dylanmtaylor.com> | 2021-04-08 09:20:39 -0400 |
commit | caeb1d433fad1da690c8e16d401070e0eb3c1d18 (patch) | |
tree | 15f7276086c5306bce88fbc46e9b4ebebaa7c777 /archinstall/lib | |
parent | 3640ee8d25d05d674e329a152da03ef289d42d4c (diff) |
-rw-r--r-- | archinstall/lib/user_interaction.py | 22 |
diff --git a/archinstall/lib/user_interaction.py b/archinstall/lib/user_interaction.py index 5c66a08a..13b127f0 100644 --- a/archinstall/lib/user_interaction.py +++ b/archinstall/lib/user_interaction.py @@ -1,4 +1,4 @@ -import getpass, pathlib, os, shutil +import getpass, pathlib, os, shutil, re from .exceptions import * from .profiles import Profile from .locale_helpers import search_keyboard_layout @@ -49,8 +49,15 @@ def print_large_list(options, padding=5, margin_bottom=0, separator=': '): def ask_for_superuser_account(prompt='Create a required super-user with sudo privileges: ', forced=False): while 1: - new_user = input(prompt).strip(' ').lower() - + new_user = input(prompt).strip(' ') + + if not re.match('[a-z_][a-z0-9_-]*[$]?', new_user) or len(new_user) > 32: + log( + "The username you entered is invalid. Try again", + level=LOG_LEVELS.Warning, + fg='red' + ) + continue if not new_user and forced: # TODO: make this text more generic? # It's only used to create the first sudo user when root is disabled in guided.py @@ -67,9 +74,16 @@ def ask_for_additional_users(prompt='Any additional users to install (leave blan super_users = {} while 1: - new_user = input(prompt).strip(' ').lower() + new_user = input(prompt).strip(' ') if not new_user: break + if not re.match('[a-z_][a-z0-9_-]*[$]?', new_user) or len(new_user) > 32: + log( + "The username you entered is invalid. Try again", + level=LOG_LEVELS.Warning, + fg='red' + ) + continue password = get_password(prompt=f'Password for user {new_user}: ') if input("Should this user be a sudo (super) user (y/N): ").strip(' ').lower() in ('y', 'yes'): |