はじめに
私の所属している研究室では一つのサーバを複数人で共有して使っています。なので、研究室に学生が新しく入ったときに、サーバに人数分のユーザーを作成する必要があります。また、うちの研究室では他の人とファイルを共有するために、全員を同じグループに所属させるようにしています。
そういったサーバの管理を私がやらされているのですが、人が増えたり、別のサーバーから移行してきたりするときに毎回やり方を忘れるので、この記事にメモとして残しておこうかと思います。
ユーザーの追加
ユーザーの追加は以下のコマンドで出来ます。ユーザー追加には「adduser」と「useradd」という2種類のコマンドが存在しますが、「useradd」はユーザーを作成するだけで、ホームディレクトリが作成されないので基本的には「adduser」を使うようにしましょう。
adduser [ユーザー名]
ユーザーにsudo権限を譲渡
追加したユーザーにsudo権限を譲渡したいときは以下のコマンドで出来ます。この記事を見てる人なら大丈夫だと思いますが、あまり無闇矢鱈にsudo権限を与えると問題が起こるので、最低限のユーザーに譲渡するようにしましょう。
gpasswd -a [ユーザー名] sudo
グループ作成
すべてのユーザーを同じグループに所属させるために、新規グループを作成します。
groupadd [グループ名]
グループが作成されているかを確認するために、グループのリストを表示してみましょう。
cat /etc/group
ただ、すべてのグループを表示したので、作成したグループが見つけにくいかもしれません。その時は以下のコマンドを実行しましょう。
cat /etc/group | grep [グループ名]
ユーザーをグループに追加
作成したユーザーをグループに追加しましょう。今回は、セカンダリグループではなく、プライマリグループを変更します。
usermod -g [グループ名] [ユーザー名]
ちなみに、セカンダリグループを変更するときは以下のコマンドです。
usermod -G [グループ名] [ユーザー名]
紛らわしいですが、気をつけましょう。
ちゃんと、プライマリグループが変更できているかを以下のコマンドで確認してみましょう。
groups [ユーザー名]
これで、ユーザー名とグループ名が想定通りに表示されたらおkです。
ファイルのグループを変更する
今までのコマンドで、ユーザーのグループを変更できたかと思いますが、ホームディレクトリにもともとあったファイルやディレクトリ(Downlods, Desktopなど)はグループが変更できていないので、以下のコマンドで変更しましょう。
chgrp -R [グループ名] /home/[ユーザーのホームディレクトリ]/
ユーザー名のグループを消去
ユーザーを作成したさいに作成されたグループは使用しないので、消去しておきましょう。
groupdel [グループ名]
最後に
これで、新規ユーザーを作成してから、特定のグループに所属させるようにすることができます。私が最初にやらされたときは、chownで他ユーザーからの書き込み or 読み込みの権限を変更しないと、新しくファイルやディレクトリを作成しても、ユーザーが所属しているグループにファイルが属さないという問題があった気がするのですが、あれは何だったんでしょう。
その問題が起きたらまた、追記しておきます。