ディストリビューションによっては、システムをインストールするときに、一般ユーザーも追加することができる。しかし、この段階では管理者自身のアカウントを作成するだけにとどめておき、その他のユーザーは、少なくとも、システムが正しくインストールされ、必要なサービスも稼働していることを確認してから作成するほうがよいだろう。システムのインストールもうまくいくかわからないし、インストーラがどのように設定するのかもわからないからだ。
ユーザーを作る前に、まずはグループの確認をしておこう。Linuxではファイルのパーミッションを所有者、グループ、その他に対して設定する。1人のユーザーは複数のグループに属せるが、1つのファイルには1つのグループしか設定できない。そのため、あまりに細かくグループを分けても、全員が同じグループに属するのでも、複数ユーザーでのファイルの共有が面倒になってしまう。基本的な方針としては、共同作業を行うグループ単位とすることが多い。たとえば、開発者チームはkaihatsuグループ、広報グループはkouhouグループに分けるイメージだ。
グループを追加するには、groupaddコマンドにグループ名を指定して実行する。グループ名は既存のグループ名と重複してはいけない。/etc/groupファイルに記述されている名前と異なる名前を考えよう。実行後、/etc/groupファイルを開いてみれば、指定されたグループが追加されていることがわかる。
root# /usr/sbin/ groupadd kaihatsu
ユーザーを追加するには、useraddコマンドを用いる。引数には、属するグループとユーザーのログイン名を指定する。実行後、指定したユーザーの設定が/etc/passwdファイルに追加され、/homeディレクトリに、そのユーザーのホームディレクトリが作成される。
root# /usr/sbin/useradd -g kaihatsu ken-na
そして、passwdコマンドでパスワードを設定する。これでユーザーの作成が終了だ。
ちなみに、ユーザー情報は図3のように/etc/passwdファイルに格納されている。もちろん、パスワードは暗号化されて記述されている。だが、ファイル自体は誰でも読める。現在のマシン性能からすると簡単にパスワードを知られてしまう。そこで、パスワードを保護するために、多くのシステムではシャドウパスワードを用いている。シャドウパスワードでは、暗号化されたパスワードは/etc/shadowに保存され、rootだけが読むことができる。
図3 /etc/passwdファイルの内容 |
ユーザーを削除するには、userdelコマンドを用いる。
root# /usr/sbin/userdel ken-na
ただし、そのユーザーのホームディレクトリは残されたままになっている。もし、ホームディレクトリも削除するのなら、rオプションを指定する。
root# /usr/sbin/userdel -r ken-na
最初にオプションを付けないで実行してしまったときは、rオプションを付けて再度、実行しようとしても、すでにユーザー情報が削除されているのでエラーになる。このときは、
root# rm -fr /home/ken-na
として、ホームディレクトリを削除すればよい。
ただし、userdelコマンドは、ユーザーがホームディレクトリ以外に作成したファイルを削除しない。このようなファイルは、ls -lで表示したとき、ユーザー名でなく、そのユーザーに割り当てられていた番号が表示される。このようなファイルは、同グループに属するユーザーか、rootを所有者にしておこう。
変更作業は簡単である。もちろん、ユーザーを削除する前に行ってもかまわない。
root# find / -uid 101 -exec chown fuga {} \;
組織の形態が変更になったりして、既存ユーザーのグループを変更したいときは、usermodコマンドを用いる。
root# /usr/sbin/usermod -g kouhou ken-na
usermodコマンドも、ユーザーの作成したファイルのグループは変更されないので、必要に応じて、findコマンドを用いて変更する。