Il file non può essere spostato da root su OS X

50

Ho provato a spostare alcuni file in una sottocartella su OS X. Uno si è rifiutato di spostarsi. Diceva Operation not permitted . Ho provato di nuovo come root:

$ sudo mv file subfolder/
mv: rename file to subfolder/file: Operation not permitted
$ sudo mv file filex
mv: rename file to filex: Operation not permitted
$ lsattr file
lsattr: Inappropriate ioctl for device While reading flags on file

Ho provato lsattr su altri file; tutti i file che ho provato mi hanno dato lo stesso messaggio: Inappropriate ioctl for device While reading...

Provenendo da Linux, non conoscevo i flag, quindi ecco l'output di ls -leO@ file :

$ ls -leO@ file otherfile
-rwxrwxrwx  1 eeytan  staff  uchg 79549 Nov 11  2010 file
-rw-r--r--  1 eeytan  staff  -     5071 Sep  7 02:37 otherfile

Ho provato l'OS X Disk Utility; ha detto che non c'erano errori sul mio disco. Cosa sta succedendo qui?

    
posta eje211 09.09.2013 - 21:02
fonte

5 risposte

27

Sembra che il file sia bloccato per me, motivo per cui l'attributo uchg appare. Dovresti essere in grado di utilizzare il seguente comando per rimuovere l'attributo bloccato:

chflags nouchg file

o fai clic con il pulsante destro del mouse sul Finder, fai clic su "Ottieni informazioni", quindi deseleziona la casella di controllo "Bloccato"

    
risposta data 09.09.2013 - 21:25
fonte
77

Per le persone che incappano in questo in un'era OS X 10.11+ (El Capitan o più recente): Apple ha aggiunto un nuovo livello di sicurezza in OS X . Hanno tolto alcuni privilegi da root. Il file che stai cercando di modificare ha un flag restricted . Solo i processi restricted firmati da Apple saranno in grado di modificare questi file. Tuttavia, puoi disabilitare questo sistema di sicurezza avviando in modalità di ripristino e disabilitandolo in un terminale eseguendo: csrutil disable .

In alternativa, puoi anche avviare Terminale in modalità di ripristino ed eliminare il file lì. O anche provare a fare il boot in un ambiente Linux con supporto HFS + (almeno se non sei ancora su APFS) per cambiare il file.

    
risposta data 02.09.2015 - 01:56
fonte
2

Prova:

chflags -f -R nouchg directory

in una directory di livello superiore per fermare questo problema.

    
risposta data 24.11.2015 - 23:55
fonte
0

Ho avuto anche questo problema e ho scoperto che la cartella in cui si trovava il file era bloccata. Quindi assicurati che non sia vero. Fai 'get info' sulla cartella nel finder e assicurati che la casella di controllo bloccata non sia selezionata.

    
risposta data 21.01.2016 - 03:35
fonte
0

Mi rendo conto che questo è un argomento molto vecchio, ma non vedo questo thread che risolve il mio sintomo, quindi ho pensato di pubblicare un altro parere.

Questo è accaduto a un'unità esterna che funzionava perfettamente su un iMac di Snow Leopard, che è stato aggiornato a El Capitan lungo la strada. All'inizio di quest'anno, ho preso questa unità e l'ho inserita in un nuovo Windows 10 che eseguiva Paragon HFS per Windows. Ho copiato centinaia di GB di file DA Windows TO HFS + su quell'unità e reinserito nell'iMac. Tutto ha funzionato bene, tranne uno script di shell in cui sono presenti i file di staging per il backup che hanno riscontrato questo problema di uchg.

In breve: file e cartelle creati con El Capitan o Windows 10 usando Paragon HFS, quando si torna a una casella Snow Leopard, la casella radio "bloccata" NON verrà controllata quando si seleziona Get Info nel Finder. Tuttavia, i suggerimenti degli altri hanno funzionato bene per me:

  • verifica che questo è il problema eseguendo ls -leO@ (che è una capitale oh) su un file sospetto
  • come root, esegui chflags -R nouchg nella directory padre (non c'è -f in Snow Leopard)

Funzionerà, non aspettarti le stesse indicazioni visive se l'unità è andata tra i sistemi operativi o se usi Paragon HFS.

    
risposta data 18.09.2017 - 05:42
fonte

Leggi altre domande sui tag