2022年3月8日

Macではターミナルからデスクトップやダウンロードフォルダにアクセスする場合、許可が必要になっている。おそらく意図しない情報ぶっこぬきに対応するためだろう。で、例えばデスクトップにあるPDFをリポジトリに持ってこようとして、

cp ~/Desktop/hoge.pdf .

とした時、最初に「“ターミナル"から"デスクトップ"フォルダ内のファイルにアクセスしようとしています。」というシステムダイアログが出てくる。これで一度許可すれば次から聞かれないのだが、うっかり「許可しない」をクリックすると、二度と許可されずに

$ ls
ls: .: Operation not permitted

みたいになってしまう。これはTCC (Transparency Consent and Control)というユーザ保護の仕組みで、デスクトップフォルダ、ダウンロードフォルダ、写真フォルダなど細かく制御されている。で、当該制御項目をリセットすればよいのだが、例えばデスクトップフォルダへのアクセスを制御するには、

tccutil reset サービス名

とすれば良いのだが、サービス名を調べるのが面倒。というわけで全部リセットしてしまい、必要に応じてまた許可すれば良い。

tccutil reset All

必要なのはわかるが、いろいろ面倒だ・・・

学生さん論文、少し進めた。