Blog

Macのファイル権限(パーミッション)入門──パスワードのファイルだけ「600」にしている理由

2026/10/28

Mac Linux

Macのファイル権限(パーミッション)入門──パスワードのファイルだけ「600」にしている理由

最近、Macのターミナルで自分の作業フォルダを ls -l で眺めていて、1つだけ表示が違うファイルがあることに気づきました。

ほかのファイルはみんな -rw-r--r-- なのに、そのファイルだけ -rw-------。WordPressに下書きを送るためのパスワード(認証情報)を入れたファイルです。

この「rw」や「-」の並びは、ファイルの権限(パーミッション)を表しています。Web制作の仕事では、レンタルサーバーで「606」「707」「644」といった数字と何度も格闘してきましたが、手元のMacで意識することはあまりありませんでした。

今回は、この表示の読み方と、パスワードを入れたファイルだけを「600」にしている理由を、初めての方にも分かるようにまとめてみます。

実際の画面:1つだけ表示が違うファイル

私のMacの、ブログ作業用のスクリプトを置いているフォルダを ls -l で表示すると、次のようになっています(必要な行だけ抜き出しています)。

-rw-r--r--@ 1 rockstream  staff   5711 Oct 16 06:36 make_eyecatch.py
-rw-r--r--@ 1 rockstream  staff    162 Oct  8 21:45 wp_credentials.example.json
-rw-------@ 1 rockstream  staff    122 Oct  8 21:44 wp_credentials.json
-rw-r--r--@ 1 rockstream  staff  14455 Oct 24 06:38 wp_draft.py

wp_credentials.json が、WordPressにログインするための情報を入れたファイルです。wp_credentials.example.json は、中身を空欄にした「見本」です。同じ名前のように見えて、権限の欄だけがはっきり違います。

この設定をいつ・誰が付けたのかというと、作業環境を作ったときに付けたものです。

「-rw-r--r--」の読み方

左端の10文字は、次のように区切って読みます。

-  rw-  r--  r--
↑   ↑    ↑    ↑
種類 持ち主 グループ その他
  • 1文字目:ファイルの種類。- は普通のファイル、d はフォルダ(ディレクトリ)
  • 2〜4文字目:持ち主(自分)ができること
  • 5〜7文字目:同じグループの人ができること
  • 8〜10文字目:それ以外の全員ができること

そして、それぞれの3文字は次の意味です。

  • r(read)=読める
  • w(write)=書き換えられる
  • x(execute)=実行できる(フォルダの場合は「中に入れる」)
  • - =その権限はない

つまり -rw-r--r-- は「自分は読み書きOK、ほかの人は読むだけOK」。-rw------- は「自分だけが読み書きできて、ほかの人は読むこともできない」という意味になります。

ちなみにフォルダは drwxr-xr-x と表示されていました。先頭が d なのでフォルダで、ほかの人も「中を見る・入る」ことはできるけれど、ファイルを追加・削除できるのは自分だけ、という状態です。

末尾の「@」は何?

Macでは、権限の後ろに @ が付いていることがあります。これはMac独自の「拡張属性」という付箋のような情報が付いている印です。私のファイルを xattr というコマンドで調べると、com.apple.provenance という属性が付いていました。権限とは別の話なので、ここでは「Macが付けたメモがある」くらいに覚えておけば十分です。

数字で書くと「644」「600」

サーバーの管理画面やFTPソフトでは、この権限を3桁の数字で表すことがほとんどです。仕組みは足し算です。

  • r = 4
  • w = 2
  • x = 1

「持ち主・グループ・その他」の順に、それぞれ足した数を並べます。

| 表示 | 数字 | 意味 |
|---|---|---|
| rw-r--r-- | 644 | 自分は読み書き、ほかは読むだけ(普通のファイル) |
| rw------- | 600 | 自分だけ読み書き、ほかは何もできない |
| rwxr-xr-x | 755 | 自分は全部、ほかは読む・実行だけ(フォルダなど) |
| rw----rw- | 606 | 自分とその他は読み書き、グループは不可 |

Macでは stat -f "%Lp %N" ファイル名 と打つと、この数字をそのまま確認できます。私の環境でも、認証情報ファイルは 600、見本ファイルやスクリプトは 644 と表示されました。

サーバーでは、この数字にずいぶん悩まされた

数字を見て思い出したのが、Web制作の現場での苦労です。

ずいぶん前に、このブログに「Wadaxサーバーのパーミッション」の備忘録を書いていました。WordPressのテーマのphpファイルは「606」、uploadディレクトリは「707」にする。.htaccessが無いと固定ページがエラーになるので、アップロードして「606」にしてから、パーマリンク設定で「変更を保存」を押す──。毎回忘れるので、自分のためにメモしておいたものです。

同じころ、ECCUBE 2.13でも権限がらみのトラブルがありました。管理画面から新しいページを作ると、サーバーによっては「Internal Server Error」になる。原因は、作られたphpファイルの権限が「666」になっていたことで、「644」に変えると表示されました。お客様に毎回変えてもらうわけにはいかないので、プログラム側で644にするよう修正して対応しています。

当時は「サーバーごとに正解の数字が違う、面倒な決まりごと」という受け止め方でした。でも今振り返ると、どれも「誰に、何を許すか」を数字で決めていただけなんですね。666(誰でも書き換えられる)のphpが止められたのも、サーバーがセキュリティのために「書き換えられすぎ」を嫌ったからだと考えると、すっきり理解できます。

パスワードのファイルを「600」にしている理由

では、なぜ手元のMacで、認証情報ファイルだけを600にしているのか。理由は単純で、このファイルだけは「自分以外に読まれたら困る」からです。

Macを1人で使っていても、パソコンの中には「自分」以外の利用者がいます。ほかのユーザーアカウントはもちろん、システムが動かしている裏方のプログラムも、それぞれ別の利用者として動いています。644のままだと、そうした「その他」からも中身を読める状態です。

600にしておけば、OSのレベルで「持ち主以外は読めない」というカギがかかります。スクリプトは私のユーザーとして動くので、下書きの投稿は今まで通りできます。困ることは何もありません。

もう1つ、見本ファイル(example)を別に置いているのもポイントです。中身が空欄の見本は644で構わないし、人に見せても問題ありません。本物は600で自分だけ、見本は644で誰でも。この分け方にしておくと、「どちらが本物か」を権限の欄でも見分けられます。

以前、「AIにパソコンで作業させる前に決めたルール」として、パスワードのファイルはAIに読ませない、と書きました。あれは「AIへのお願い」のルールです。それに対して600は「OSのカギ」。お願いとカギの二重にしておくと、少し安心感が違います。

権限を変えるコマンド「chmod」

権限を変えるのは chmod(チェンジ・モード)というコマンドです。数字で指定するのがいちばん分かりやすいと思います。

chmod 600 wp_credentials.json

これで「自分だけ読み書きできる」状態になります。変えたら、必ず ls -l で確認する習慣をつけておくと安心です。

注意したいのは、次の3つです。

  • 777は使わない:「とりあえず全部許可」すると動くことがありますが、誰でも書き換えられる状態になります。サーバーでも手元でも、原因が分からないまま777にするのは避けたほうがいいです
  • フォルダに x を付け忘れない:フォルダの x は「中に入れる」権限です。フォルダを600にすると、自分でも中のファイルを開けなくなります。フォルダは755か700が基本です
  • sudo を付けて無理やり変えない:権限で怒られたときに sudo(管理者として実行)を付けると、だいたい通ってしまいます。でも、自分のファイルの持ち主が管理者に変わってしまうなど、別のトラブルの元になります。まずは「なぜ怒られたのか」を ls -l で確かめるのが先です

Linuxでも考え方は同じ

この権限の仕組みは、もともとUNIXから来ているもので、Linuxでもほぼ同じです。私はMac miniにLinux Mintを入れて触っていますが、ls -l や chmod の使い方はMacと変わりません(stat のオプションだけは違い、Linuxでは stat -c "%a %n" ファイル名 になります)。

レンタルサーバーの多くもLinuxで動いています。つまり、手元のMacで権限の読み方を覚えておくと、そのままサーバーの「606」「707」の意味も分かるようになる、というわけです。昔、意味も分からずメモを取っていた自分に教えてあげたい気持ちです。

まとめ

  • ls -l の左端は「種類+持ち主・グループ・その他」の権限。r読む・w書く・x実行
  • 数字は r=4・w=2・x=1 の足し算。普通のファイルは644、自分だけにしたいファイルは600
  • パスワードを入れたファイルは600にして、空欄の見本ファイル(644)と分けておく
  • 権限を変えるのは chmod。777や sudo での強行は避け、変えたら ls -l で確認
  • MacもLinuxもサーバーも、考え方は同じ「誰に、何を許すか」

パーミッションは、Web制作では「エラーを消すための呪文」のように扱われがちです。でも、意味が分かると、自分のパソコンの中の大事なファイルを守る道具にもなります。ターミナルを開いたついでに、一度 ls -l で自分のファイルを眺めてみてください。

カテゴリー

月間アーカイブ

MORE

神社仏閣ホームーページ制作

ホームページ制作問合せ