うにてぃブログ

主にUnityとC#に関する記事を書いていきます

【Bash】ls 時に見つけた -rwxr-xr-x@ という謎の @

ls で 実行ファイルの権限を確認したところ 権限の最後に @ がついているものがあった

bash@ ~/bin $ ls -la
-rwxr-xr-x@  1 root  wheel  3156008  2 1 00:00 gmm

もともと入っている実行ファイルを確認したところ @ は確認できなかった

bash@ /bin $ ls -la
-rwxr-xr-x   1 root  wheel    19024 10 26  2017 link
-rwxr-xr-x   1 root  wheel    19024 10 26  2017 ln
-rwxr-xr-x   1 root  wheel    38688 10 26  2017 ls

調査したところ Mac のみに利用されている ファイルの拡張属性 (Extended Attribute) のようでした

詳しい内容はこちらの記事を読んでいただいたほうがいいかと思います
https://news.mynavi.jp/article/osx-253/

拡張属性の確認

ls -l@ を利用すれば追加されている拡張属性をみることができるようなので確認してみます

bash@ ~/bin $ ls -l@ gmm
-rwxr-xr-x@ 1 root  wheel  3156008  2 1 00:00 gmm
    com.apple.metadata:kMDItemWhereFroms        180
    com.apple.quarantine         57

com.appleのふたつの拡張属性がついていることがわかりました

拡張属性の削除

確認できた2つの属性が何を意味しているのかわかりませんが 不要なので削除したいと思います

全部消す場合

xattr -c fileName

個々に消す場合

xattr -d ExtendedAttribute fileName

# xattr -d com.apple.metadata:kMDItemWhereFroms fileName

これで削除されたことを確認できました

bash@ ~/bin $ ls -la
-rwxr-xr-x  1 root  wheel  3156008  2 1 00:00 gmm