クロの制作日記

クロの制作日記

田舎の大学生がUnityとか機械学習関連の制作物をひたすらアップします。ブログで紹介したコード一覧https://github.com/kuroshum/blog_code

Linuxでユーザー追加・グループ作成・グループに追加の流れ

はじめに

私の所属している研究室では一つのサーバを複数人で共有して使っています。なので、研究室に学生が新しく入ったときに、サーバに人数分のユーザーを作成する必要があります。また、うちの研究室では他の人とファイルを共有するために、全員を同じグループに所属させるようにしています。

そういったサーバの管理を私がやらされているのですが、人が増えたり、別のサーバーから移行してきたりするときに毎回やり方を忘れるので、この記事にメモとして残しておこうかと思います。




ユーザーの追加

ユーザーの追加は以下のコマンドで出来ます。ユーザー追加には「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 読み込みの権限を変更しないと、新しくファイルやディレクトリを作成しても、ユーザーが所属しているグループにファイルが属さないという問題があった気がするのですが、あれは何だったんでしょう。

その問題が起きたらまた、追記しておきます。