Linux標準教科書 8章復習

ユーザ権限とアクセス権

  • ファイルの所有者と所有グループ

    • ファイルの作成者のユーザIDとグループIDがファイルの所有者と所有グループになる
    • 所有者はchownコマンド、所有グループはchgrpコマンドで変更する
  • 所有者の変更

    • chown ユーザ ディレクトリorファイル
    • 変更するにはrootユーザである必要がある
  • 所有グループの変更

    • chgrp グループ ディレクトリorファイル
  • ファイルとアクセス権

    • ファイルは3つのレベルで権限の設定が可能
      • ファイル所有者
      • ファイル所有者を覗くファイル所有グループ
      • その他のユーザ
    • ファイルには権限のレベルごとに読み、書き、実行の権限がある
    • ファイルのモードを変更するにはchmodコマンドを使う
  • ファイルに設定できるアクセス

    • ls -lコマンドで表示される1つ目のカラムがファイルのモードを示す
      • ファイル種別 所有ユーザの権限 所有グループの権限 その他の権限
      • rは読み、wは書き込み、xは実行またはディレクトリの移動
  • アクセス権の変更

    • chmod モード ファイルorディレクトリ
    • 権限の追加と削除はグループ名と追加削除したい権限を記載する
      • グループに書き込み権限を追加する
        • chmod g+w
      • ユーザから読み込み権限を削除する
        • chmod u-r
    • 8進数での指定も可能
      • -rw-rw-r--としたい場合
        • chmod 664
    • モードの指定にsetuidビット/setgidビット/stickyビットという属性がある
      • setuid/setgidビットのプログラムを実行すると所有者・所有グループの権限で実行される
        • rootユーザ所有でsetuidビットがセットされたプログラムは一般ユーザが実行した場合でもrootユーザと同じ動作
      • stickyビットのディレクトリのファイルは所有者以外の削除が出来ない
  • ファイル作成のモード
    • ファイルを新規作成すると規定のパーミッションである664が付与される
    • umask 8進数のモードのマスク値で指定したパーミッションでファイル作成が可能
    • 指定数マスク値は許可しないビットを指定する(666から指定したい8進数を引いた値)
      • 644(-rwx-rw-rw)にしたい場合は666-644=022がマスク値
    • -Sオプションで意味がわかりやすい形式で指定可能
      • umask -S u=rwx,g=rx,o=rx
      • ただしモードの制限はumaskを実行したシェル内でしか有効ではない