Saya telah menjelaskan ini dalam posting blog http://think-like-a-computer.com/2011/07/24/moving-files-on-the-same-ntfs-volume-does-inherit-permissions/ tetapi dijelaskan di bawah ini.
Ketika sebuah file disalin, ia harus membuat file baru dan menetapkannya satu set izin baru, sehingga mendapat izin dari folder induk seperti yang Anda tahu.
Ketika suatu file dipindahkan ke volume lain, yang sebenarnya terjadi adalah bahwa itu disalin ke volume baru dan file lama dihapus. Jadi proses yang sama diulangi seperti di atas karena ini adalah file baru lagi dan memerlukan izin yang ditetapkan.
Ketika file dipindahkan dalam volume yang sama, tidak ada yang terjadi (pada level disk). Itu hanya mengubah lokasi jalur logis file. Data aktual dan file fisik pada disk belum disentuh atau diubah. Pernah perhatikan ketika Anda memindahkan file 5GB ke folder lain di drive yang sama, hal itu dilakukan hampir secara instan? Inilah sebabnya, karena sebenarnya belum dipindahkan tetapi penunjuk ke tempat file secara logis telah berubah. Karena tidak diubah dengan cara apa pun, izin tidak berubah juga.
Inilah alasan perilaku ini.
Sunting: Sesuatu yang saya lupa sebutkan ... Artikel MS tidak sepenuhnya akurat. Kutipan MS:
Secara default, suatu objek mewarisi izin dari objek induknya, baik pada saat pembuatan atau ketika itu disalin atau dipindahkan ke folder induknya. Satu-satunya pengecualian untuk aturan ini terjadi ketika Anda memindahkan objek ke folder berbeda pada volume yang sama. Dalam hal ini, izin asli dipertahankan.
Kutipan di atas hanya berlaku untuk objek yang telah diberikan izin sec didefinisikan secara EXPLICITLY (matikan warisan). Seperti yang disebutkan dalam komentar saya, ini semua tentang menjaga entri ACL seefisien mungkin. Perhatikan contoh berikut:
Agar penjelasannya sederhana, katakanlah Anda memiliki satu set folder untuk memungkinkan pengguna memodifikasi hak saja. Di bawah ini, ada ribuan file dan tidak satupun dari mereka memiliki izin yang ditetapkan. Sangat tidak efisien untuk membuat ACL untuk setiap file karena mereka adalah perm yang persis sama sehingga mengatur SATU entri ACL untuk folder. Bit selanjutnya ini sangat PENTING untuk dipahami; file-file itu sendiri tidak memiliki ACL PERMS. Jadi ketika Anda memindahkan file-file ini ke folder baru dalam volume yang sama, MS mengklaim perms bergerak dengan itu (seperti kutipan di atas). Tanyakan pada diri sendiri ini .... bagaimana? Tidak ada perms pada file di tempat pertama untuk pindah. Ini sebenarnya salah dan saya baru mengujinya sekarang untuk mengonfirmasi. Katakanlah folder tujuan yang Anda pindahkan file memiliki perms untuk memungkinkan semua orang memodifikasi hak saja. Yah karena file tidak memiliki ACL secara langsung, itu mewarisi ACL dari folder induk. Ini berarti bahwa perms telah berubah dari pengguna yang memodifikasi (folder lama) menjadi semua orang memodifikasi (folder baru).
Perhatikan perbedaannya ?? Kali ini, memindahkan file ke folder lain dalam volume yang sama sebenarnya telah mengubah perm, sesuatu yang MS katakan tidak berfungsi. Apakah saya baru saja menemukan kesalahan dalam dokumentasi MS sejak 2000 lol ??
Sekarang lihat skenario yang sama saat menggunakan izin eksplisit. Jika Anda menetapkan izin eksplisit pada file di dalam folder ini (warisan dinonaktifkan) yang, misalnya, menolak akses pengguna baca, sekarang membuat entri ACL BARU khusus untuk file ini. Sekarang ketika Anda memindahkan file ke lokasi baru, ia memiliki entri ACL yang terkait langsung dengannya. Dalam hal ini, memindahkan file ke lokasi baru dalam volume yang sama RETAIN izinnya (seperti yang diklaim MS)!