ファイル権限(Permissions)について
前提として、ファイル権限は複数のユーザーが、お互いに干渉を及ぼさないようにするルール決めのようなものです。
まず、ファイル権限の見方は以下になります。
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にグループ権限が移りました。
