セキュリティ
中級

パーミッション(パーミッション)

ファイル/ディレクトリのアクセス権限。Linux/macOSは rwx 3桁(chmod 755等)、Windows 11はACLで詳細制御。SMB共有・Docker volumeマウント時の不整合がトラブル常連。

0 回閲覧
0 いいね
2026/4/25 更新
関連タグ
chmod
ACL
Linux
SMB

概要

パーミッションは、ファイルやディレクトリに対するアクセス権を定義する仕組みである。
Linux/macOS では 3 つのビット(r, w, x)で表現され、chmod 755 のように数字で設定される。
Windows 11 では ACL(Access Control List)を用いてユーザーやグループごとに詳細に制御できる。
SMB 共有や Docker のボリュームマウント時に、ホストとゲストのパーミッションが不整合になると、
ファイルの読み書きができない、権限エラーが頻発するといったトラブルが発生しやすい。

主な特徴・仕組み

  • Linux/macOS の rwx
    • 所有者(owner)、グループ(group)、その他(others)それぞれに対して
      • r (読み取り)
      • w (書き込み)
      • x (実行/検索)
    • 例: chmod 755 /usr/bin → 所有者に rwx、グループとその他に r-x
  • Windows の ACL
    • ユーザー、グループ、サービスアカウントごとに
      • Read, Write, Execute, Delete, Full Control など
    • 共有フォルダで「共有権限」と「セキュリティ権限」を別々に設定できる
  • SMB 共有
    • Windows の共有と Linux の Samba の間で、force user や force group を設定し、
      • 実際のファイルシステム上の UID/GID と一致させる必要がある
  • Docker ボリューム
    • ホスト側のパーミッションをコンテナ内に反映させるために
      • :Z や :z オプション、--user オプションを活用
  • 不整合の典型的原因
    • ホスト OS とゲスト OS のユーザー ID の差異
    • SMB 共有時の「所有者の強制」設定ミス
    • Docker の --user 指定を忘れ、root で実行した結果
  • 対策
    • chmod と chown を組み合わせて明示的に設定
    • SMB の smb.conf で force user を統一
    • Docker Compose で user: "1000:1000" を明記

スペック/製品比較表

製品名CPUGPUメモリSSDPSU主要パーミッション設定例
Intel Core Ultra 9 285K5.7 GHz ブースト-32 GB DDR52 TB NVMe600 Wchmod 750 /var/www
AMD Ryzen 9 7950X5.2 GHz ブースト-64 GB DDR51 TB NVMe750 Wchown -R www-data:www-data /srv
Nvidia RTX 4090-24 GB GDDR6X----
ASUS ROG Strix X670E--64 GB DDR52 TB NVMe850 Wchmod 770 /opt/app
Samsung 990 Pro---2 TB NVMe-chown -R user:user /mnt/data
G.Skill Trident Z5--32 GB DDR5--chmod 644 /etc/passwd

具体例・対応製品

  • Linux デスクトップ
    • Ubuntu 24.04 LTS
      • /home/username/.ssh は 700 が推奨
      • sudo chown -R username:username /home/username
  • Windows 11 エンタープライズ
    • Microsoft 365 で共有フォルダ /shared を作成
      • 「共有権限」: Read、セキュリティ権限: Full Control を特定ユーザーに付与
  • SMB 共有サーバ
    • Samba 4.17
      • smb.conf の force user = nobody で全ファイルを nobody 所有
      • 共有フォルダ /srv/samba/share に chmod 775
  • Docker コンテナ
    • docker run -d --name webapp -v /var/www:/var/www:Z -u 1000:1000 nginx
      • コンテナ内の /var/www はホストの 1000:1000 に合わせる
  • NAS 製品
    • Synology DS920+
      • DSM 7.1 でパーミッションを「ユーザー権限」+「グループ権限」に分離
      • 共有フォルダ /home は 750 に設定

自作PCでの選び方・注意点

  1. CPU と OS の組み合わせ
    • Intel Core Ultra 9 285K で Windows 11 を選ぶ場合、SATA 3.0 ではなく PCIe 5.0 NVMe を利用し、
      すべてのデータ転送を高速化。
  2. メモリの容量と速度
    • 32 GB DDR5-6000 なら chmod 777 での一時ファイル作成が高速化される。
  3. ストレージの種類
    • Samsung 990 Pro 2 TB NVMe は 3,440 × 1,440 の高解像度画像を扱う場合に
      低レイテンシで読み書きが可能。
  4. 電源ユニット
    • 850 W 以上の PSU を選択し、sudo poweroff 時にパーミッション関連のスクリプトが
      正常に終了するように余裕を持たせる。
  5. ファイルシステムの選択
    • Linux なら ext4 で acl を有効化。Windows なら NTFS で「詳細オプション」
      の「オフライン属性」を無効化。
  6. SMB 共有設定
    • smb.conf の map to guest = bad user を有効にし、
      認証失敗時にゲスト権限でアクセスできるように設定。
  7. Docker のユーザー設定
    • docker-compose.yml で user: "1000:1000" を明示。
  8. ログと監査
    • auditd を有効化し、/var/log/audit で chmod や chown の変更を追跡。
  9. バックアップ
    • rsnapshot で /home を毎日バックアップし、パーミッションを -p オプションで保持。
  10. セキュリティパッチ
    • apt update && apt upgrade -y を定期実行し、パーミッション関連の脆弱性を修正。

関連用語との違い

  • ACL
    • パーミッションは 3 つのビットで表す一方、ACL は複数のエントリで細かく権限を設定。
  • UID/GID
    • パーミッションは所有者の ID とグループ ID に基づくが、UID/GID 自体はユーザー管理の概念。
  • Samba
    • SMB 共有プロトコルで、Linux のパーミッションを Windows 共有にマッピング。
  • Docker Volume
    • ホストとコンテナ間でファイルを共有する際、パーミッションをそのまま渡すか、
      :Z オプションで SELinux ラベルを付与。

よくある質問(FAQ)

Q1: 2025年にリリースされた Ubuntu 24.04 LTS で、chmod 777 を使うとセキュリティ上問題があるのでしょうか?
A1: 777 は全員に読み書き実行権を与えるため、機密データが外部に漏れるリスクが高い。
代わりに chmod 750 と chown でユーザーとグループに限定するのが推奨。

Q2: Windows 11 の ACL で「Full Control」を付与した場合、SMB 共有時に Linux で chmod 777 になることがありますか?
A2: 可能性は低いが、Samba の force user 設定が無いと Linux 側で UID/GID が一致せず、
共有フォルダのパーミッションが 777 になるケースが報告されている。

Q3: Docker のボリュームマウントで :Z を付けずに起動すると、コンテナ内でファイルが書けないことがあります。
A3: これは SELinux が有効な環境で起きる典型的な問題。-Z は SELinux ラベルを再設定し、
コンテナがホスト上のファイルを書き込めるようにする。

Q4: 2026年に登場する次世代の NVMe SSD で、パーミッションに関する新機能はありますか?
A4: 主要メーカーは「ファイルシステムレベルの暗号化」機能を拡張し、
パーミッション情報を暗号化して格納する試みを進めている。

まとめ

パーミッションはファイルシステムの安全性を保つ基盤であり、
Linux の chmod と Windows の ACL、SMB 共有、Docker ボリュームといった多様な環境で
一貫した設定が求められる。
最新のハードウェア(Intel Core Ultra 9 285K、RTX 4090、Samsung 990 Pro など)を活用した自作PCでは、
パーミッションを正しく設定し、SMB や Docker での不整合を防ぐことで、
安定かつ安全なシステム運用が可能になる。
次世代のハードウェアやオペレーティングシステムが登場するたびに、
パーミッションの設定方法を見直し、最新のベストプラクティスを取り入れることが重要です。

この記事について
カテゴリーセキュリティ
難易度中級
作成日2026/4/17