|
865 |
min_length=1 |
865 |
min_length=1 |
866 |
max_length=16 |
866 |
max_length=16 |
867 |
_re = re.compile('(?u)(^\w[\w -.]*\w$)|\w*$') |
867 |
_re = re.compile('(?u)(^\w[\w -.]*\w$)|\w*$') |
|
|
868 |
# https://wiki.debian.org/SystemGroups#Groups_with_an_associated_user |
869 |
default_debian_users = ( |
870 |
'root', |
871 |
'daemon', |
872 |
'games', |
873 |
'man', |
874 |
'mail', |
875 |
'news', |
876 |
'proxy', |
877 |
'postgres', |
878 |
'www-data', |
879 |
'backup', |
880 |
'list', |
881 |
'irc', |
882 |
'sync', |
883 |
'uucp', |
884 |
'operator', |
885 |
'bin', |
886 |
'sys', |
887 |
'nobody', |
888 |
) |
868 |
|
889 |
|
869 |
@classmethod |
890 |
@classmethod |
870 |
def parse(self, text): |
891 |
def parse(self, text): |
|
|
892 |
if text in self.default_debian_users: |
893 |
raise univention.admin.uexceptions.valueError, _("Username must not match a default debian user!") |
871 |
if " " in text: |
894 |
if " " in text: |
872 |
raise univention.admin.uexceptions.valueError, _("Spaces are not allowed in the username!") |
895 |
raise univention.admin.uexceptions.valueError, _("Spaces are not allowed in the username!") |
873 |
if self._re.match(text.decode("utf-8")) != None and text != 'admin': |
896 |
if self._re.match(text.decode("utf-8")) != None and text != 'admin': |