ユーザの作成
次はユーザの作成・修正・削除です。ユーザーを作成・修正・削除するコマンドは、グループの作成・修正・削除を行うコマンドと基本的に同じです。まずは、ユーザの作成を行いましょう。「ユーザ(user)の追加(add)」ということで、使うのはuseradd
コマンドです。
# useradd userX
このコマンドを実行するとユーザ「userX」が追加されます。追加されたことは、「/etc/passwd」というファイルを参照して確認します。
# cat /etc/passwd ~省略~ userX:x:500:500::/home/userX:/bin/bash
ファイルの末尾に上記のような1行が表示されれば、ユーザuserXが追加できています。グループと同様に「:
」(コロン)区切りで情報が表示がされていますが、グループと比べると項目が多いですね。各項目の意味は次表のとおりです。
項目 | 意味 | 今回追加したユーザuserXの実際の値 |
---|---|---|
1 | ユーザ名 | userX |
2 | パスワード | x(←「x」の意味はコラムを参照) |
3 | ユーザID(UID) | 500 |
4 | グループID(GID) | 500 |
5 | コメント | - |
6 | ホームディレクトリ | /home/userX |
7 | ログインシェル | /bin/bash |
「コメント」にはユーザの説明を設定することができます。また、「ホームディレクトリ」にはユーザのホームディレクトリの絶対パス、「ログインシェル」にはユーザがログインした際に起動するシェルを指定することができます。
useraddコマンドのオプション指定
先ほどの表に掲げた項目を、useradd
コマンドのオプションを使って指定してみましょう。
(※useraddのオプションでプライマリグループに指定するためのグループ「groupY」を作成) # groupadd -g 510 groupY (※useraddのオプションでサブグループに指定するためのグループ「groupZ」を作成) # groupadd groupZ # useradd -u 510 -g groupY -G groupZ -c "test user" -d /home/Y -s /bin/sh userY
useradd
コマンドの-g
オプションはプライマリグループ、-G
オプションはサブグループを指定します。大文字小文字の違いですが、指定する項目が異なるので注意してください。
実行したら、先ほどと同じように/etc/passwdファイルを確認してみましょう。
# cat /etc/passwd | grep userY userY:x:510:510:test user:/home/Y:/bin/sh
上記のような出力になればOKです。グループIDのところ(4つ目の項目)を見ると、プライマリグループ「groupY」が指定されていますね。
なお、オプションで各項目を指定せずにuseradd
コマンドを実行すると、ホームディレクトリは「/home」ディレクトリ配下のユーザ名と同名のディレクトリになり、デフォルトシェルは「/bin/bash」になります。このとき、ホームディレクトリとなる「ユーザ名と同名のディレクトリ」は自動的に作成されます。
オプションで指定しなかった場合の/etc/groupファイルも確認してみましょう。
# cat /etc/group | grep groupY groupY:x:510: groupZ:x:511:userY
グループgroupZに、サブグループとして所属しているユーザ「userY」が表示されていますね。
パスワードを管理しなくなったpasswdファイル
ユーザが追加されていることを確認する際に参照した「/etc/passwd」ファイルについて補足しておきます。
「passwd」という名前からパスワードを管理するファイルのように思えますが、実態としては「ユーザを管理するファイル」というほうがしっくりきます。というのも、以前はこのファイルでユーザとともに暗号化されたパスワードも管理していたからです。
現在では、よりセキュアにするため、パスワードは「/etc/shadow」というファイルで管理することが一般的です。その場合、/etc/passwdファイルのパスワードが記載されていた(上記の表では2つ目の)項目には「x
」が表示されます。/etc/groupで出てきた「x
」も同じです。