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

メールアドレスが公開されることはありません。

関連記事

Linux

systemctl コマンドの引数の順番は不便?

最近の Linux では、systemd というツールが導入されています。 systemd にはいろいろな役割があるのですが、その中でも大きいのが「各サービスの管理(操作)」です。 本記事は、この操作 …

Linux

パターンにマッチした行を表示する grep コマンド

目次1. はじめに2. 主な使い方3. その他のオプション4. 正規表現について 1. はじめに grep は、対象ファイルの中で、指定した文字列パターンにマッチした行を表示するコマンドです。 ※ 本 …

Linux

【Linux】man コマンドの基本的な使い方

Linux をコマンドラインで使う場合、man コマンドでマニュアルを読むことができます(man は manual の略です)。 このページでは、この manコマンドの簡単な使い方について説明します。 …

Linux

「よく使うコマンドランキングの表示」を1つのコマンドにする

目次1. はじめに2. 入力が面倒なコマンドを新たなコマンド(今回は関数)にする3. 作成した関数の実行4. コマンドの引数も合わせて調べたい5. 履歴のフォーマットが異なる場合6. まとめ 1. は …

SELinux

Webサーバーがサイトの構成ファイルを上書きできない問題に対応する(SELinuxが原因の場合)

目次1. はじめに2. 前提3. CentOS 7 の SELinux4. 対応手順5. おわりに参考 1. はじめに Webサイトによっては、そのWebサイトを構成しているファイルを自分で更新する場 …