アンドロイド

Linuxでユーザーを作成する方法(useraddコマンド)

目次:

Anonim

Linuxはマルチユーザーシステムであるため、複数の人が同じシステムを同時に操作できます。 システム管理者として、ユーザーを作成および削除し、それらを異なるグループに割り当てることにより、システムのユーザーおよびグループを管理する責任があります。

Linuxでは、 useradd コマンドを使用してユーザーアカウントを作成し、ユーザーを異なるグループに割り当てることができます。 useradd は低レベルのユーティリティです。DebianおよびUbuntuのユーザーは、より使いやすいadduserコマンドを代わりに使用するでしょう。

useradd コマンドの使用方法とそのオプションについて説明します。

useradd コマンド

useradd コマンドの一般的な構文は次のとおりです。

useradd USERNAME

useradd コマンドを使用して新しいユーザーを作成するには、rootまたはsudoアクセスを持つユーザーとしてログインする必要があります。

呼び出されると、 useradd は、コマンドラインで指定されたオプションと /etc/default/useradd ファイルで指定されたデフォルト値を使用して、新しいユーザーアカウントを作成します。

このファイルで定義されている変数は、配布ごとに異なります。これにより、 useradd コマンドは異なるシステムで異なる結果を生成します。

このコマンドは、/ /etc/login.defs ファイルの内容も読み取ります。 このファイルには、パスワード有効期限ポリシー、システムおよび一般ユーザーの作成時に使用されるユーザーIDの範囲など、シャドウパスワードスイートの構成が含まれています。

Linuxで新しいユーザーを作成する方法

新しいユーザーアカウントを作成するには、 useradd 続けてユーザー名を入力します。

たとえば、 username という名前の新しいユーザーを作成するには、次を実行します。

sudo useradd username オプションを使用せずに使用した場合の最も単純な形式では、useraddは /etc/default/useradd ファイルで指定されたデフォルト設定で新しいユーザーアカウントを作成します。

このコマンドは、エントリを /etc/passwd /etc/shadow, /etc/group 、および /etc/gshadow ファイルに追加します。

新しく作成されたユーザーとしてログインできるようにするには、ユーザーのパスワードを設定する必要があります。 そのためには、 passwd コマンドに続いてユーザー名を実行し passwd

sudo passwd username

パスワードの入力と確認を求められます。 強力なパスワードを使用してください。

Changing password for user username. New password: Retype new password: passwd: all authentication tokens updated successfully.

新しいユーザーを追加してホームディレクトリを作成する方法

ほとんどのLinuxディストリビューションでは、 useradd コマンドで新しいユーザーアカウントを作成すると、ユーザーのホームディレクトリは作成されません。

-m (-- --create-home )オプションを使用して、ユーザーのホームディレクトリを /home/username として作成し /home/username

sudo useradd -m username

上記のコマンドは、新しいユーザーのホームディレクトリを作成し、 /etc/skel ディレクトリからユーザーのホームディレクトリにファイルをコピーします。 /home/username ディレクトリー内のファイルをリストすると、初期化ファイルが表示されます。

ls -la /home/username/

drwxr-xr-x 2 username username 4096 Dec 11 11:23. drwxr-xr-x 4 root root 4096 Dec 11 11:23.. -rw-r--r-- 1 username username 220 Apr 4 2018.bash_logout -rw-r--r-- 1 username username 3771 Apr 4 2018.bashrc -rw-r--r-- 1 username username 807 Apr 4 2018.profile

ユーザーは、ホームディレクトリ内で、ファイルとディレクトリの書き込み、編集、削除を行うことができます。

特定のホームディレクトリを持つユーザーの作成

たとえば、 /opt/username ホームディレクトリを持つ username という名前の新しいユーザーを作成するには、次のコマンドを実行する必要があります。

sudo useradd -m -d /opt/username username

特定のユーザーIDを持つユーザーの作成

LinuxおよびUnixライクなオペレーティングシステムでは、ユーザーは一意のUIDとユーザー名で識別されます。

ユーザー識別子(UID)は、Linuxシステムによって各ユーザーに割り当てられる一意の正の整数です。 UIDと他のアクセス制御ポリシーを使用して、ユーザーがシステムリソースに対して実行できるアクションの種類を決定します。

デフォルトでは、新しいユーザーが作成されると、システムは login.defs ファイルで指定されたユーザーIDの範囲から次に使用可能なUIDを割り当てます。

-u (-- --uid )オプションを使用して、特定のUIDを持つユーザーを作成します。 たとえば、UIDが 1500 username という名前の新しいユーザーを作成するには、次のように入力します。

sudo useradd -u 1500 username

id コマンドを使用して、ユーザーのUIDを確認できます。

id -u username

1500

特定のグループIDを持つユーザーの作成

Linuxグループは、Linuxでユーザーアカウントを整理および管理するために使用される組織単位です。 グループの主な目的は、グループ内のユーザー間で共有できる特定のリソースに対する読み取り、書き込み、または実行権限などの一連の特権を定義することです。

新しいユーザーを作成する場合、 useradd コマンドのデフォルトの動作は、ユーザー名と同じ名前で、UIDと同じGIDを持つグループを作成することです。

-g (-- --gid )オプションを使用して、特定の初期ログイングループを持つユーザーを作成します。 グループ名またはGID番号のいずれかを指定できます。 グループ名またはGIDはすでに存在している必要があります。

たとえば、 username という名前の新しいユーザーを作成し、ログイングループを users 設定するには、次の users 入力し users

sudo useradd -g users username

ユーザーのGIDを確認するには、 id コマンドを使用します。

id -gn username

users

ユーザーの作成と複数のグループの割り当て

Linuxオペレーティングシステムには、プライマリグループとセカンダリグループまたは補足グループの2種類のグループがあります。 各ユーザーは、1つのプライマリグループと0個以上のセカンダリグループに属することができます。

-G (-- --groups )オプションを使用すると、ユーザーがメンバーになる補足グループのリストを指定できます。

次のコマンドは、プライマリグループ users とセカンダリグループ wheel および docker 持つ username という名前の新しいユーザーを作成します。

sudo useradd -g users -G wheel, developers username

次のように入力して、ユーザーグループを確認できます。

id username

uid=1002(username) gid=100(users) groups=100(users), 10(wheel), 993(docker)

特定のログインシェルでユーザーを作成する

デフォルトでは、新しいユーザーのログインシェルは /etc/default/useradd ファイルで指定されたものに設定されます。 Ubuntu 18.04などの一部のLinuxディストリビューションでは、デフォルトのシェルは /bin/sh 設定されていますが、他のディストリビューションでは /bin/bash 設定されています。

-s (-- --shell )オプションを使用すると、新しいユーザーのログインシェルを指定できます。

たとえば、ログインシェルタイプとして /usr/bin/zsh を使用して username という名前の新しいユーザーを作成するには、次のように入力します。

sudo useradd -s /usr/bin/zsh username

/etc/passwd ファイルのユーザーエントリをチェックして、ユーザーのログインシェルを確認します。

grep username /etc/passwd

username:x:1001:1001::/home/username:/usr/bin/zsh

カスタムコメント付きのユーザーの作成

-c (-- --comment )オプションを使用すると、新しいユーザーの簡単な説明を追加できます。 通常、ユーザーのフルネームまたは連絡先情報がコメントとして追加されます。

次の例では、テキスト文字列 Test User Account をコメントとして、 username という名前の新しいユーザーを作成しています。

sudo useradd -c "Test User Account" username

コメントは /etc/passwd ファイルに保存されます。

grep username /etc/passwd

username:x:1001:1001:Test User Account:/home/username:/bin/sh

コメントフィールドは GECOS とも呼ばれます。

有効期限のあるユーザーの作成

-e (-- --expiredate )オプションを使用すると、新しいユーザーアカウントの有効期限を定義できます。 このオプションは、一時的なアカウントを作成するのに便利です。 日付は YYYY-MM-DD 形式を使用して指定する必要があります。

たとえば、有効期限が2019年1月22日に設定された username という名前の新しいユーザーアカウントを作成するには、次のコマンドを実行します。

sudo useradd -e 2019-01-22 username

chage コマンドを使用して、ユーザーアカウントの有効期限を確認できます。

sudo chage -l username

出力は次のようになります。

Last password change: Dec 11, 2018 Password expires: never Password inactive: never Account expires: Jan 22, 2019 Minimum number of days between password change: 0 Maximum number of days between password change: 99999 Number of days of warning before password expires: 7

システムユーザーの作成

システムユーザーと通常の(通常の)ユーザーの間に技術的な違いはありません。 通常、OSおよび新しいパッケージをインストールするときにシステムユーザーが作成されます。

状況によっては、一部のアプリケーションで使用されるシステムユーザーを作成する必要があります。

-r (-- --system )オプションを使用して、システムユーザーアカウントを作成します。 たとえば、 username という名前の新しいシステムユーザーを作成するには、次の username を実行します。

sudo useradd -r username

システムユーザーは有効期限なしで作成されます。 それらのUIDは、通常のユーザーに使用される範囲とは異なる login.defs ファイルで指定されたシステムユーザーIDの範囲から選択されます。

デフォルトのuseradd値の変更

デフォルトのuseraddオプションは、 -D 、-- --defaults オプションを使用するか、 /etc/default/useradd ファイルの値を手動で編集することで表示および変更できます。

現在のデフォルトオプションを表示するには、次のように入力します。

useradd -D

出力は次のようになります。

GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/sh SKEL=/etc/skel CREATE_MAIL_SPOOL=no

デフォルトのログインシェルを /bin/sh から /bin/bash に変更するとします。 これを行うには、以下に示すように新しいシェルを指定します。

sudo useradd -D -s /bin/bash

次のコマンドを実行して、デフォルトのシェル値が変更されたことを確認できます。

sudo useradd -D | grep -i shell

SHELL=/bin/bash

結論

このチュートリアルでは、 useradd コマンドを使用して新しいユーザーアカウントを作成する方法を示しました。 Ubuntu、CentOS、RHEL、Debian、Fedora、Arch Linuxなど、すべてのLinuxディストリビューションに同じ手順が適用されます。

ご質問がある場合は、コメントをお気軽にお寄せください。

端末ユーザーグループ