ファイル権限(Permissions)について

Tuyoshi Akiyama
Jul 10, 2017 · 3 min read

前提として、ファイル権限は複数のユーザーが、お互いに干渉を及ぼさないようにするルール決めのようなものです。

まず、ファイル権限の見方は以下になります。

akiyamatsuyoshi Desktop $ ls -l
drwxrwxrwx 13 akiyamatsuyoshi staff 442 Dec 31 2013 MUSIC

ここから、わかる情報を上げていきます。

  • 最初の10文字から(d|rwx|rwx|rwx)
    (ファイルの種類|owner|group owner|other users)が表されています。
    最初の一文字以降は、各ユーザーの権限情報となっています。
  • d はディレクトリ
    r は読み、w は書き、xは実行
  • MUSICディレクトリowner = akiyamatsuyoshi
    group owner = staff

chmodを用いた権限の変更

またコマンドchmodを打つと、ファイル権限を設定、変更が可能です。以下のように設定を行います。

$ chmod 600 some_file
  • 777

(rwxrwxrwx) 全ユーザーに全ての権限を設定。基本的には、使用しない値

  • 755

(rwxr-xr-x) ファイル所有者は全権限を保有。他のユーザーは読み、実行権限の設定。

  • 700

(rwx — — — ) ファイル所有者は全権限を保有、それ以外のユーザーは権限を一切持たない。

  • 666

(rw-rw-rw-) 全てのユーザーは読み書きの権限を持つ

  • 644

(rw-r — r — ) 全ユーザーがファイルを読むことができるが、変更設定の権限はファイル所有者のみが保持する

  • 600

(rw — — — -) ファイル所有者は読み書きの権限を持つ。他のユーザーは権限を持たない。ファイルをプライベートに使用する場合に有効

Changing File or Group Ownership

次に、所有者の変更について方法をまとめます。まず、以下のコマンドでSuperuserになる必要があります。

$ su
Password:
$ sudo some_command

現在、macOS(v10.12.5)では下記の手順を踏まないとsuコマンドは使えないみたいです。

Superuserになったら次のコマンドを打って、ファイルの所有オーナーを変更します。処理を終えたら、exitコマンドでSuperuserから元のユーザーに戻ります。

セキュリティ観点からも、Superuserで居続ける事に推奨できないです。

# chown you some_file
# exit

グループのオーナ変更は、まずそのファイル所有者(Superuserではない)になった上で、次のコマンドを打ちます。

$ chgrp new_group some_file

これで、some_fileは以前のグループからnew_groupにグループ権限が移りました。

    Tuyoshi Akiyama

    Written by

    Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
    Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
    Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade