Macではターミナルからデスクトップやダウンロードフォルダにアクセスする場合、許可が必要になっている。おそらく意図しない情報ぶっこぬきに対応するためだろう。で、例えばデスクトップにあるPDFをリポジトリに持ってこようとして、
cp ~/Desktop/hoge.pdf .
とした時、最初に「“ターミナル"から"デスクトップ"フォルダ内のファイルにアクセスしようとしています。」というシステムダイアログが出てくる。これで一度許可すれば次から聞かれないのだが、うっかり「許可しない」をクリックすると、二度と許可されずに
$ ls
ls: .: Operation not permitted
みたいになってしまう。これはTCC (Transparency Consent and Control)というユーザ保護の仕組みで、デスクトップフォルダ、ダウンロードフォルダ、写真フォルダなど細かく制御されている。で、当該制御項目をリセットすればよいのだが、例えばデスクトップフォルダへのアクセスを制御するには、
tccutil reset サービス名
とすれば良いのだが、サービス名を調べるのが面倒。というわけで全部リセットしてしまい、必要に応じてまた許可すれば良い。
tccutil reset All
必要なのはわかるが、いろいろ面倒だ・・・
学生さん論文、少し進めた。