GNU/Linux >> Linux の 問題 >  >> Linux

Linux のユーザー名に使用すべき文字と使用できない文字は?

解決策 1:

具体的には、POSIX ("Portable Operating System Interface for Unix") 標準 (IEEE 標準 1003.1 2008) は次のように述べています。

3.437 ユーザー名

<ブロック引用>

ユーザーを識別するために使用される文字列。ユーザーデータベースも参照してください。 POSIX.1-2017 に準拠するシステム間で移植できるように、値は移植可能なファイル名文字セットの文字で構成されます。 <hyphen-minus> 文字は、ポータブル ユーザー名の最初の文字として使用しないでください。

3.282 移植可能なファイル名文字セット

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

この標準に準拠するユーザー名はすべて POSIX 準拠であり、安全であるべきです。

解決策 2:

私のアドバイスは、デフォルトの NAME_REGEX で推奨されている標準に従うことです。 *NIX では、ユーザー名には実際にはほとんど何でも入れることができますが、仮定を行うライブラリ コードで奇妙な問題が発生する可能性があります。適切なケース:

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

あなたへの私の質問:珍しい句読点を取り除くと、互いに衝突するドメイン名がたくさんありますか?たとえば、ドメイン名として「QUALITY-ASSURANCE」と「QUALITYASSURANCE」の両方がありますか?そうでない場合は、通常とは異なる文字を取り除き、残ったものをユーザー名として使用するというポリシーを採用することができます.

また、/etc/passwd 情報の GECOS フィールドの「実名」セクションを使用して、変更されていない元のドメイン名を保存することもでき、スクリプトによってそれを簡単に抽出できます。


Linux
  1. Linux – -9プロセスを強制終了すべきではないのはいつですか?

  2. Linux – LinuxでOsxプログラムを実行できない理由は何ですか?

  3. C++:どの正規表現ライブラリを使用すればよいですか?

  1. Linux で windows.h の代わりに何を使用すればよいですか?

  2. CLOCK_MONOTONIC が利用できない場合

  3. Linux Web サーバー上で、Web サイトのファイル/フォルダーにどのようなアクセス許可を設定する必要がありますか?

  1. Linuxユーザーとは何ですか?

  2. Linuxのサウンドテーマ:すべてのユーザーが知っておくべきこと

  3. すべてのLinuxユーザーが知っておくべき10個のコマンド