スパースイメージファイルを使用すると、[情報を見る]でLocked属性を設定して、コンテンツが変更されないようにすることができます。 sparsebundlesを使用してこれを行っても、効果はないようです。
現時点では、このイージーロック機能を取得するために、スパースバンドルをスパースイメージ内に保存しています。
スパースバンドルボリュームを読み取り専用にする簡単な方法を見落としていますか?
Finderは、バンドル全体に対してLockedフラグ(またはGet Infoダイアログでのアクセス許可の変更)を再帰的に適用しないようです。これが定期的に必要なものである場合は、ターミナルではなくFinderからこれを実行できるように、次の提案のためのサービスの作成を検討することをお勧めします。
chmod
を実行すると、コマンドラインでバンドルへの書き込み権限を削除できます。
chmod -R a-w
このコマンド(末尾のスペース文字を含む)を入力し、スパースバンドルのアイコンをターミナルウィンドウにドラッグします。スパースバンドルの名前と保存場所に応じて、次のようになります。
chmod -R a-w /path/to/container.sparsebundle
chmod -R u+w /path/to/container.sparsebundle
を実行して、書き込み権限を再度取得します。これらのコマンドは、大規模なスパースバンドルの場合は時間がかかる場合があります。
または、コマンドchflags
を実行して、バンドル内のすべてのファイルにlockedフラグを設定することもできます。
chflags -R uimmutable /path/to/container.sparsebundle
元に戻すには、chflags -R nouimmutable /path/to/container.sparsebundle
を実行します。
バンドルはいつでも読み取り専用でマウントして、一時的に変更を防ぐことができます。これを行うには、ターミナルで以下を実行します。
hdiutil attach /path/to/container.sparsebundle -readonly
変更を防ぐために、常にこのようにマウントする必要があることに注意してください。
通常とは異なるマウントポイントを使用してイメージを許容できる場合は、このイメージを常に読み取り専用でマウントするようにシステムを構成することができます。
まず、ボリュームUUIDを決定します。スパースバンドルをマウントし、コマンドラインでdiskutil list
を実行します。次のように、ボリュームと同じ名前のエントリを探します。
/dev/disk8
#: TYPE NAME SIZE IDENTIFIER
0: Apple_partition_scheme *102.4 MB disk8
1: Apple_partition_map 32.3 KB disk8s1
2: Apple_HFS Disk Image 102.4 MB disk8s2
この例では、ボリュームはFinderに「ディスクイメージ」として表示されます。右側の識別子(disk8s2
)に注意してください。 /dev/
の後に次のコマンドを入力する必要があります。
diskutil info /dev/disk8s2
Volume UUIDで始まる行を探し、その右側の値をメモします。例: D7C6180C-2178-32EF-98E6-7FB71AED2ABC
次に、カスタムマウントポイントを作成する必要があります。通常、すべてのボリュームは/Volumes
にマウントされますが、それらのマウントポイントはアンマウント時に削除され、マウントポイントが存在しないため、fstab
で参照されるボリュームの次のマウント試行は失敗します。したがって、ホームディレクトリに「Image」という名前のフォルダを作成するだけです。
これで、OSXを常に読み取り専用でマウントできるようになりました。ターミナルで、Sudo vifs
を実行し、パスワードを入力します。あなたはvi
/vim
に精通していると思いますが、そうでない場合は、今がそれを読む良い機会です。
次のような行を追加して、システムに適用可能なUUIDとマウントポイントを正しい値に置き換えます。
UUID=D7C6180C-2178-32EF-98E6-7FB71AED2A56 /Users/danielbeck/Image hfs ro
次に、保存して閉じます。これで、ダブルクリックで画像をマウントできます。画像はFinderに表示され、読み取り専用になります。