作成日時が 1984年1月24日 17:00 のファイル・フォルダにFinderでアクセスできない件の対応

  • 4
    Like
  • 0
    Comment

■プロローグ
 先日、我がMacbook Pro 13' Late 2011のHDDを「WD Black2」に換装した。
 OS起動スピードが約4倍速く(8分→2分)なり、とても満足していた。
 しかし、換装後しばらくして思わぬ落とし穴にハマったので、後世のために記しておく。

■環境
・MacBook Pro (13-inch, Late 2011)
・OS X Yosemite 10.10.1

■事象
・Finderで /Applications フォルダにアクセスしようとすると、
 フォルダアイコンがグレーアウトしており、内容を見ることができない。
・Finderのサイドバーの「アプリケーション」をクリックしても、
 同じくフォルダ内容を見ることができない。

qiita01.jpg

 →以前、手動でインストールしたアプリの更新、削除などが一切出来なくなってしまった。

■対応経緯
・始めは、アクセス権周りを疑った。※1

qiita02.jpg

 →「カスタム」が悪いのかと思って、GUIで「読み/書き」に変更した。

ターミナル
$ ls -lde@a /Applications/
drwxrwxr-x@ 130 root  admin  4420 11 29 16:47 /Applications/
com.apple.metadata:_kTimeMachineNewestSnapshot   50 
com.apple.metadata:_kTimeMachineOldestSnapshot   50 
 0: user:root allow add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown
 1: group:everyone deny delete
$ 
$ ls -lde@a /Applications/
drwxrwxr-x@ 130 root  admin  4420 11 29 16:47 /Applications/
com.apple.metadata:_kTimeMachineNewestSnapshot   50 
com.apple.metadata:_kTimeMachineOldestSnapshot   50 
 0: user:root allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity
 1: group:everyone allow list,search,readattr,readextattr,read security

 →相変わらずアクセスできなかったので、却下。元に戻した。

ターミナル
$ sudo chmod =a# 0 "user:root allow add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown" /Applications/
WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password:
$ ls -lde@a /Applications/
drwxrwxr-x@ 130 root  admin  4420 11 29 16:47 /Applications/
com.apple.metadata:_kTimeMachineNewestSnapshot   50 
com.apple.metadata:_kTimeMachineOldestSnapshot   50 
 0: user:root allow add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown
 1: group:everyone allow list,search,readattr,readextattr,readsecurity
$ 
$ sudo chmod =a# 1 "group:everyone deny delete" /Applications/
$ ls -lde@a /Applications/
drwxrwxr-x@ 130 root  admin  4420 11 29 16:47 /Applications/
com.apple.metadata:_kTimeMachineNewestSnapshot   50 
com.apple.metadata:_kTimeMachineOldestSnapshot   50 
 0: user:root allow add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown
 1: group:everyone deny delete

・次に、EA(Extended Attribute:拡張属性)を削除してみた。※2

ターミナル
$ ls -lde@a /Applications/ /Users/ /System/ /Library/ 
drwxrwxr-x@ 130 root  admin  4420 11 29 16:47 /Applications/
com.apple.metadata:_kTimeMachineNewestSnapshot   50 
com.apple.metadata:_kTimeMachineOldestSnapshot   50 
 0: user:root allow add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown
 1: group:everyone deny delete
drwxr-xr-x+  70 root  wheel  2380 11 17 01:07 /Library/
 0: group:everyone deny delete
drwxr-xr-x+   4 root  wheel   136 11 10 05:51 /System/
 0: group:everyone deny delete
drwxr-xr-x    7 root  admin   238 11  9 23:23 /Users/
$ xattr -l /Applications/
com.apple.metadata:_kTimeMachineNewestSnapshot:
00000000  62 70 6C 69 73 74 30 30 33 42 2D 63 C3 7F 00 00  |bplist003B-c....|
00000010  00 08 00 00 00 00 00 00 01 01 00 00 00 00 00 00  |................|
00000020  00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
00000030  00 11                                            |..|
00000032
com.apple.metadata:_kTimeMachineOldestSnapshot:
00000000  62 70 6C 69 73 74 30 30 33 41 BA 0F 06 67 00 00  |bplist003A...g..|
00000010  00 08 00 00 00 00 00 00 01 01 00 00 00 00 00 00  |................|
00000020  00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
00000030  00 11                                            |..|
00000032
$ 
$ xattr -d com.apple.metadata:_kTimeMachineNewestSnapshot /Applications/
$ xattr -l /Applications/
com.apple.metadata:_kTimeMachineOldestSnapshot:
00000000  62 70 6C 69 73 74 30 30 33 41 BA 0F 06 67 00 00  |bplist003A...g..|
00000010  00 08 00 00 00 00 00 00 01 01 00 00 00 00 00 00  |................|
00000020  00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
00000030  00 11                                            |..|
00000032
$ xattr -d com.apple.metadata:_kTimeMachineOldestSnapshot /Applications/
$ xattr -l /Applications/
$ 
$ ls -lde@a /Applications/ /Users/ /System/ /Library/ 
drwxrwxr-x+ 130 root  admin  4420 11 29 16:47 /Applications/
 0: user:root allow add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown
 1: group:everyone deny delete
drwxr-xr-x+  70 root  wheel  2380 11 17 01:07 /Library/
 0: group:everyone deny delete
drwxr-xr-x+   4 root  wheel   136 11 10 05:51 /System/
 0: group:everyone deny delete
drwxr-xr-x    7 root  admin   238 11  9 23:23 /Users/
$ 

 →効果なし。これは(めんどくさかったのと、多分無くても問題無いから)戻してない。

・最後に、ようやく真相に辿り着く。※3
 ファイル・フォルダの作成日時が「1984年1月24日 17:00」になっているじゃないか。

qiita03.jpg

 →この場合にFinderがアクセスできなくなることを確認したので修正!(Safariのダウンロードファイルと勘違い?)

ターミナル
$ ls -ldUT /Applications/ /Users/ /System/ /Library/
drwxrwxr-x+ 130 root  admin  4420  1 24 17:00:00 1984 /Applications/
drwxr-xr-x+  70 root  wheel  2380  6 13 07:57:34 2014 /Library/
drwxr-xr-x+   4 root  wheel   136  9 10 07:23:08 2014 /System/
drwxr-xr-x    7 root  admin   238  9 10 05:47:35 2014 /Users/
$ ls -ldT /Applications/ /Users/ /System/ /Library/
drwxrwxr-x+ 130 root  admin  4420 11 29 20:15:06 2014 /Applications/
drwxr-xr-x+  70 root  wheel  2380 11 17 01:07:58 2014 /Library/
drwxr-xr-x+   4 root  wheel   136 11 10 05:51:14 2014 /System/
drwxr-xr-x    7 root  admin   238 11  9 23:23:32 2014 /Users/
$ 
$ setfile -d "$(date -v-1y +'%m/%d/%Y %H:%M:%S')" /Applications/
ERROR: Unexpected Error. (-5000)  on file: /Applications/ 
$ 
$ sudo setfile -d "$(date -v-1y +'%m/%d/%Y %H:%M:%S')" /Applications/
Password:
$ ls -ldUT /Applications/ /Users/ /System/ /Library/
drwxrwxr-x+ 130 root  admin  4420 11 29 21:00:24 2013 /Applications/
drwxr-xr-x+  70 root  wheel  2380  6 13 07:57:34 2014 /Library/
drwxr-xr-x+   4 root  wheel   136  9 10 07:23:08 2014 /System/
drwxr-xr-x    7 root  admin   238  9 10 05:47:35 2014 /Users/
$ 
$ sudo setfile -m "$(date +'%m/%d/%Y %H:%M:%S')" /Applications/
$ ls -ldT /Applications/ /Users/ /System/ /Library/
drwxrwxr-x+ 130 root  admin  4420 11 29 21:01:36 2014 /Applications/
drwxr-xr-x+  70 root  wheel  2380 11 17 01:07:58 2014 /Library/
drwxr-xr-x+   4 root  wheel   136 11 10 05:51:14 2014 /System/
drwxr-xr-x    7 root  admin   238 11  9 23:23:32 2014 /Users/
$ 

 →めでたく、/Applicationsフォルダに元どおりアクセスできるようになりましたとさ。

qiita04.jpg

qiita05.jpg

■考察
・/Applicationsフォルダの作成日時が「1984年1月24日 17:00」になってしまったタイミングを
 TimeMachineで追いかけたところ、HDDを WD Black2 に換装して、
 TimeMachineからのフルリストアを実行したタイミングに一致した。
 400GB程のデータ容量であるHDDのフルリストアは24時間以上もかかったが、
 必ず起こるわけではないにしろ、このような不整合が発生するリストアは
 かなり信頼性に欠ける気がする。(前評判通り、といった感じもした)
 
■エピローグ
 当初、アクセス権の異常ばかり疑っていた私はひたすらディスクユーティリティで
 アクセス権の修復を実行していたが、作成日時の異常はチェックできるはずもなく。
 今回の手順で復旧はできるものの、他にも作成日時異常のファイルが存在して
 いたりして…と思うとうんざり。時間のあるときに、Appleにクレーム電話しようかな。
 
■引用
※1:http://tkamada.blogspot.jp/2012/06/macos-xls-l.htmlより
※2:http://d.hatena.ne.jp/naokton/20111208/1323347463より
※3-1:http://indesigner.blog101.fc2.com/blog-entry-182.htmlを見て、初めてFinderがそんな仕様だということを知りました。THE アホ仕様。
※3-2:https://discussionsjapan.apple.com/thread/10113155に同じ目に遭っている人がいることを、対処後に気づきました。もっと早く気付けば無駄な時間を過ごさずにすんだのに。。。
※3-3:https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/SetFile.1.htmlにて、ファイル・フォルダの作成日時/変更日時の設定コマンド"setfile"の使用方法を確認。OS X独自コマンド…かな?