Le risposte alle domande sul MacLe domande sul Mac

Rimuovere tutte le protezioni di un file o una cartella

Argomenti: Sicurezza e privacyTerminaleMac OS 64bit

Author: Marco Balestra

Assumiamo che chi legge questa FAQ

  • sia un utente amministratore
  • che usi Mac OS recente (Ventura o simili)
  • che abbia dato al Terminale privilegi di "Full Disk Access" da "Sicurezza e privacy"
  • che sappia usare un minimo il terminale

Detto questo ci sono vari elementi che concorrono a proteggere un file o una cartella.

Potrebbe trattarsi di un flag, di un attributo esteso, dell’ownership, dei privilegi attribuiti o di una combinazione di uno o più di questi elementi, il che rende a volte stressante capire cosa implichi quel “@” in fondo ai privilegi.

Qui proponiamo uno script (comando di linea da usare nel Terminale) che rimuova ogni protezione, anche su più file e/o esplodendo delle wildcards.

Salveremo questo file come /usr/local/bin/unprotect.sh

#!/bin/bash shopt -s nullglob for FILE in ${@} do if [[ -f $FILE ]] then sudo chflags 0 "$FILE" sudo xattr -c "$FILE" sudo chmod -N "$FILE" sudo xattr -r "$FILE" sudo chmod ugo+rwX "$FILE" fi if [[ -d $FILE ]] then sudo chflags -R 0 "$FILE" sudo xattr -cr "$FILE" sudo chmod -RN "$FILE" sudo xattr -cr "$FILE" sudo chmod -R ugo+rwX "$FILE" fi done

Una volta creato il file lo renderemo eseguibile:

chmod +x /usr/local/bin/unprotect.sh

…e da questo momento potremo usarlo da Terminale per risolvere situazioni rognose.

Powered by JBLOUD, © 2021 altersoftware.IT