こんにちは!
今回はLinuxのユーザーとグループの管理についてまとめます。
ユーザーとグループ
Linuxのユーザーシステム
パーミッション
- ユーザーが勝手にシステム全体に影響を与えるような変更ができないように、パーミッションという仕組みがある
- パーミッションは、各ユーザーに対して読み書きや実行の制限を与えることが出来る
- 他のユーザーのホームディレクトリにはアクセスすることが出来ない
グループ
- ユーザーに与える権限をグループで管理することが出来る
- グループに権限を設定し、ユーザーをグループに所属させることでユーザーにまとめて権限を設定できる
- ユーザーは複数のグループに所属することができる
システムが利用するユーザー
- 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