2025年7月10日木曜日

what on earth @ in ls -l as -rw-r--r--@

 macOS Sequoia でTime Machineで取っておいたバックアップからリストアしたら、なんか編集できなく、消えなくなったファイルがいっぱいできてしまった。ls -lしてみると、なんかPermission Listの終わりに@がついているのはなんだ。

調べてみると、ファイルにmacOS独自の属性、Metadataなるものが付加されている印のようだ。

> xattr  file

とすると付加されたMetadataがぞろぞろ。これらを消すには、

> xattr -c file

とすれば良いらしいが、消したら今度は、+が最後に付いているのがある。

これはAccess Control List (ACL)なるものらしい。

> ls -ale .emacs

-rw-------+ 1 hiroshi  staff  4072 12 21  2018 .emacs

 0: group:everyone deny write,delete,append,writeattr,writeextattr,chown


なんかいっぱい付いてる。これを消すには、
 > chmod -N .emacs
すると

ls -lae .emacs

-rw-------  1 hiroshi  staff  4072 12 21  2018 .emacs


消えた。でも、消して大丈夫なのだろうか。でも、これでやっとエディタで改変できるようになった。

0 件のコメント:

コメントを投稿