L'ho spiegato in un post sul blog http://think-like-a-computer.com/2011/07/24/moving-files-on-the-same-ntfs-volume-does-inherit-permissions/ ma è anche spiegato di seguito.
Quando un file viene copiato, deve creare un file nuovo di zecca e assegnargli un nuovo set di autorizzazioni, in modo che ottenga le autorizzazioni dalla cartella principale come sai.
Quando un file viene spostato su un altro volume, ciò che accade effettivamente è che viene copiato nel nuovo volume e il vecchio file viene eliminato. Quindi lo stesso processo viene ripetuto come sopra in quanto è di nuovo un nuovo file e necessita di autorizzazioni impostate.
Quando il file viene spostato all'interno dello stesso volume, non accade nulla (a livello di disco). Cambia solo la posizione del percorso logico del file. I dati effettivi e il file fisico sul disco non sono stati toccati o modificati. Hai mai notato quando sposti un file da 5 GB in un'altra cartella sulla stessa unità, è quasi istantaneo? Questo è il motivo, perché in realtà non si è spostato ma il puntatore al punto in cui esiste il file logicamente è cambiato. Poiché non è stato modificato in alcun modo, anche le autorizzazioni non cambiano.
Questa è la ragione di questo comportamento.
Modifica: qualcosa che ho dimenticato di menzionare ... L'articolo sulla SM non è del tutto esatto. Citazione MS:
Per impostazione predefinita, un oggetto eredita le autorizzazioni dall'oggetto padre, al momento della creazione o quando viene copiato o spostato nella sua cartella padre. L'unica eccezione a questa regola si verifica quando si sposta un oggetto in una cartella diversa sullo stesso volume. In questo caso, le autorizzazioni originali vengono mantenute.
La citazione sopra si applica solo agli oggetti a cui sono state assegnate autorizzazioni sec ESPLICITAMENTE definite (disattiva l'ereditarietà). Come menzionato nei miei commenti, si tratta di mantenere le voci ACL il più efficienti possibile. Considera il seguente esempio:
Per semplificare la spiegazione, supponiamo che tu abbia una cartella impostata per consentire agli utenti di modificare solo i diritti. Al di sotto di questo, ci sono migliaia di file e nessuno di essi ha le autorizzazioni esplicite impostate. Non è molto efficiente creare ACL per ogni file in quanto sono esattamente gli stessi permanenti, quindi imposta UNA voce ACL per la cartella. Il prossimo bit è molto IMPORTANTE da capire; i file stessi non hanno ACL PERMS. Quindi quando sposti uno di questi file in una nuova cartella nello stesso volume, MS afferma che i permanenti si spostano con esso (come sopra la citazione). Chiediti questo .... come? In primo luogo non c'erano permessi sul file da spostare. Questo in realtà non è corretto e l'ho appena testato ora per confermarlo. Supponiamo che la cartella di destinazione in cui si sta spostando il file abbia permanenti per consentire solo al gruppo di tutti i diritti di modifica. Bene poiché il file non ha ACL direttamente, eredita l'ACL della cartella padre. Questo significa che i permessi sono cambiati da modifica utente (vecchia cartella) a modifica di tutti (nuova cartella).
Notare la differenza ?? Questa volta, spostare un file in un'altra cartella nello stesso volume ha effettivamente cambiato i permessi, qualcosa che MS dice che non lo fa. Ho appena trovato un errore nella documentazione MS dal 2000 lol ??
Ora guarda lo stesso scenario quando usi le autorizzazioni esplicite. Se si impostano autorizzazioni esplicite su un file all'interno di questa cartella (ereditarietà disattivata) che, ad esempio, nega agli utenti l'accesso in lettura, ora crea una NUOVA voce ACL specifica per questo file. Ora quando si sposta il file in una nuova posizione, ha una voce ACL direttamente correlata ad esso. In questo caso, spostare un file in una nuova posizione nello stesso volume RIPRENDE le autorizzazioni (come afferma MS)!