Linux権限昇格の基礎的理解

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--

  1. ファイル種別: -(通常ファイル), d(ディレクトリ)
  2. 所有者権限: r(読取), w(書込), x(実行)
  3. グループ権限: 同上
  4. その他ユーザー権限: 同上

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*

特殊権限フラグ

タイプ設定方法効果代表例
SUIDchmod u+s実行ユーザーが所有者権限を継承/usr/bin/passwd
SGIDchmod g+sディレクトリ内新規ファイルが親グループを継承共有ディレクトリ
Sticky Bitchmod +tファイル削除を所有者のみに制限/tmp

特殊権限識別

  • SUID: 所有者実行ビットがs (例: -rwsr-xr-x)
  • SGID: グループ実行ビットがs (例: drwxr-sr-x)
  • Sticky Bit: その他実行ビットがt (例: drwxrwxrwt)

タグ: Linuxセキュリティ 権限昇格 SUID SGID システム管理

7月3日 21:49 投稿