GNU/Linux >> Tutoriels Linux >  >> Linux

Quels caractères dois-je utiliser ou ne pas utiliser dans les noms d'utilisateur sous Linux ?

Solution 1 :

Plus précisément, la norme POSIX ("Portable Operating System Interface for Unix") (IEEE Standard 1003.1 2008) stipule :

3.437 Nom d'utilisateur

Chaîne utilisée pour identifier un utilisateur ; voir aussi Base de données utilisateur. Pour être portable sur tous les systèmes conformes à POSIX.1-2017, la valeur est composée de caractères du jeu de caractères du nom de fichier portable. Le <hyphen-minus> ne doit pas être utilisé comme premier caractère d'un nom d'utilisateur portable.

3.282 Jeu de caractères de nom de fichier portable

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 . _ -

Tout nom d'utilisateur conforme à cette norme est conforme à POSIX et doit être sûr.

Solution 2 :

Mon conseil pour vous est de suivre la norme recommandée par le NAME_REGEX par défaut. Vous pouvez en fait mettre presque n'importe quoi dans un nom d'utilisateur sous *NIX, mais vous pouvez rencontrer des problèmes étranges avec le code de la bibliothèque qui fait des suppositions. Exemple :

http://blog.endpoint.com/2008/08/on-valid-unix-usernames-and-ones-sanity.html

Ma question pour vous :avez-vous beaucoup de noms de domaine qui se heurteraient si vous supprimiez la ponctuation inhabituelle ? Par exemple, avez-vous à la fois "QUALITY-ASSURANCE" et QUALITYASSURANCE" comme noms de domaine ? Si ce n'est pas le cas, vous pouvez simplement adopter une politique consistant à supprimer les caractères inhabituels et à utiliser ce qui reste comme nom d'utilisateur.

De plus, vous pouvez utiliser la section "nom réel" du champ GECOS dans les informations /etc/passwd pour stocker le nom de domaine d'origine non modifié, et les scripts pourraient l'extraire assez facilement.


Linux
  1. Linux - Pourquoi utilisons-nous Su - Et pas seulement Su ?

  2. Linux - L'utilisation de l'option -o dans la commande Useradd ?

  3. Linux - Qu'est-ce qui rend les programmes Osx non exécutables sous Linux ?

  4. Que dois-je utiliser à la place de windows.h sous Linux ?

  5. Dans quels cas CLOCK_MONOTONIC peut ne pas être disponible

Commande Linux Tail :qu'est-ce que c'est et comment l'utiliser

Qu'est-ce que le référentiel d'utilisateurs Arch (AUR) ? Comment utiliser AUR sur Arch et Manjaro Linux ?

5 commandes Linux que chaque utilisateur Linux devrait connaître

Qu'est-ce que BusyBox sous Linux ? Comment l'utiliser?

Qu'est-ce que Zsh ? Devriez-vous l'utiliser ?

Qu'est-ce que le fichier /etc/passwd sous Linux ?