Linuxユーザーとグループ管理
ユーザーとグループはLinuxの権限制御の中核です。ユーザーは操作主体を、グループはユーザー集合を表し、多対多関係でリソースアクセスを制御します。
主要コマンド
# グループ操作
groupadd new_group
groupdel old_group
# ユーザー操作
useradd -m -G admin,developers user1
groups user1
UID/GID体系
- 0: スーパーユーザー(root)
- 1-999: システム予約ID
- 1000+: 一般ユーザー
ファイル権限モデル
権限表記例: -rwxr-xr--
- ファイル種別:
-(通常ファイル),d(ディレクトリ) - 所有者権限: r(読取), w(書込), x(実行)
- グループ権限: 同上
- その他ユーザー権限: 同上
chmodコマンド
# 数値モード
chmod 750 script.sh # 所有者:rwx, グループ:r-x, その他:---
# シンボルモード
chmod g+w,o-r config.cfg
プロセス管理
基本コマンド
ps aux | grep nginx
top -b -n 1
lsof -i :8080
プロセス制御
| 操作 | コマンド |
|---|---|
| フォアグラウンド起動 | python app.py |
| バックグラウンド起動 | node server.js & |
| プロセス停止 | kill -9 1234 |
| 端末非依存実行 | nohup ./daemon & |
システムサービス管理
systemctl status sshd
systemctl enable nginx
systemctl restart apache
特権設定ファイル
/etc/passwd構造
user1:x:1001:1002:User One:/home/user1:/bin/bash 1:ユーザ名 2:パスワード位置 3:UID 4:GID 5:コメント 6:ホームディレクトリ 7:シェル
/etc/shadow構造
user1:$6$salt$hash:18676:5:90:7::: 1:ユーザ名 2:ハッシュ化パスワード 3:最終更新日 4:最小更新間隔 5:有効期限
sudoers設定例
user2 ALL=(webuser) /usr/bin/systemctl restart webserv*
特殊権限フラグ
| タイプ | 設定方法 | 効果 | 代表例 |
|---|---|---|---|
| SUID | chmod u+s | 実行ユーザーが所有者権限を継承 | /usr/bin/passwd |
| SGID | chmod g+s | ディレクトリ内新規ファイルが親グループを継承 | 共有ディレクトリ |
| Sticky Bit | chmod +t | ファイル削除を所有者のみに制限 | /tmp |
特殊権限識別
- SUID: 所有者実行ビットが
s(例:-rwsr-xr-x) - SGID: グループ実行ビットが
s(例:drwxr-sr-x) - Sticky Bit: その他実行ビットが
t(例:drwxrwxrwt)