すべての記事

ターミナル不要:Macでアクセス権を変更・ファイルをロック

· 10分で読めます

ダブルクリックで動いてほしいスクリプト、ほかの人は読めても変更はできないフォルダ、うっかり上書きされては困る署名済みの契約書。Macでは、どれもアクセス権とロックの問題です。そして、どちらもコマンドをひとつも打たずに変更できます。

要点:

  • Finderでは: 項目を選んで ファイル › 情報を見る(⌘I)を選びます。「一般情報」セクションの ロック にチェックを入れるとロックされます。下部の 共有とアクセス権 では、自分、自分のグループ、全員に対して、読み書き、読み出しのみ、アクセスなしを設定できます。実行のアクセス権を設定する項目はありません。
  • Folia Filesでは: 項目を選んで ⌘I(ファイル › 情報)を押します。アクセス権 セクションには、所有者、グループ、全員 それぞれに 読み取り、書き込み、実行 のチェックボックスがあり、chmod のあとに打つ数字が表示され、ロック済み のチェックボックスもあります。クリックはすぐに反映され、⌘Z で取り消せます。

アクセス権とロックは別のもの

Macのファイルとフォルダには、それぞれ所有者(ふつうは自分)とグループ(ホームフォルダ内のファイルなら staff)があります。そのそれぞれと、それ以外の全員に、3つのアクセス権が与えられます:

  • 読み取り: ファイルを開く。フォルダなら中身を見る。
  • 書き込み: ファイルを変更する。フォルダなら、中の項目を追加、名前変更、削除する。
  • 実行: ファイルをプログラムやスクリプトとして実行する。フォルダなら、そもそも中に入る。

ターミナルはこれを rw-r--r-- のような文字か、数字で表します。読み取りが4、書き込みが2、実行が1で、所有者、グループ、全員の順にそれぞれ足し合わせます。644(rw-r--r--)は典型的な書類で、自分は読み書きでき、ほかの人は読むだけです。755(rwxr-xr-x)は典型的なフォルダやスクリプトです。

ロック はアクセス権ではありません。項目そのものに付けるフラグ(ターミナルの言葉では uchg)です。付いている間は、アクセス権がどうであれ、自分でさえその項目を変更、名前変更、削除できません。署名済みの契約書、テンプレート、保管済みの請求書など、そのままにしておくべきファイルに向いた道具です。

Finderでは:情報を見る

ファイルをロックする

  1. ファイルを選び、ファイル › 情報を見る(⌘I)を選びます。
  2. 一般情報 セクションで ロック にチェックを入れます。

チェックを外せばロックが解除されます。ロックされたファイルもアプリで開くことはできますが、変更を保存することはできません。また、ロックされた項目をゴミ箱に入れる前に、Finderは確認を求めます。

読み書きできる人を変える

  1. 同じウインドウで、下部の 共有とアクセス権 を開きます。
  2. 右下の錠前が閉じていたらクリックし、管理者の名前とパスワードを入力します。
  3. 各名前の横で、読み書き、読み出しのみ、アクセスなしのいずれかを選びます。フォルダでは、ドロップボックスとして書き込みのみも選べます。ほかの人は中身を見ずにファイルを入れられます。
  4. フォルダの場合、ウインドウ下部のアクションメニューに、中のすべての項目に同じアクセス権を適用するコマンドがあります。すべてが一度に変わり、取り消しはできないので注意してください。

644 の書類なら、自分が読み書き、staff と everyone が読み出しのみ、という3行が表示されます。

Finderにできないこと

  • 実行のアクセス権。 どの選択肢でもオン・オフできません。これが典型的な行き止まりです。ダウンロードした .command スクリプトをダブルクリックすると、macOSは適切なアクセス権がないと答え、「情報を見る」を案内しますが、そこにはそのための項目がありません。
  • 数字。 このウインドウには 644 や 755 が表示されません。チュートリアル、Webホスティング、READMEが求めるのはまさにこの数字なのに。

参考までに、ターミナルでは

chmod u+x backup.command でスクリプトを自分が実行できるようになり、chmod 644 notes.txt で数字を設定し、chflags uchg contract.pdf でファイルをロック、chflags nouchg contract.pdf でロックを解除します。ls -l で文字の表記が見られます。目的のフォルダでターミナルを開く方法は、今いるフォルダでターミナルを開く方法をご覧ください。

Folia Filesでは:情報の「アクセス権」セクション

Folia Filesでは、選んだ項目の情報の中に、実行のアクセス権、数字、ロックがまとめて並んでいます。

どこにあるか

  • ファイル › 情報(⌘I)、または右クリックメニューの 情報 で、その項目の情報ウインドウが開き、すべてのセクションが表示されます。10個まで項目を選べば、それぞれに専用のウインドウが開きます。
  • ファイル › 情報モジュールを表示(⌃⌘I)で、選択に合わせて内容が変わる情報モジュールが表示されます。ほかのモジュールと同じく、右サイドバー、左サイドバーのリストの下、または専用のパネルに置けます。モジュールの歯車メニューの 表示する項目 で外さない限り、アクセス権 は表示されます。

同じ情報には、項目のタグとFinderのコメントもあります(詳しくはファイルやフォルダにメモを付ける方法)。

読み取り、書き込み、実行

アクセス権 セクションは小さな表です。横に 読み取り、書き込み、実行、縦に 所有者、グループ、全員 が並び、所有者とグループの名前がそれぞれの見出しの下に表示されます。その下の数字と文字(644 rw-r--r--)はクリックのたびに変わるので、求められた設定にぴったり合わせられます。

左にAlexの書類フォルダ、賃貸契約書のPDFを選択。右のパネルに情報モジュール:「アクセス権」セクションに所有者(alex)、グループ(staff)、全員の読み取り・書き込み・実行、644 rw-r--r--、ロック済みのチェックボックス

チェックボックスはクリックした瞬間に反映されます。開くべき錠前も、適用 ボタンもありません。

スクリプトを実行可能にする

  1. スクリプトを選び、⌘I を押します。
  2. アクセス権 の 所有者 の行で 実行 にチェックを入れます。数字は 644 から 744 に変わります。
  3. このMacを使うほかの人も実行する必要があるなら、グループ と 全員 の 実行 にもチェックを入れます(755)。

ファイルをロックする

表の下の ロック済み にチェックを入れ、外せば解除です。Finderのチェックボックスと同じフラグなので、Finderでもロックされたファイルとして表示され、その逆も同じです。ロックされた項目はアクセス権の変更も受け付けません。いったんロックを解除し、アクセス権を変えてから、もう一度ロックしてください。

変更を取り消す

チェックボックスを間違えたら、同じウインドウで ⌘Z(編集 › 取り消す)を押すと、前のアクセス権、または前のロックの状態に戻ります。⇧⌘Z でやり直せ、クリックはひとつずつ別の手順になります。これらの変更は 操作 の履歴には載らないので、戻す方法は ⌘Z です。情報ウインドウなら、閉じる前に行ってください。

フォルダ

フォルダでは、実行 が中に入るための権限です。だからフォルダはたいてい 755 です。読み取り だけでは開けません。

プロジェクトフォルダでAtlasフォルダを選択し、その情報をパネルに表示:755 rwxr-xr-x、所有者・グループ・全員の実行にチェック

自分のフォルダで 所有者 の 実行 を外すと、そのフォルダは開けなくなりますが、親フォルダの中で選んで、もう一度チェックを入れることはできます。

Folia Filesが変更しないもの

  • ほかの人が所有する項目。 macOSでは、項目のアクセス権を変更できるのは所有者だけです(あるいはパスワードを入力した管理者)。Folia Filesがそのパスワードを求めることはありません。root が所有するファイルのチェックボックスをクリックすると元に戻り、表の下にオレンジ色で「変更が拒否されました:所有者ではありません(root)。」と表示されます。こうした項目には、Webサイト版の ファイル › Finderの情報ウインドウ(⌥⌘I)で、同じ項目のFinderの「情報を見る」ウインドウを錠前ごと開けます。
  • 複数の項目をまとめて。 アクセス権 セクションが表示されるのは項目がひとつのときだけで、フォルダの中身すべてに適用する機能もありません。
  • 所有者とグループ。 名前は表示されますが変更はできません。Finderが「共有とアクセス権」のリストに追加できるユーザやグループも、この表には表示されません。
  • 読み出し専用のディスク。 そこでは何も変わらず、チェックボックスは元に戻ります。

触らないほうがよいもの

アクセス権を変えるのは、自分の書類、スクリプト、プロジェクトのフォルダだけにして、macOSやアプリが頼りにしているものには触れないでください。/System と /Library のフォルダ、アプリケーションフォルダ内のアプリ、自分の ~/Library フォルダはそのままにしておきましょう。そこでアクセス権を誤ると、アプリが開かなくなったり、設定を保存できなくなったりします。そして、ホームフォルダや、その中のデスクトップ、書類、ダウンロードの各フォルダから、自分の 読み取り、書き込み、実行 を外さないでください。