りんごが好きなのでぃす

Macを中心に、たま〜にiPhoneやiPadなどの話題も届けていたら今年で25年目を迎えてました

Mac OS Xのアクセス権の異常表示覚え書き

【PR】HOZON  :月額550円のオンラインストレージ、アプリ限定なら容量無制限

最近よく見るアクセス権の異常表示、これだけ覚えておけば心配は少し減る?

Mac OS X 10.5.6 Updateを適用した頃から、ディスクユーティリティでアクセス権の検証や修復を行うと必ずと言っていいほど以下のようなエラーが盛大に表示され、しかも修復を実行しても一向に直らないという現象が起きていますね。気になっている方も多いのでは?

Appleのサポート文書を見るとこれらの表示は無視して構わないと書かれていますが、その理由までは触れられていないためスッキリしない方もいらっしゃると思うので、ここでその「なぜ?」を簡潔に書いておきます。

ただ、説明を省きすぎる訳にもいかないので多少長文になっていますがご容赦下さい。とはいえ、私自身明快な理由を書けるほどの知識や情報は持ち合わせていません。私なりの納得の仕方をそのまま書いていますので、判り難かったらごめんなさい。一人でも多く、すっきりしてもらえれば嬉しいのですが^^;

さて、では!

とりあえずどういうエラーが出るのかという一例を抜粋で。

Applications/Utilities/AirPort Utility.app/Contents/CodeResources”上のアクセス権が一致しません。本来 -rw-rw-r-- であるはずですが、実際には lrw-rw-r-- になっています。

これは
アプリケーション”フォルダの中 (/)
 “ユーティリティ”フォルダの中 (/)
  “AirMac ユーティリティの中 (/)
   “Contents”フォルダの中 (/)
    “CodeResources”という名前のファイルにアクセス権の不一致が見られる
ということを示しています。

次に「本来 Xxxxxxxxxx であるはずですが、実際には Yyyyyyyyyy になっています。」の部分。両者を見比べるとこの場合は左端の桁 (大文字の部分) だけが違うのが見て取れると思いますが、そこで出てくるのが「この "l (エル)" て何じゃ?」ってことです。

そこで見てもらいたいのが下の図です。

Applications/Utilities/AirPort Utility.app/Contents/

"AirMac ユーティリティ"のアイコンを control + クリックして

「パッケージの内容を表示」を選ぶと中身を見られる

 

エラーメッセージに記されていた階層には確かに"CodeResources"という名前がついたファイルがありますが、そのアイコンを見ると左下に矢印がついていることからこのファイルは『エイリアス (厳密にはシンボリックリンク) 』であることが判ります。これこそが先の「l (エル)」が意味していることであり、先のエラーメッセージが言わんとしていることを意訳すると…

"Applications/Utilities/AirPort Utility.app/Contents/CodeResoucesはシンボリックリンクになってるけど、良いの?"

…という感じになります。

で、中略して結論だけ書いちゃいますが答えは『シンボリックリンクでも良いんです』。

シンボリックリンクは「エイリアス (Windowsでいうところのショートカット) 」と似たようなもので、プログラム処理の際にこのファイル (CodeResourcesのシンボリックリンク) にアクセスしても、実際にはその実体 (この場合は/_CodeSignature/CodeResources) を扱っているようなものだからです。要は銀行の窓口で現金の出し入れをするか、それともATMで出し入れをするかの違い、といった道のりの違いみたいなものとでも思って頂くと想像しやすいでしょうか?(かなり強引な喩えですけど/苦笑) 。

というわけでアクセス権の検証・修復時のエラーメッセージをもう一度確認してみて下さい。問題のエラーの殆どは先頭の桁が"-"ではなく"l"になっていることを知らせるものだと確認できると思います。つまり、道のりは若干違うものの結果には影響しないということですから、結局は「気にするな♪」となるわけですね。

詳しくないので推測でしか書けませんが、これらの構造変更はSnow Leopardをアップデートインストールするための準備工事なんじゃないかと考えます。つまりLeopardをSnow Leopardにアップデートするには、内部的にこのような構造に変更してあることがApple的には望ましい、ということなのではないかと。だとしたら、このようなエラー表示はSnow Leopardをインストールするまで出続けるかもしれませんね、気持ち悪いですけど^^;。