(最終更新月:2023年4月)
✔当記事はこのような方に向けて書かれています
「Linuxでuseraddを追加したい」
「useraddってどうやって使うのだろうか?」
「useraddについて詳しくできることが知りたい」
✔当記事お伝えすることは以下のとおり。
- useraddとは?
- useraddの基本的な使い方やそのオプション
- useraddを使用する上で注意すべき点、セキュリティ上のリスク
当記事では、Linuxシステム管理において欠かすことのできないユーザー管理の基本についてはもちろん、初心者にもわかりやすく、useraddコマンドの詳しい使い方について詳しく解説しています。
ぜひ最後までご覧ください。
useraddについて知っておくべき基礎知識
useradd「新規ユーザーの追加」についての基本を解説していきます。
まずは基本をおさえておけば、使いこなすには十分な知識が身につきます。
- ユーザーアカウントを管理する重要性
- useraddコマンドとは?
- useraddコマンドの構文
- オプションについての解説
- useraddコマンドの具体例
ユーザーアカウントを管理する重要性
ユーザーアカウントを管理することは、システムやサーバーのセキュリティを強化する上で非常に重要な役割を果たします。
なぜなら複数のユーザーが同じシステムを使用する場合など、それぞれのアカウントに適切なアクセス権などを設定できるからです。
管理するためには、以下のようなことをおこないます。
- 新しいユーザーアカウントを作成
- ユーザーごとに異なるアクセス権などを設定
- 定期的なパスワード変更
- 不要なアカウントの削除
これらの管理作業を専門家に任せることもできますが、基本的なコマンドや設定の理解があれば、自分で対応できます。
適切なコマンドや設定を使いこなし、ウイルスや攻撃からシステムを守りましょう。
useraddコマンドとは?
useraddとは、LinuxやUNIXなどのオペレーティングシステム上で、新しいユーザーアカウントを作成するためのコマンドです。
useraddコマンドでは以下のことがおこなえます。
- 新しいユーザーアカウントの作成
- ユーザーのグループの設定
- ユーザーホームディレクトリの作成
- パスワードの設定
- ユーザーの詳細情報の追加
useraddコマンドの構文
useraddとはLinuxコマンドの一つで、ユーザーアカウントを作成するために使用されます。
このコマンドの構文は以下の通りです。
useradd [オプション] [ユーザー名]
ユーザー名は新規に作成するユーザーアカウントの名前を指定。
例えば、以下のように入力します。
useradd itc
オプションは以下のように使えます。
例として、ユーザー名が”itc”、パスワードが”password123″、グループが”itc_group”のユーザーアカウントを作成する方法はこちらのとおり。
useradd -p password123 -g itc_group itc
オプションについての解説
useraddのオプションについて見ていきます。
オプションが分かれば、できることの幅が広がるからです。
主なオプションは以下のとおり。
- -mオプション:ユーザーホームディレクトリを作成
- -gオプション:ユーザーのプライマリグループを指定
- -sオプション:ユーザーのログインシェルを指定
- -cオプション:ユーザーのコメント(フルネームなど)を追加
これらのオプションを組み合わせることで、新しいユーザーアカウントを必要に応じてカスタマイズできます。
例えば以下のとおり。
useradd -m -g itcusers -s /bin/bash -c "Test User" itctestuser
ここでは、ホームディレクトリを作成し、ユーザーが「itcusers」というグループに所属し、ログインシェルが「bash」である、新しい「itctestuser」というユーザーアカウントを作成しています。
useraddコマンドの具体例9選
useraddの具体例をもう少しご紹介します。
いろいろなパターンをご紹介するので、やりたいことに近しいものをみつけてください。
- 新しいユーザーアカウントを作成する
- ユーザーアカウントを特定のグループに追加する
- ユーザーアカウントにホームディレクトリを割り当てる
- ユーザーアカウントに特定のシェルを割り当てる
- グループを指定してユーザーを作成する
- ホームディレクトリを指定してユーザーを作成する
- 作成したユーザーにsudo権限を付与する
- システム管理者用のユーザーを作成する
新しいユーザーアカウントを作成する
sudo useradd newuser
ユーザーアカウントを特定のグループに追加する
sudo useradd -G groupname newuser
ユーザーアカウントにホームディレクトリを割り当てる
useradd -m newuser
ユーザーアカウントにパスワードを設定する
useradd -p password newuser
ユーザーアカウントに特定のシェルを割り当てる
useradd -s /bin/bash newuser
グループを指定してユーザーを作成する
useradd -g [グループ名] [ユーザー名]
ホームディレクトリを指定してユーザーを作成する
useradd -d [ホームディレクトリパス] [ユーザー名]
作成したユーザーにsudo権限を付与する
useradd -G sudo [ユーザー名]
システム管理者用のユーザーを作成する
useradd -u 0 -g 0 [ユーザー名]
useraddコマンドのオプションについて詳しく解説
useraddコマンドのオプションを詳しく見ていきましょう。
以下のオプションをすべてご紹介します。
- -c:ユーザーの説明を追加する
- -d:ホームディレクトリを指定する
- -e:アカウントの有効期限を設定する
- -g:初期グループを指定する
- -s:デフォルトのシェルを指定する
- -u:ユーザーIDを指定する
- -m:ホームディレクトリを作成する
- -r:システムアカウントを作成する
- -U:ユーザーグループを作成する
-c:ユーザーの説明を追加する
-cオプションは、ユーザーアカウントに対して説明を追加できるもの。
例えば以下のようなコマンドを使用して、新しいユーザーアカウントを作成し、説明を追加します。
$ useradd -c "ITC ADMIN USER" itc
このコマンドにより、新しいユーザーアカウント「itc」が作成され、説明として「ITC ADMIN USER」が追加されるのです。
以下のコマンドで、情報を表示できます。
$ cat /etc/passwd | grep itc
itc:x:1001:1001:ITC ADMIN USER:/home/itc:/bin/bash
-cオプションで説明を追加して、ユーザー管理を効率的におこないましょう。
-d:ホームディレクトリを指定する
-dオプションで、Linuxシステムに新しいユーザーを追加し、そのホームディレクトリを指定できます。
以下のように使います。
sudo useradd -d /home/itcuser itcuser
上記のコマンドを実行すると、ユーザー「newuser」が作成され、ホームディレクトリが「/home/itcuser」になります。
新しいユーザーがログインした際に、ホームディレクトリに自動的に移動することができるのです。
ユーザーごとにデータを整理し、セキュリティを強化できるようになります。
-e:アカウントの有効期限を設定する
-eオプションは、ユーザーアカウントの有効期限を設定するもの。
なぜ有効期限を設定するかというと、特定の期間後にアカウントが無効になることで、セキュリティを向上させられるからです。
例えば一時的な契約で雇われた従業員にアカウントを割り当てれば、その契約が終了した時点でアカウントを自動的に無効にできます。
使い方としては、有効期限をYYYY-MM-DDの形式で指定します。
useradd -e 2023-12-31
このオプションは、セキュリティ上の理由から、パスワードを持つすべてのユーザーアカウントに対して設定することが推奨されます。
-g:初期グループを指定する
-gオプションでは、新しく作成したユーザーが所属するグループを指定できます。
例えばrootユーザーで以下のようなコマンドを実行すると、itcuserというユーザーを作成し、その初期グループをdevelopersというグループに指定できます。
useradd -g developers itcuser
グループを指定すれば、ファイルやディレクトリなどのアクセス権限を限定でき、セキュリティ上のリスクを減らせるのです。
また新たなグループだけでなく、既に存在するグループを指定できることも覚えておきましょう。
-s:デフォルトのシェルを指定する
-sオプションは、新しいユーザーがログインした時に使用するデフォルトのシェルを指定します。
シェルは、ユーザーがコマンドを入力するためのインターフェースとして機能するプログラムのことです。
例えば、以下のように「-s」オプションを使用して、新しいユーザーのデフォルトのシェルを「/bin/bash」に設定できます。
useradd -s /bin/bash newuser
ここで、「newuser」という名前のユーザーを作成し、「/bin/bash」をデフォルトのシェルとして指定しています。
これにより、ユーザーがログインした時に、彼らは「/bin/bash」シェルでコマンドを入力することができるのです。
-u:ユーザーIDを指定する
-uオプションを使うことで、新しいユーザーのユーザーIDを指定できます。
例えば複数のユーザーアカウントを管理する際、ユーザーIDが重複すると問題が発生する可能性があります。
-uで指定すれば、同じIDを避けられるのです。
useradd -u uniqueuser
上記の例では、新しいユーザーアカウントのユーザーIDを「uniqueuser」と指定しています。
-m:ホームディレクトリを作成する
useraddの-mオプションは、作成されたユーザーアカウントのホームディレクトリを作成するために使用されるもの。
以下のコマンドを実行し、itcという名前の新しいユーザーアカウントを作成し、そのユーザーのホームディレクトリを作成できます。
useradd -m itc
ホームディレクトリは、作成されたユーザーアカウントがログインした際に自動的に表示され、そのユーザーがファイルを保存するための場所として使用されます。
-r:システムアカウントを作成する
-rというオプションは、システムアカウントを作成するために使用されます。
システムアカウントとは、システム上でバックグラウンドプロセスやデーモンプロセスを実行するために必要なアカウントのこと。通常のユーザーアカウントとは異なる権限を持ちます。
例えば、Webサーバーやデータベースサーバーなど、重要なシステムプロセスがある場合、これらのプロセスはシステムアカウントで実行されることが望ましいです。
セキュリティ上の理由から、システムアカウントは一般ユーザーアカウントとは異なり、通常はログインできないように設定されています。
通常のユーザーアカウントとは異なるUIDとGIDや、「/usr/sbin/nologin」というシェルを割り当てられるため、一般ユーザーがログインできないようになっています。
-U:ユーザーグループを作成する
-Uオプションを使うと、新しいユーザーグループも同時に作成できます。
グループを同時に作成することで、複数のユーザーを一括で管理できるようになるのです。
例えば新しいWeb開発者用のグループを作成したい場合、以下のようなコマンドを実行します。
useradd -G itcGroup -U itcUser
このコマンドで、「itcGroup」グループが作成され、グループに所属する「itcUser」ユーザーが作成されます。
「itcGroup」に所属するため、グループについてのアクセス制限などを一括で設定できます。
ユーザーの作り方・削除方法を解説
useraddコマンドに関わるuserの作り方や削除方法を詳しく解説します。
基本を覚えたら、以下の応用した使い方でより作業を効率よくこなしましょう。
- グループ・ユーザーの削除方法
- ユーザーアカウントの作成手順
グループ・ユーザーの削除方法
useraddで作成したユーザーやグループを削除する方法を見ていきます。
- グループの削除
- ユーザーの削除
グループの削除
グループを削除するには groupdel
コマンドを使用します。
以下は groupdel
コマンドを使用してグループを削除する例です。
groupdel group_name
group_name
には削除したいグループの名前を指定します。
ただし、削除しようとしているグループがほかのユーザーに割り当てられている場合には、最初にそのユーザーを別のグループに移動させる必要があります。
ユーザーの削除
ユーザーを削除するコマンドは userdel
です。以下は基本的な使い方です。
userdel [オプション] ユーザー名
例えば、ユーザー名 itc_user
を削除する場合、以下のようにコマンドを実行します。
userdel itc_user
userdel
コマンドは、指定されたユーザーアカウントを削除し、ユーザーのホームディレクトリとメールボックスも削除します。
ただし、ファイルやプロセスがユーザーによって所有されている場合は、削除が失敗することもあるので、強制的に削除したい場合は、-f
オプションを使用します。
useraddコマンドを使ったユーザーアカウントの作成手順を詳しく解説
詳しくuseraddでのユーザーアカウント作成手順をご紹介します。
- ターミナルを開き、root権限でログイン
- useraddコマンドを使用し、新しいユーザーアカウントを作成
例:「useradd username」(usernameには、任意のユーザー名を記入) - ユーザーのパスワードを設定
例:「passwd username」 - 必要に応じて、新しいユーザーアカウントのディレクトリを作成
例:「mkdir /home/username」(usernameには、作成したユーザー名を記入) - 新しいユーザーアカウントに必要な権限を付与
例:「chown username:username /home/username」
ユーザーアカウントを作成する際には、セキュリティ対策を考慮し、パスワードの複雑化や必要な権限のみを付与することなどが重要です。
ユーザーアカウント管理で必要な知識3選
ユーザーアカウントを管理していくにあたって必要なことを見ていきます。
- パスワードの設定や変更方法
- ユーザーアカウントのロック/アンロック方法
- sudo権限の設定方法
パスワードの設定や変更方法について
useraddでユーザーを作ったら必ずパスワードを設定しましょう。
passwd [ユーザー名]
このコマンドを実行すると、パスワードを変更するかどうか聞かれるので、変更したい場合は「y」を入力します。
その後、新しいパスワードを入力します。
パスワードは、アルファベット・数字・記号を組み合わせた複雑なものに設定することが推奨されています。
既存ユーザーのパスワードを変更する方法はこちら。
passwd [ユーザー名]
新しくパスワードを設定するときと同じです。
こ新しいパスワードを入力するように求められるので、新しいパスワードを入力してEnterキーを押します。
ユーザーアカウントのロック/アンロック方法について
ユーザーアカウントのロックとは、そのアカウントからのログインを一時的に禁止すること。
一度ロックされても、解除すれば、ユーザーは再びアカウントにログインできます。
ロックをかける方法は、以下のように「usermod」コマンドを使います。
sudo usermod -L [ユーザー名]
-Lオプションは「lock」の略です。
ユーザーアカウントがロックされ、ログインが禁止されます。
アカウントのアンロックはこちら。
sudo usermod -U [ユーザー名]
ここで、-Uオプションは「unlock」の略。
ユーザーアカウントがアンロックされ、ログインが可能になるのです。
sudo権限の設定方法について
useraddを使うのであれば、sudo権限の設定方法についても知っておきましょう。
なぜなら新しいユーザーに管理者権限を与えると、以下のようなことができるからです。
- sudoersファイルの編集:sudoersファイルは、管理者権限を持つrootユーザーのみが編集可
- sudoグループにユーザーを追加:rootユーザーか、sudo権限を持っているユーザーが必要
一般ユーザーがsudo権限を持っているかを確認するためには以下のコマンドを使います。
sudo -l
既定値のエントリと照合中 (ユーザー名 yulikepython)
(ホスト名 xxxx-HP-Desktop):
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
ユーザー yulikepython は yulikepython-HP-Desktop 上で
コマンドを実行できます
(ALL : ALL) ALL
もし一般ユーザーがsudo権限を持っている場合は、「ALL=(ALL) ALL」という行が表示されます。
まとめ:useraddはユーザー管理に欠かせないコマンド
当記事の内容をまとめます。
- useraddを使うと簡単にユーザーが作れる
- useraddではグループやパスワードに関する設定もできる
- Linuxにおいてユーザーを管理することはセキュリティ上とても大切
useraddは、ユーザー管理に欠かせないコマンドです。
ユーザー管理をプロに任せなくても、一般的なことならコマンドで対応できます。
useraddを覚えて、ユーザー作成方法をマスターしましょう。