2026/10/28
Mac Linux
最近、Macのターミナルで自分の作業フォルダを ls -l で眺めていて、1つだけ表示が違うファイルがあることに気づきました。
ほかのファイルはみんな -rw-r--r-- なのに、そのファイルだけ -rw-------。WordPressに下書きを送るためのパスワード(認証情報)を入れたファイルです。
この「rw」や「-」の並びは、ファイルの権限(パーミッション)を表しています。Web制作の仕事では、レンタルサーバーで「606」「707」「644」といった数字と何度も格闘してきましたが、手元のMacで意識することはあまりありませんでした。
今回は、この表示の読み方と、パスワードを入れたファイルだけを「600」にしている理由を、初めての方にも分かるようにまとめてみます。
私の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 は、中身を空欄にした「見本」です。同じ名前のように見えて、権限の欄だけがはっきり違います。
この設定をいつ・誰が付けたのかというと、作業環境を作ったときに付けたものです。
左端の10文字は、次のように区切って読みます。
- rw- r-- r--
↑ ↑ ↑ ↑
種類 持ち主 グループ その他
- は普通のファイル、d はフォルダ(ディレクトリ)そして、それぞれの3文字は次の意味です。
r(read)=読めるw(write)=書き換えられるx(execute)=実行できる(フォルダの場合は「中に入れる」)- =その権限はないつまり -rw-r--r-- は「自分は読み書きOK、ほかの人は読むだけOK」。-rw------- は「自分だけが読み書きできて、ほかの人は読むこともできない」という意味になります。
ちなみにフォルダは drwxr-xr-x と表示されていました。先頭が d なのでフォルダで、ほかの人も「中を見る・入る」ことはできるけれど、ファイルを追加・削除できるのは自分だけ、という状態です。
Macでは、権限の後ろに @ が付いていることがあります。これはMac独自の「拡張属性」という付箋のような情報が付いている印です。私のファイルを xattr というコマンドで調べると、com.apple.provenance という属性が付いていました。権限とは別の話なので、ここでは「Macが付けたメモがある」くらいに覚えておけば十分です。
サーバーの管理画面やFTPソフトでは、この権限を3桁の数字で表すことがほとんどです。仕組みは足し算です。
r = 4w = 2x = 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が止められたのも、サーバーがセキュリティのために「書き換えられすぎ」を嫌ったからだと考えると、すっきり理解できます。
では、なぜ手元のMacで、認証情報ファイルだけを600にしているのか。理由は単純で、このファイルだけは「自分以外に読まれたら困る」からです。
Macを1人で使っていても、パソコンの中には「自分」以外の利用者がいます。ほかのユーザーアカウントはもちろん、システムが動かしている裏方のプログラムも、それぞれ別の利用者として動いています。644のままだと、そうした「その他」からも中身を読める状態です。
600にしておけば、OSのレベルで「持ち主以外は読めない」というカギがかかります。スクリプトは私のユーザーとして動くので、下書きの投稿は今まで通りできます。困ることは何もありません。
もう1つ、見本ファイル(example)を別に置いているのもポイントです。中身が空欄の見本は644で構わないし、人に見せても問題ありません。本物は600で自分だけ、見本は644で誰でも。この分け方にしておくと、「どちらが本物か」を権限の欄でも見分けられます。
以前、「AIにパソコンで作業させる前に決めたルール」として、パスワードのファイルはAIに読ませない、と書きました。あれは「AIへのお願い」のルールです。それに対して600は「OSのカギ」。お願いとカギの二重にしておくと、少し安心感が違います。
権限を変えるのは chmod(チェンジ・モード)というコマンドです。数字で指定するのがいちばん分かりやすいと思います。
chmod 600 wp_credentials.json
これで「自分だけ読み書きできる」状態になります。変えたら、必ず ls -l で確認する習慣をつけておくと安心です。
注意したいのは、次の3つです。
x は「中に入れる」権限です。フォルダを600にすると、自分でも中のファイルを開けなくなります。フォルダは755か700が基本ですsudo(管理者として実行)を付けると、だいたい通ってしまいます。でも、自分のファイルの持ち主が管理者に変わってしまうなど、別のトラブルの元になります。まずは「なぜ怒られたのか」を ls -l で確かめるのが先ですこの権限の仕組みは、もともと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、自分だけにしたいファイルは600chmod。777や sudo での強行は避け、変えたら ls -l で確認パーミッションは、Web制作では「エラーを消すための呪文」のように扱われがちです。でも、意味が分かると、自分のパソコンの中の大事なファイルを守る道具にもなります。ターミナルを開いたついでに、一度 ls -l で自分のファイルを眺めてみてください。
2026/10/29
ホームページ制作
スマートフォン
2026/10/28
Mac
Linux
2026/10/27
Claude Code
AI
2026/10/26
JQuery
2026/10/25
相模原