Mac

Macターミナルコマンド「chmod」の使い方

ターミナルchmodアイキャッチ

ここではターミナルコマンドchmod(change mode)の基本的な使い方を説明します。
ターミナルの基本的な情報はこちらを御覧ください。

Macターミナルの覚えておきたいショートカット・コマンドまとめ

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を

"いいね!"か"フォロー"

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

D-Box

関連記事

  1. lsアイキャッチ Macターミナルコマンド「ls」のオプションまとめ
  2. Wi-Fiアイキャッチ MacのWi-Fi接続優先順位を設定する方法
  3. ホームディレクトリアイコン Macのアカウント名、ホームディレクトリ名、コンピュータ名変更方…
  4. Macアイコン整理アイキャッチ Macでアイコンを常に並び替える方法
  5. Finderアイキャッチ Mac Finderで便利な設定3選
  6. Safariクラッシュ時の対処法アイキャッチ Mac Safariがクラッシュや動作不良の時に行っておきたい対…
  7. Googleマップの便利な機能まとめ
  8. Mac・iPhone ユーザ辞書のデータが消えた時の対処法

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

PAGE TOP