macOS(Sierra ver.10.12.5)のApp Storeで「エラーが発生しました」

macOS(Sierra ver.10.12.5)のApp StoreでiTunesのアップデートの通知が来ていたのでアップデートしてみたところ、

「エラーが発生しました 操作を完了できませんでした。 アクセス権がありません(13)」

というエラーが発生する。

「エラーが発生しました 操作を完了できませんでした。 アクセス権がありません(13)」の解析

macOSやiTunesの再起動を試してみたが、エラーはなおならい。
原因を探るべく、ログを監視してみた。

# sudo su -
# tail -f /var/log/*.log

すると install.log に、この現象に関係しそうな

SUURLSessionDownload task:didCompleteWithError for package CoreFP.pkg with error (Domain: NSPOSIXErrorDomain, Code: 13 (操作を完了できませんでした。 アクセス権がありません)) 

というエラーを発見した。

tail -f /var/log/*.log

Jul 26 08:41:08 mbp2017 softwareupdated[340]: SUURLSessionDownload task:didCompleteWithError for package CoreFP.pkg with error (Domain: NSPOSIXErrorDomain, Code: 13 (操作を完了できませんでした。
	アクセス権がありません))
Jul 26 08:41:08 mbp2017 softwareupdated[340]: Setting dowload error NSPOSIXErrorDomain (13) - (null) for packageIdentifier: com.apple.pkg.CoreFP for URL http://swcdn.apple.com/content/downloads/38/06/zzzz091-22851/mosbb0qvfnvt91ensik6oa4mdy0du1onaj/CoreFP.pkg
Jul 26 08:41:08 mbp2017 softwareupdated[340]: Detected problem with local file - will not attempt to resume download
Jul 26 08:41:08 mbp2017 softwareupdated[340]: Could not create parent path for partial download: file:///var/folders/zz/zyxvpxvq6csfxvn_n00000s0000068/C/com.apple.SoftwareUpdate/swcdn.apple.com/content/downloads/38/06/zzzz091-22851/mosbb0qvfnvt91ensik6oa4mdy0du1onaj/CoreFP.pkg (Error Domain=NSCocoaErrorDomain Code=513 "フォルダ“zzzz091-22851”にファイル“mosbb0qvfnvt91ensik6oa4mdy0du1onaj”を保存するためのアクセス権がありません。" UserInfo={NSFilePath=/var/folders/zz/zyxvpxvq6csfxvn_n00000s0000068/C/com.apple.SoftwareUpdate/swcdn.apple.com/content/downloads/38/06/zzzz091-22851/mosbb0qvfnvt91ensik6oa4mdy0du1onaj, NSUnderlyingError=0x7ffb08249930 {Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied"}})

AppStoreはsoftwareupdated というサービスを利用している模様で、どうやら
/var/folders/zz/zyxvpxvq6csfxvn_n00000s0000068/C/
の付近のフォルダにアクセス権限が無く、softwareupdatedがエラーを起こしているようだ。
フォルダを調べてみるとroot:wheelになっているフォルダが存在する。
softwareupdatedは_softwareupdate:_softwareupdateのユーザ・グループのようだ。

root# ls -al /var/folders/zz
total 0
drwxr-xr-x@ 17 root             wheel            578 Jul  1 13:04 .
drwxr-xr-x   4 root             wheel            136 Jul  1 11:32 ..
drwxr-xr-x@  6 root             wheel            204 Jul  1 11:34 zyxvpxvq6csfxvn_n0000000000000
drwxr-xr-x@  5 _appleevents     _appleevents     170 Jul  1 11:30 zyxvpxvq6csfxvn_n000006w00001q
drwxr-xr-x@  5 _mdnsresponder   _mdnsresponder   170 Jul  1 11:30 zyxvpxvq6csfxvn_n0000084000021
drwxr-xr-x@  5 _spotlight       _spotlight       170 Jul  1 11:30 zyxvpxvq6csfxvn_n00000b400002s
drwxr-xr-x@  5 _securityagent   _securityagent   170 Jul  1 11:32 zyxvpxvq6csfxvn_n00000bh00002w
drwxr-xr-x@  5 _atsserver       _atsserver       170 Jul  1 11:30 zyxvpxvq6csfxvn_n00000c4000031
<strong class="red">drwxr-xr-x@  5 _softwareupdate  _softwareupdate  170 Jul  1 11:31 zyxvpxvq6csfxvn_n00000s0000068</strong>
drwxr-xr-x@  5 _coreaudiod      _coreaudiod      170 Jul  1 11:30 zyxvpxvq6csfxvn_n00000s800006_
drwxr-xr-x@  5 _locationd       _locationd       170 Jul  1 11:30 zyxvpxvq6csfxvn_n00000sm00006d
drwxr-xr-x@  5 _cvmsroot        _cvms            170 Jul  1 11:30 zyxvpxvq6csfxvn_n00000th00006m
drwxr-xr-x@  5 _assetcache      _assetcache      170 Jul  1 11:37 zyxvpxvq6csfxvn_n00000xc00007b
drwxr-xr-x@  5 _nsurlsessiond   _nsurlsessiond   170 Jul  1 11:30 zyxvpxvq6csfxvn_n00000y800007k
drwxr-xr-x@  5 _mbsetupuser     _mbsetupuser     170 Jul  1 11:30 zyxvpxvq6csfxvn_n00000z000007r
drwxr-xr-x@  5 _captiveagent    _captiveagent    170 Jul  1 11:31 zyxvpxvq6csfxvn_n0000108000082
drwxr-xr-x@  5 nobody           nobody           170 Jul  1 13:04 zyxvpxvq6csfxvn_ngzzzzzvzzzzzy
root# ls -al /var/folders/zz/zyxvpxvq6csfxvn_n00000s0000068
total 0
drwxr-xr-x@  5 _softwareupdate  _softwareupdate  170 Jul  1 11:31 .
drwxr-xr-x@ 17 root             wheel            578 Jul  1 13:04 ..
drwxr-xr-x@  2 _softwareupdate  _softwareupdate   68 Jul  1 11:31 0
drwx------@  7 _softwareupdate  _softwareupdate  238 Jul 26 08:52 C
drwx------@  4 _softwareupdate  _softwareupdate  136 Jul 25 21:06 T
root# ls -al /var/folders/zz/zyxvpxvq6csfxvn_n00000s0000068/C
total 2712
drwx------@  7 _softwareupdate  _softwareupdate      238 Jul 26 08:52 .
drwxr-xr-x@  5 _softwareupdate  _softwareupdate      170 Jul  1 11:31 ..
<strong class="red">drwxrwxr-x@  3 root             wheel                102 Jul 12 07:47 com.apple.SoftwareUpdate</strong>
<strong class="red">drwxr-xr-x@ 29 root             wheel                986 Jul  1 11:32 com.apple.SoftwareUpdate.SUCatalogDataManager</strong>
-rw-r--r--   1 _softwareupdate  _softwareupdate     3002 Jul 26 08:28 com.apple.SoftwareUpdate.SUDownloadService.state
-rw-r--r--@  1 _softwareupdate  _softwareupdate  1383473 Jul 26 08:52 com.apple.SoftwareUpdate.SUUpdateServiceDaemon.state
<strong class="red">drwx------@  5 root             wheel                170 Jul 13 07:49 mds</strong>

root# ls -al /var/folders/zz/zyxvpxvq6csfxvn_n00000s0000068/C/com.apple.SoftwareUpdate
total 0
drwxrwxr-x@ 3 root             wheel            102 Jul 12 07:47 .
drwx------@ 7 _softwareupdate  _softwareupdate  238 Jul 26 08:52 ..
<strong class="red">drwxrwxr-x@ 3 root             wheel            102 Jul  1 11:56 swcdn.apple.com</strong>

「エラーが発生しました 操作を完了できませんでした。 アクセス権がありません(13)」解決方法

softwareupdatedが書き込もうとするフォルダに権限が無いようなのでchownでOwnerを変更してみた。

sudo chown -R _softwareupdate:_softwareupdate /var/folders/zz/zyxvpxvq6csfxvn_n00000s0000068

この後、AppStoreでインストールを再実行すると成功した。

macOS AppStore Downloding

参考

Mavericks unable to apply software updates - Apple Community Mavericks unable to apply software updates - Apple Community