Řešení 1:
Konkrétněji, standard POSIX („Portable Operating System Interface for Unix“) (IEEE Standard 1003.1 2008) uvádí:
3.437 Uživatelské jméno
Řetězec, který se používá k identifikaci uživatele; viz také Databáze uživatelů. Aby byla hodnota přenosná mezi systémy vyhovujícími POSIX.1-2017, skládá se ze znaků ze znakové sady přenosného názvu souboru.
<hyphen-minus>
znak by neměl být použit jako první znak přenosného uživatelského jména.
3.282 Přenosná znaková sada názvu souboru
The set of characters from which portable filenames are constructed.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9 . _ -
Každé uživatelské jméno, které vyhovuje tomuto standardu, je kompatibilní s POSIX a mělo by být bezpečné.
Řešení 2:
Moje rada je řídit se standardem doporučeným výchozím NAME_REGEX. Ve skutečnosti můžete do uživatelského jména pod *NIX vložit téměř cokoliv, ale můžete narazit na zvláštní problémy s kódem knihovny, který vytváří předpoklady. Příklad:
http://blog.endpoint.com/2008/08/on-valid-unix-usernames-and-ones-sanity.html
Moje otázka na vás:máte mnoho doménových jmen, které by se navzájem srážely, pokud byste odstranili neobvyklou interpunkci? Máte například jako doménová jména "QUALITY-ASSURANCE" i QUALITYASSURANCE"? Pokud ne, můžete jednoduše přijmout politiku odstranění neobvyklých znaků a použít to, co zbylo, jako uživatelské jméno.
Také můžete použít sekci "skutečné jméno" v poli GECOS v informacích /etc/passwd k uložení původního, nezměněného názvu domény a skripty jej mohou snadno extrahovat.