Linux 新規ユーザの作成 - useradd
Linuxに新規ユーザーを作成するには、コマンド「 useradd 」を使用します。 「 useradd 」コマンド実行時に、新規ユーザーのホームディレクトリや、グループなどを指定する事もできます。
単純に「 useradd ユーザー名 」で簡単にユーザーを追加できますが、新規ユーザーのデフォルトの情報は確認しておいた方が良いでしょう。
また、新規ユーザーの作成は「 root 」で行います。
Last Update : 2007年06月19日
Linux 新規ユーザの作成 - useradd 項目
1. 「 useradd 」のデフォルト設定を確認する
useraddコマンドに「 -D 」オプションを指定する事で、 作成されるユーザーのデフォルトの設定値を確認する事ができます。
[root@localhost ~]# useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel
各項目の意味は以下の通りとなります。
GROUP | グループIDを100に設定する。Red Hat系のディストリビューションの場合、/etc/login.defs で GID_MIN が 500 と設定されているので、グループIDは 500 から順番に与えられる。 |
HOME | デフォルトのホームディレクトリの場所。この場合、「 /home/ユーザー名 」でホームディレクトリが作成される。 |
INACTIVE | ユーザーのパスワードが無効になってから、そのユーザーのアカウントが無効になるまでの期限。 「 -1 」は無期限を意味する。 |
EXPIRE | ユーザーアカウントの有効期限。値が無い場合は無期限を意味する。 |
SHELL | デフォルトのログインシェル名。 |
SKEL | 新規ユーザーのホームディレクトリのテンプレート。 この場合、/etc/skel のコピーが新規ユーザーのホームディレクトリに作成される。 |
memo
なお、/etc/default/useraddファイルでも確認できます。
[root@localhost ~]# cat /etc/default/useradd # useradd defaults file GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel
2. 「 useradd 」のデフォルト設定を変更する
useraddコマンドに「 -D + オプション 」で、オプションに与えられた値に応じてデフォルト値を変更する事が可能です。
-b default_home | 新規ユーザのホームディレクトリへのパス。default_home の後にユーザ名を付け加えたものが新規ディレクトリ名として使われる。 |
-e default_expire_date | ユーザアカウントが無効となる日付。日付は YYYY-MM-DD の形式。 |
-f default_inactive | パスワードの使用期限が切れてからアカウントが使用不能となるまでの日数。「 -1 」で無期限。 |
-g default_group | 新規ユーザの属する主グループのグループ名またはグループ ID。グループ名はすでに存在するものでなければならない。グループ ID は、すでに存在するグループに対応するものでなければならない。 |
-s default_shell | 新規ユーザのログインシェル。 |
例:ホームディレクトリを「 /home/users 」に、ユーザーのパスワードが無効になってからアカウントを60日で無効にする。
[root@localhost ~]# useradd -D -b/home/users -f60 [root@localhost ~]# useradd -D ← 確認 GROUP=100 HOME=/home/users ← 変更OK INACTIVE=60 ← 変更OK EXPIRE= SHELL=/bin/bash SKEL=/etc/skel
memo
/etc/default/useraddファイルを直接変更してもデフォルト設定の変更は可能です。
3. 「 useradd 」で新規ユーザーを追加する
useraddコマンドに、追加したいユーザー名を指定する事で新規ユーザーを作成できます。 オプションの指定無しで、デフォルト設定のユーザーと、ホームディレクトリが作成されます。
新規ユーザーhogehogeを作成します。
[root@localhost ~]# useradd -D ← 初期設定確認 GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel [root@localhost ~]# useradd hogehoge ← ユーザー作成 [root@localhost ~]# id -a hogehoge ← ユーザー確認 uid=514(hogehoge) gid=514(hogehoge) 所属グループ=514(hogehoge) [root@localhost ~]# ls -ld /home/hogehoge/ ← ホームディレクトリ確認 drwx------ 4 hogehoge hogehoge 4096 4月 15 01:12 /home/hogehoge/
4. 「 useradd 」のその他のオプション
デフォルト設定じゃないユーザーを作成したい場合はオプションを指定してユーザーを作成します。
例:ユーザIDを600、主グループをusers、サブグループsub1とsub2に属すユーザーhogeを作成する。
[root@localhost ~]# useradd -u 600 -g users -G sub1,sub2 hoge ← ユーザー作成
[root@localhost ~]# id -a hoge
uid=600(hoge) gid=501(users) 所属グループ=501(users),503(sub1),514(sub2)
以下オプション詳細です。
-M | ホームディレクトリを無しにする。 |
-c comment | 新規ユーザのコメント。 |
-d home_dir | ホームディレクトリを指定する。 |
-e expire_date | ユーザアカウントが無効となる日付。日付は YYYY-MM-DD の形式。 |
-f inactive_days | パスワードがの使用期限が切れてから、このオプションで与えた日数経過するとアカウントは永久に使用不能となる。値として 0 を指定すると、パスワードが失効した直後にアカウントは使用不能となり、-1 を指定すると、この機能は無効となる。デフォルト値は -1 である。 |
-g initial_group | ユ ーザの属する主グループのグループ名またはグループ ID。 |
-G group,[...] | ユーザの属するサブグループのグループ名またはグループ ID。グループはコンマで区切り、空白を含めてはいけない。 |
-s shell | ユーザのログインシェル名。 |
-u uid | ユーザ ID。 |
-o | UIDの重複を許可する。 |
memo
「 -o 」オプションを使用する事により、UIDを重複させてアカウントを追加する事が可能です。
これを利用すると、同一のユーザーが、異なるログインシェル、ホームディレクトリを使用してログインする時に、 各アカウントに同一のアクセス権を与える事ができるようになります。