Chcę utworzyć konta użytkowników nazwane po nazwie domeny. adduser skarży się, że nazwy użytkowników muszą pasować do NAME_REGEX
wyrażenia regularnego.
adduser: Please enter a username matching the regular expression configured
via the NAME_REGEX configuration variable. Use the `--force-badname'
option to relax this check or reconfigure NAME_REGEX.
Mogę dodać użytkowników korzystających z useradd bez reklamacji. Czy jest jakiś powód, że nie należy zmodyfikować wyrażenie regularne, aby umożliwić .
, -
i _
?
Jakie postacie będą powodować problemy i nie powinny być dozwolone w nazwach użytkowników?
To jest domyślne NAME_REGEX
.
NAME_REGEX="^[a-z][-a-z0-9]*\$"
linux
user-accounts
Ed Haber
źródło
źródło
NAME_REGEX
już akceptuje,-
o ile nie jest to pierwsza postać..
? Rozważ użytkownika o nazwie.
lub..
. Następnierm
ten użytkownik o nazwie..
.rm
nie jest to polecenie używane podczas usuwania użytkownika. Zgadzam..
się, że nie jest to rozsądna nazwa z podobnych powodów, alerm
nie jest jedną z nich.Odpowiedzi:
Radzę ci postępować zgodnie ze standardem zalecanym przez domyślny NAME_REGEX. W nazwie * NIX możesz umieścić prawie wszystko w nazwie użytkownika, ale możesz napotkać dziwne problemy z kodem biblioteki, który przyjmuje założenia. Przykładem:
http://blog.endpoint.com/2008/08/on-valid-unix-usernames-and-ones-sanity.html
Moje pytanie do Ciebie: czy masz wiele nazw domen, które kolidowałyby ze sobą, gdybyś usunął nietypową interpunkcję? Na przykład, czy masz zarówno „ZAPEWNIENIE JAKOŚCI”, jak i QUALITYASSURANCE „jako nazwy domen? Jeśli nie, możesz po prostu przyjąć zasadę usuwania nietypowych znaków i używania tego, co pozostało jako nazwa użytkownika.
Możesz również użyć sekcji „prawdziwa nazwa” pola GECOS w informacji / etc / passwd do przechowywania oryginalnej, niezmodyfikowanej nazwy domeny, a skrypty mogą ją łatwo wyodrębnić.
źródło
Mówiąc dokładniej, standard POSIX („Interfejs przenośnego systemu operacyjnego dla Uniksa”) (IEEE Standard 1003.1 2008) stanowi :
3.431 Nazwa użytkownika
3.278 Zestaw znaków przenośnej nazwy pliku
Każda nazwa użytkownika zgodna z tym standardem jest zgodna z POSIX i powinna być bezpieczna.
źródło
ALL UPPERCASE CHARACTERS
.)Z NAME_REGEX można wywnioskować, że wszystko oprócz A do Z dużymi i małymi literami oraz cyfry od 0 do 9 byłyby złe.
źródło
-
jest również akceptowane (po prostu nie jako pierwszy znak). Zwróć też uwagę, że domyślnie wielkie litery nie są akceptowane (nie mag
flagi ani nie jestA-Z
uwzględnione wNAME_REGEX
wyrażeniu regularnym dostarczonym przez OPNAME_REGEX="^[a-z][-a-z0-9]*\$"