Linux

Ubuntu ではユーザー名に大文字が使えません(デフォルトでは)

投稿日:2019年2月1日 更新日:

Ubuntu で ユーザーを追加するには adduser というコマンドを使います。

例えば、”foo” という名前のユーザーを追加するには、以下のコマンドになります。

$ adduser foo

この際、ユーザー名には 大文字が使えません

原因は、adduser コマンドの内部で使用されている NAME_REGEX という変数です。

この変数には、ユーザー名として指定可能な文字列の正規表現がセットされているのですが、このデフォルトの値が

^[a-z][-a-z0-9_]*\$

となっているのです。この正規表現では大文字が使えません。

「この正規表現だと、どんな文字列が使えるのか?」は、例えば Online regex tester and debugger: PHP, PCRE, Python, Golang and JavaScript で試すことができます(その際、バックスラッシュは外して下さい)。

大文字が使えるようにしたいのであれば、/etc/adduser.conf ファイル内の NAME_REGEX 変数を自分で上書きする必要があります。

例えばこんな感じです。

NAME_REGEX="^[A-Za-z][-A-Za-z0-9_]*\$"

※ どうやら、Ubuntu がベースとしている Debian でも同じような設定になっているようです。

参考

📂-Linux

執筆者:labo


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

docker

docker run コマンドのパターン覚書

docker run コマンドのパターン覚書です。

Linux

umask によって適用されるパーミッションの確認ページを作成しました

Linux (や Mac) では、ファイルやディレクトリに「パーミッション」を設定することでアクセスを制限します。 パーミッションは、「所有者」「所有グループ」「その他」の3者に対して、 ファイルなら …

Linux

環境変数PATHにセットされたパスを1行毎に表示する

環境変数PATHにセットされたパスを1行毎に表示する方法について説明しています。

Linux

コマンドラインからメールを送信する方法

Linux (や Mac) のターミナルエミュレータ上からメールを送信するコマンドを紹介します。 目次1. sendmail2. mail3. telnet4. おわりに 1. sendmail se …

Let's Encrypt

Let’s Encrypt を使ってみました

無料でSSL証明書が発行できる Let’s Encrypt を使ってみました。 その時の操作手順を紹介します。 本記事執筆時に存在していた「Let’s Encrypt 総合ポー …