Solusi 1:
Lebih khusus lagi, standar POSIX ("Antarmuka Sistem Operasi Portabel untuk Unix") (Standar IEEE 1003.1 2008) menyatakan:
3.437 Nama Pengguna
Sebuah string yang digunakan untuk mengidentifikasi pengguna; lihat juga Basis Data Pengguna. Agar portabel di seluruh sistem yang sesuai dengan POSIX.1-2017, nilainya terdiri dari karakter dari kumpulan karakter nama file portabel.
<hyphen-minus>
karakter tidak boleh digunakan sebagai karakter pertama dari nama pengguna portabel.
3.282 Kumpulan Karakter Nama File Portabel
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 . _ -
Setiap nama pengguna yang mematuhi standar ini sesuai dengan POSIX, dan harus aman.
Solusi 2:
Saran saya kepada Anda adalah mengikuti standar yang direkomendasikan oleh NAME_REGEX default. Anda sebenarnya dapat memasukkan hampir semua hal ke dalam nama pengguna di bawah *NIX tetapi Anda mungkin mengalami masalah aneh dengan kode pustaka yang membuat asumsi. Contoh kasus:
http://blog.endpoint.com/2008/08/on-valid-unix-usernames-and-ones-sanity.html
Pertanyaan saya kepada Anda:apakah Anda memiliki banyak nama domain yang akan bertabrakan satu sama lain jika Anda menghapus tanda baca yang tidak biasa? Misalnya, apakah Anda memiliki "JAMINAN KUALITAS" dan JAMINAN KUALITAS" sebagai nama domain? Jika tidak, Anda dapat menerapkan kebijakan menghapus karakter yang tidak biasa dan menggunakan apa yang tersisa sebagai nama pengguna.
Selain itu, Anda dapat menggunakan bagian "nama asli" bidang GECOS di informasi /etc/passwd untuk menyimpan nama domain asli yang tidak dimodifikasi, dan skrip dapat mengekstraknya dengan mudah.