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

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

関連記事

CentOS

CentOS 6 で yum update した時、remi-php70 レポジトリ内のパッケージの依存性解決ができない場合の解決方法

目次現象解決方法 その1解決方法 その2解決方法 その3まとめ参考 現象 remi-php70 リポジトリを使っている CentOS 6 の環境で PHP関連のパッケージを更新しようと思い、以下のコマ …

Linux

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

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

SELinux

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

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

Linux

ssh-agent の代わりに gpg-agent を使う手順

ssh-agent の代わりに gpg-agent を使う手順について説明します。

Linux

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

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