まとめ系記事
Macターミナルコマンド「chmod」の使い方
スポンサーリンク

ここではターミナルコマンドchmod(change mode)の使い方を説明します。
ターミナルの基本的な情報を確認したい場合は下のページを御覧ください。

chmodはパーミッションの設定を変更するコマンドです。
パーミッションとは「ファイルやディレクトリに対してユーザーやグループが持つ権限」もしくはファイルやディレクトリがユーザーに対して実行する権限」の事です。
少しわかりづらいかもしれませんが、簡単に説明すると該当ファイル、ディレクトリを読み込んだり書き込んだりできるか、そのファイルはどのユーザーに対して有効なのかという感じです。

パーミッションの読み方

それではまずパーミッションの読み方を説明します。
今回は例としてSampleというフォルダとSampl.txtというテキストファイルを作成します。

ls -l
drwxr-xr-x 2 Macuser staff 68 1 23 15:23 Sample
-rw-r--r-- 1 Macuser staff 7 1 23 15:24 Sample.txt

ファイルの詳細を確認すると上記のように表示されます。
左側の「drwxr-xr-x」の部分(パーミッション)を説明します。
下図を参考にするとそれぞれのアルファベットの意味が理解できます。

パーミッション説明図

読み方の例

今回作成したディレクトリ、ファイルを例にすると、「Sample」はディレクトリであり、所有者は書き込めるが、他のユーザーは読み込みのみでき、実行権限を有しているフォルダであることが分かります。
「Sample.txt」はファイルであり、所有者は読み込み書き込みともに出来るが、他のユーザーは読み込みのみ、実行権限は有していないことが分かります。

chmodコマンド入力

アルファベットの意味を理解できたところで実際の権限を与える方法を説明します。

+(追加)を使用

+を使ってシンプルに権限を追加する方法を説明します。

chmod go+w Sample
chmod a+x Sample.txt
ls -l
drwxrwxrwx 2 Macuser staff 68 1 23 15:23 Sample
-rwxr-xr-x 1 Macuser staff 7 1 23 15:24 Sample.txt

上の例では、フォルダの「Sample」にはグループとその他のユーザーに書き込み権限を、テキストファイル「Sample.txt」には全てのユーザーに対して実行権限を与えるコマンドを入力しました。

-(削除)を使用

-を使って権限を削除する方法を説明します。

chmod a-wx Sample
chmod go-x Sample.txt
ls -l
dr--r--r-- 2 Macuser staff 68 1 23 15:23 Sample
-rwxr--r-- 1 Macuser staff 7 1 23 15:24 Sample.txt

上の例では、フォルダの「Sample」には全てのユーザーの書き込み、実行権限を、テキストファイル「Sample.txt」にはグループへの実行権限を削除しました。

=(記載した権限に変更)を使用

=を使ってそれぞれのユーザーへの権限をまとめて変更する方法を説明します。

chmod u=wx,g=,o= Sample
chmod u=rwx,g=rwx,o=rwx Sample.txt
ls -l
d-wx------ 2 Macuser staff 68 1 23 15:23 Sample
-rwxrwxrwx 1 Macuser staff 7 1 23 15:24 Sample.txt

このように「=」は記載しない場合は「不許可」の状態になります。上の例ではフォルダ「Sample」には所有者は書き込みと実行権限を可能に、テキストファイル「Sample.txt」には全てのユーザーに読み込み、書き込み、実行権限を許可しています。

数字を使用

「+」、「-」、「=」を使用した例を説明しましたが、内容の通り特定の権限を変更するときは手軽に変更できますが、数字を使うと簡潔に権限の変更が行えます。
上の図で示している様に、それぞれの権限には数字が割り振られています。rには4、wには2、xには1、不許可には0としています。これらの数字を足すことで与えたい権限を変更することができます。
例えばグループに全ての権限を与えたい時はr(4)+w(2)+x(1)になりますので070となります。

chmod 600 Sample
chmod 755 Sample.txt
ls -l
drw------- 2 Macuser staff 68 1 23 15:23 Sample
-rwxr-xr-x 1 Macuser staff 7 1 23 15:24 Sample.txt

上の例ではフォルダ「Sample」には所有者のみに読み込み権限と書き込み権限を付与してそれ以外は全て不許可にしました。
テキストファイル「Sample.txt」には所有者には全ての権限を、グループ、その他のユーザーには読み込みと実行権限を付与しています。
試しにフォルダ「Sample」に移動してみると実行権限がないので下記のように表示されます。

-bash: cd: Sample: Permission denied

このように数字を使用して権限を変更すると遥かに手軽に行えますので覚えておくと便利かと思います。

追記

オプションとして対象がフォルダの時は、「-R」を入力するとフォルダ内のフォルダ、ファイル全てのパーミッションを変更することが可能です。

chmod -R 777 Sample

以上で権限付与コマンド「chmod」の説明になります。
お役に立っていれば幸いです。

スポンサーリンク

この記事が気に入ったら
D-Boxをフォロー

新しい情報をお知らせします。

おすすめの記事