Linux または Unix システムでユーザーを作成することは、システム管理者にとって日常的なタスクです。
場合によっては、デフォルト構成で 1 人のユーザーを作成したり、カスタム構成で 1 人のユーザーを作成したり、ユーザーの一括作成方法を使用して複数のユーザーを同時に作成したりすることがあります。
この記事では、4 つの異なる方法で Linux ユーザーを作成する方法を確認します。 useradd、adduser、および newusers コマンドを実際の例とともに使用します。
方法 1:Linux useradd コマンド — デフォルト構成でユーザーを作成する
これは、ユーザー作成のための基本的な低レベル ツールです。デフォルト構成でユーザーを作成するには、useradd を使用します 以下に示すように。
Syntax: # useradd LOGIN-NAME
上記のようにユーザーを作成する際、グループ ID を除くすべてのデフォルト オプションが適用されます。デフォルトのオプションを表示するには、次のコマンドにオプション -D を指定します。
$ useradd -D GROUP=1001 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/sh SKEL=/etc/skel CREATE_MAIL_SPOOL=no
- グループ: これは、デフォルトとして採用されない唯一のオプションです。 -n オプションを指定しないと、ユーザーと同じ名前のグループが作成され、ユーザーがそのグループに追加されるためです。これを回避し、ユーザーをデフォルト グループのメンバーにするには、オプション -n を指定する必要があります。
- ホーム: これは、ホーム ディレクトリのデフォルトのパス プレフィックスです。これで、ホーム ディレクトリが /home/USERNAME として作成されます。
- 非アクティブ: デフォルトで -1 を指定すると、ユーザー パスワードの有効期限が切れたときにアカウントを無効にする機能が無効になります。この動作を変更するには、正の数を指定する必要があります。これは、指定された日数が経過した後にパスワードが期限切れになると、ユーザー アカウントが無効になることを意味します。
- 有効期限: ユーザー アカウントが無効になる日付。
- シェル: ユーザーのログイン シェル
- SKEL :skel ディレクトリの内容がユーザーのホーム ディレクトリにコピーされます。
- CREATE_MAIL_SPOOL :値に応じて、メール スプールを作成または作成しません。
例 1:すべてのデフォルト オプションと独自のグループを持つユーザーを作成します。
次の例では、グループ ramesh でユーザー ramesh を作成します。 Linux の passwd コマンドを使用して、ユーザーの作成直後にユーザーのパスワードを変更します。
# useradd ramesh # passwd ramesh Changing password for user ramesh. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. # grep ramesh /etc/passwd ramesh:x:500:500::/home/ramesh:/bin/bash # grep ramesh /etc/group ramesh:x:500: [Note: default useradd command created ramesh as username and group]
例 2:すべてのデフォルト オプションとデフォルト グループを使用してユーザーを作成します。
# useradd -n sathiya # grep sathiya /etc/passwd sathiya:x:511:100::/home/sathiya:/bin/bash # grep sathiya /etc/group [Note: No rows returned, as group sathiya was not created] # grep 100 /etc/group users:x:100: [Note: useradd -n command created user sathiya with default group id 100] # passwd sathiya Changing password for user sathiya. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. [Note: Always set the password immediately after user creation]
例 3:useradd で使用されるデフォルト オプションの編集
次の例は、ユーザーの作成時にデフォルトのシェルを /bin/bash から /bin/ksh に変更する方法を示しています。
Syntax: # useradd -D --shell=<SHELLNAME> # useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel [Note: The default shell is /bin/bash] # useradd -D -s /bin/ksh # useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/ksh SKEL=/etc/skel [Note: Now the default shell changed to /bin/ksh] # adduser priya # grep priya /etc/passwd priya:x:512:512::/home/priya:/bin/ksh [Note: New users are getting created with /bin/ksh] # useradd -D -s /bin/bash [Note: Set it back to /bin/bash, as the above is only for testing purpose]
方法 2:Linux の useradd コマンド — カスタム構成でユーザーを作成する
上記の方法で示されているように、useradd コマンドによって指定されたデフォルト値 (たとえば、グループ、シェルなど) を受け入れる代わりに、コマンド ラインでカスタム値をパラメーターとして useradd コマンドに指定できます。
Syntax: # useradd -s <SHELL> -m -d <HomeDir> -g <Group> UserName
- -s シェル :ユーザーのログイン シェル。
- -m :ユーザーのホーム ディレクトリが存在しない場合は作成します。
- -d ホームディレクトリ :ユーザーのホーム ディレクトリ。
- -g グループ :ユーザーのグループ名または番号。
- ユーザー名 :ユーザーのログイン ID。
例 4:useradd コマンドを使用してカスタム構成で Linux ユーザーを作成する
次の例では、ホーム ディレクトリ /home/king、デフォルト シェルが /bin/csh で、コメントが「LeBron James」のアカウント (lebron) を作成します。
# useradd -s /bin/csh -m -d /home/king -c "LeBron James" -g root lebron # grep lebron /etc/passwd lebron:x:513:0:LeBron James:/home/king:/bin/csh
注: -p オプションを使用してパスワードを指定できます。これは、暗号化されたパスワードである必要があります。または、passwd コマンドを使用してユーザーのパスワードを変更することもできます。
方法 3:Linux の adduser コマンド – インタラクティブにユーザーを作成する
これらは、低レベルの useradd にとってより使いやすいツールです。デフォルトでは、UID と GID に Debian ポリシー形式が選択されます。コマンド ラインでインタラクティブにユーザーを作成する非常に簡単な方法は、adduser コマンドを使用することです。
Syntax: # adduser USERNAME
例 5:adduser コマンドを使用してインタラクティブにユーザーを作成する
# adduser spidey Adding user `spidey' ... Adding new group `spidey' (1007) ... Adding new user `spidey' (1007) with group `spidey' ... Creating home directory `/home/spidey' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for spidey Enter the new value, or press ENTER for the default Full Name []: Peter Parker Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [y/N] y
方法 4:Linux newusers コマンド — 一括ユーザーの作成
同時に複数のユーザーを作成したい場合があります。上記の 3 つの方法のいずれかを使用してユーザーを一括作成すると、非常に面倒で時間がかかる場合があります。幸いなことに、Linux には、newusers コマンドを使用してユーザーをアップロードする方法が用意されています。これは、入力を要求できないため、バッチ モードでも実行できます。
# newusers FILENAME
このファイル形式は、パスワード ファイルと同じです。
loginname:password:uid:gid:comment:home_dir:shell
例 6:newusers コマンドを使用して多数のユーザーを作成する
Simpson ファミリーがあなたの組織に参加することを決定し、Linux サーバーへのアクセスが必要になった場合、以下に示すように newusers コマンドを使用して、それらすべてのアカウントをまとめて作成できます。
# cat homer-family.txt homer:HcZ600a9:1008:1000:Homer Simpson:/home/homer:/bin/bash marge:1enz733N:1009:1000:Marge Simpson:/home/marge:/bin/csh bart:1y5eJr8K:1010:1000:Bart Simpson:/home/bart:/bin/ksh lisa:VGz638i9:1011:1000:Lisa Simpson:/home/lisa:/bin/sh maggie:5lj3YGQo:1012:1000:Maggie Simpson:/home/maggie:/bin/bash
注: ユーザーのパスワードを指定する際は、以前に説明した 8 対 4 のパスワード ルールなど、パスワードのベスト プラクティスに従ってください。
以下に示すように、newusers コマンドを使用して、Simpsons 家族のアカウントを一緒に作成します。
# newusers homer-family.txt