SMsoft – informatica e dintorni

varie su OSX, GNU/Linux e l'Open Source

Il simbolo @ nei permessi di un file su OSX

Usando il terminale su OSX e facendo un ls -l, spesso si vede qualcosa del genere:

~$ ls -l
total 216
-rw-r--r--   1 tech  staff   809  9 Ago 15:02 ax_insupd_macchinari.php
-rw-r--r--@  1 tech  staff   255  9 Ago 12:34 ax_ret_macc.php
-rw-r--r--@  1 tech  staff  2253  4 Nov 17:37 ax_table_cos_ci.php
....

Su Linux non è presente il carattere @ alla fine del’elenco dei permessi di un file, così come si vede per il primo file dell’elenco. Allora, cos’è il simboso @ che viene visualizzato per gli altri files?

Non avevo mai approfondito questa cosa, ma leggendo un po’ di documentazione (il classico comando man presente anche su OSX), ho scoperto che OSX conserva informazioni aggiuntive (extended attribute) per i files ed il simbolo @ sta proprio ad indicare la presenta di un attributo del file.

Come faccio a capire cosa contiene l’attributo esteso del file? Innanzitutto si può vedere qual è l’attributo esteso con ls -l@:

~$ ls -l@
total 216
-rw-r--r--   1 tech  staff   809  9 Ago 15:02 ax_insupd_macchinari.php
-rw-r--r--@  1 tech  staff   255  9 Ago 12:34 ax_ret_macc.php
        com.apple.metadata:kMDItemWhereFroms     115
-rw-r--r--@  1 tech  staff  2253  4 Nov 17:37 ax_table_cos_ci.php
        com.apple.TextEncoding    15
        com.apple.quarantine      74

Bene, il file ax_ret_macc.php ha l’attributo com.apple.metadata:kMDItemWhereFroms, mentre il file ax_table_cos_ci.php ha gli attributi com.apple.TextEncoding e com.apple.quarantine.
Cosa significano questi attributi? Dunque:
com.apple.metadata:kMDItemWhereFroms significa che il files è stato scaricato da un sito;
com.apple.quarantine significa che il file è stato scaricato da internet e non è mai stato aperto. Avete presente l’avviso che OSX visualizza quando si apre per la prima volta un file scaricato da internet? Ecco, questo attributo segnala a launcd (il demone che si occupa di avviare un programma in grado di aprre il file) di visualizzare quel messaggio; tale attributo viene rimosso automaticamente;
com.apple.TextEncoding contiene la codifica del file (es utf8).

Ora, per vedere cosa contiene un attributo, basta usare il comando xattr -l:

~$ xattr -l ax_ret_macc.php
com.apple.metadata:kMDItemWhereFroms:
00000000  62 70 6C 69 73 74 30 30 A1 01 5F 10 44 66 74 70  |bplist00.._.Dftp|
00000010  3A 2F 2F 77 77 77 77 77 77 77 77 77 77 77 77 77  |://www.wwwwwwwww|
00000020  77 77 77 77 77 77 77 77 77 77 77 77 77 2E 69 74  |wwwwwwwwwwwww.it|
00000030  2F 2F 77 65 62 2F 6D 6F 6E 69 74 5F 65 6E 65 72  |//web/monit_ener|
00000040  67 2F 61 78 5F 72 65 74 5F 6D 61 63 63 2E 70 68  |g/ax_ret_macc.ph|
00000050  70 08 0A 00 00 00 00 00 00 01 01 00 00 00 00 00  |p...............|
00000060  00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
00000070  00 00 51                                         |..Q|
00000073

ovvero il file ax_ret_macc.php è stato scaricato da ftp://www.wwwwwwwwwwwwwwwwwwwwww.it//web/monit_energ/ax_ret_macc.php

Infine, nel caso si voglia eliminare un attributo esteso al file, basterà usare xattr -d:

xattr -d com.apple.metadata:kMDItemWhereFroms ax_ret_macc.php

e poi ricontrollare con:

~$ ls -l ax_ret_macc.php
-rw-r--r--  1 tech  staff  255  9 Ago 12:34 ax_ret_macc.php

dove potrete notare che il simbolo @ è sparito.

enjoy!




Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto
Category: OSX

Page optimized by WP Minify WordPress Plugin