CentOS 7のユーザー名に有効な特殊文字は許可されていますか?

CentOS 7のユーザー名に有効な特殊文字は許可されていますか?

ユーザーアカウントを作成するときに、CentOS 7が命名規則で有効な文字をどのように認識するかを調べたいと思います。

私はCentOSがユーザー名で有効な文字と見なすことを理解するためにuseraddを使用しています...驚くべきことに、useraddコマンドは "_"と "."を受け入れます...何なのか気になります。文字

CentOSのuseraddのマニュアルページには有効な文字は記載されていません。 Google検索によると、NAME_REGEX(少なくともUbuntuの場合)で行われたと述べており、adduser.confファイルでその文字を見つけることができました。 CentOS 7で発生します。存在しません...Googleがこの問題のCentOS / Red Hat固有のソースを見つけることができません...しかし、/etc/login.defsと/etc/default/も見ました。 useradd運がない

CentOSのメカニズムを理解するように案内できる人はいますか?

答え1

これはuseradd、実際の有効なユーザー名よりも制限的です。有効なユーザー名が何であるかに関する規則も可能です。変化PAMとnsswitchによる構成設定。

これPOSIX規格ユーザー名は移植可能なファイル名文字セットに属する必要がありますが、最初の文字はハイフンにすることはできません。

これ移植可能なファイル名文字セットAZ az 0-9 文字です。 - _

これは、「1337」などのユーザー名がこの規格に準拠した有効なユーザー名であるため、他の場所で問題が発生する可能性があることを意味します。

したがって、安全のために[A-Za-z] [A-Za-z0-9._-]+のようなパターンを使用してください。

関連情報