Linuxのユーザーとグループの管理について

こんにちは!

今回はLinuxのユーザーとグループの管理についてまとめます。

ユーザーとグループ

Linuxのユーザーシステム

  • LinuxマルチユーザーのOS
  • インストール時に作成したユーザー以外にも、後からユーザーを追加できる
  • ユーザーには個別にホームディレクトが与えられ、個別の設定やデータを保持できる

パーミッション

  • ユーザーが勝手にシステム全体に影響を与えるような変更ができないように、パーミッションという仕組みがある
  • パーミッションは、各ユーザーに対して読み書きや実行の制限を与えることが出来る
  • 他のユーザーのホームディレクトリにはアクセスすることが出来ない

グループ

  • ユーザーに与える権限をグループで管理することが出来る
  • グループに権限を設定し、ユーザーをグループに所属させることでユーザーにまとめて権限を設定できる
  • ユーザーは複数のグループに所属することができる

システムが利用するユーザー

  • Linuxには人間が利用するのではなく、プログラムが利用するためのユーザーも存在する
  • Webサーバーなどには、不正に利用されたときのリスクに備えて、権限を絞った専用のユーザーを設定することがある
  • ユーザーを細分化して与える権限を最小化する考え方を、最小権限の原則と呼ぶ

ユーザー関連のコマンド

コマンド 内容 使用例と補足
adduser ユーザーを追加 sudo adduser user1
useraddのラッパースクリプト
usermod -l ユーザー名の変更 sudo usermod -l user2 user1
user1をuser2に変更
usermod -L ユーザーをロック sudo usermod -L user1
パスワードが使えなくなる。
SSH認証は可能なため注意
usermod -G ユーザーをグループに追加 sudo usermod -G docker user
もともと入っていたグループを全て指定しないと、
既存のグループから全て抜けてしまう。
左の例だとdockerグループにだけ入った状態になる。
gpasswdを推奨
passwd パスワードの変更 passwd / sudo passwd user1
自分自身のパスワードの変更 /
管理者は他のユーザーのパスワードを変更可能
deluser ユーザーの削除 sudo deluser user1
ホームディレクトリのデータは残る。
--remove-homeを付けるとホームディレクトリも削除する

グループ関連のコマンド

コマンド 内容 使用例と補足
addgroup グループを作成する
sudo addgroup group1
id 所属グループを確認する id
uidがユーザーID、gidがプライマリグループ、groupsはプライマリグループとセカンダリグループ
gpasswd -a グループにユーザーを追加する sudo gpasswd -a user1 group1
gpasswd -d グループからユーザーを削除する sudo gpasswd -d user1 group1
delgroup グループを削除する sudo delgroup
プライマリグループを削除するには、先にユーザーから削除する

おわりに

今回はLinuxのユーザーとグループの管理についてまとめました。Linuxを一人で使っているとあまりユーザーやグループの操作をすることが無くて苦手な分野でした。今回勉強したことで、少し使える気がしてきました。

75/100

参考書籍