OS X Yosemite (design promo, Finder icon 001)

Many Mac users are unaware that copying a file or folder in the Finder, or moving it to another location, does not preserve the permissions and ownership data attached to it.

In most circumstances, that’s not a problem as you’ll be moving stuff within your own user account. Hence, the default behavior of changing ownership/permissions is actually desirable for most users, in most cases.

But on occasion, you may need to override the default setting when, say, copying a file into another user’s folder, dropping a document into the Guest account and so forth. In these kinds of scenarios, preserving the original file’s ownership and permissions can save you headache down the road.

But worry not — the Mac’s Finder includes a pair of hidden features, Paste Item Exactly and Duplicate Exactly, that get the job done. The following tips will teach you how to leverage them to ensure that the file’s ownership information and permission data has been kept intact after the copy/move operation.

Again, Finder defaults to changing the original ownership and permissions to your account, if the file being copied or moved is owned by another user. In my experience, preserving the original permissions can help maintain the file system integrity and consistency and save you trouble down the road.

To copy, move or duplicate a file without the current user becoming the new owner, use either the Finder’s Paste Item Exactly or Duplicate Exactly feature.

How to copy a file while preserving ownerships and permissions

To make a copy of a file or folder in a new location while preserving ownership and permissions of the original item, follow the steps outlined below.

Step 1: Open a new window by clicking the Finder icon in the Dock, or hit the ⌘-Shift-F combo with the Finder active. Now, locate the item you wish to move to a new location.

Step 2: Right-click the item (or Control + click) and choose “Copy (filename)” from the drop-down menu. Here you can see me copying iDownloadBlog’s style guide to the system clipboard.

Finder (Mavericks, how to move files permissions, image 000)

Tip: alternatively, select an item and hit ⌘-C to copy it to the system’s clipboard buffer.

Step 3: Open a destination folder and access the Finder’s Edit menu while holding down Shift and Option keys on the keyboard. Now choose “Paste Item Exactly” which will move the item to this location while maintaining permissions and ownership data.

Finder (Mavericks, how to move files permissions, image 001)

You may be asked to provide your account credentials to complete the operation.

Finder (Mavericks, how to move files permissions, image 003)

Tip: you can also hit the ⌘-Shift-Option-V to paste to the destination location.

How to duplicate a file while preserving ownerships and permissions

To make a copy of a file or folder in the same location while preserving the original’s ownership and permission information, follow the steps outlined below.

Step 1: Open the Finder window, locate an item you wish to duplicate and click to highlight it.

Step 2: Hold down Shift and Option keys on the keyboard while accessing the Finder’s File menu. Choose “Duplicate Exactly” to create an exact replica of the item in the same location as the original.

Finder (Mavericks, how to move files permissions, image 002)

Again, the system may ask you to authenticate before completing the file duplication.

Tip: you can achieve the same results by hitting the ⌘-Option-Shift-D keyboard combination.

These instructions apply to the Finder on OS X Yosemite systems, too.

Finder OS X Yosemite

It goes without saying that performing the copy/paste/duplicate operation the old-fashioned way, without using the Shift/Option keyboard modifiers, will make your account the new file owner and change the permissions accordingly.

The difference between moving a file or folder and creating a duplicate?

The former obviously moves it to a new location in your Mac’s file system. Similarly, the latter performs an exact duplication and places the new file alongside the original.

Like this tip?

Give us a shout in the comments and browse our extensive how-to archive!

If you’ve stumbled upon another tip worth sharing, or just want to suggest topics for upcoming how-tos, drop us a line at tips@iDownloadBlog.com and we’ll feature your best and brightest ideas in upcoming tutorials.

  • Jonathan

    Thanks! While I have ventured that far into Mac, I’m sure it will come handy some day.

  • Noah

    Great tip! It’s very strange how Apple use these “option” and “option+shit” hidden commands. The average user sometimes needs some options that use these commands, but never think to hold another one or two buttons. Maybe Apple should introduce a Tips.app much like iOS 8! 😉

  • The question is, why does it change in the first place? Kindly inform me, ’cause I find it to be a PITA to adapt to especially when I don’t need to worry about this on Windows. I set a file as read-only, it remains read-only wherever I copy/move it to; be it my external HDD/MicroSD Card or just another directory on my internal SSD.

    • DogeCoin

      It’s part of the *nix base. Windows doesn’t contains as strict user accounts as *nix, and likes to hide certain parts of the file system from you. By default there are many user accounts in *nix. A file and folder belong to a user, a group , and permissions. When a file is moved to another place, it gains the directories properties, unless specifically directed not to. Your case remains true for *nix, read only (under the assumptions this is set for the permissions regarding other users ) will allow any account to read it, regardless of where you copy it, since the owner ship changes, but the permissions do not, unless directly acted upon. If you wanted all accounts full acess to a file, you’d change the permissions to belong to “nobody” under “nogroup” with read/write/run permission.

      • Right, just tested this on a file and it appears to actually be kinda similar on Windows in terms of permission inheritance from parent directory, but that only occurs when moving the file to a different volume (from drive C:/ to D:/ for example). Otherwise, permissions stay as they are when moving the file around Windows Explorer in the same volume.

        It’s only the “read-only” and “hidden” attributes that move with the file from volume to volume.

        “Windows doesn’t contains as strict user accounts as *nix”

        Strict enough as it is, any stricter would just be a PITA to use.

        “and likes to hide certain parts of the file system from you.”

        Huh? What parts are hidden that are shown on Mac OS X by default? Please specify.

      • DogeCoin

        usually (single) root directory, and mount points.

      • The root directory (http://is gd/2pdUxv) is not hidden on Windows, and there’s no absolute root directory. As for mount points, you referring to the drive letters? Empty drive letters are hidden by default to avoid cluttering your “My Computer” directory…I don’t think Mac OS X shows those by default either, ’cause that’ll be a very cluttered default user experience.

      • DogeCoin

        no mount points as in where a partition would be mounted on. In MacOSX it’s usually in /dev and in linux its usually /mnt or /media. Windows can do stuff like that but its file systems is different. It usually makes it as a root directory, of which it’s with more or less in an abstracted/metaphorical root directory that contains the other root directories.

      • K…doesn’t seem like anything worthy of being found or unhidden. Guessing the benefit would be knowing more about how your computer works, but other than that, I can’t quite see the user benefit. Kindly inform me if you’re aware of any…

      • DogeCoin

        usually useful when running dd.

      • By DD I presume you’re reffering to this (http://bit ly/1eYkDDV), a command on Unix whose primary purpose is to convert and copy a file? Sounds beneficial only on Unix systems, Windows has it’s own ways of copying and converting files…starting to think you were just biasing your comment with that statement.

      • DogeCoin

        yes, but dd is pretty much the standard way for advanced data copying. mount point are just most commonly used in reference to dd because messing them up is quite damaging. mount points are also used if you’re going to specially spread out your OS across different data mediums and partitions. (common example is putting swap in the fastest partition).
        It should how ever be noted that dd isn’t “Sounds beneficial only on Unix systems, Windows has it’s own ways of copying and converting files.” since there are more *nix systems then windows systems. The different types of *nix systems out number windows systems more than 5 to 1. So as such, dd is more of a standard since there are more *nix systems than windows systems.

      • “since there are more *nix systems then windows systems”

        Yeah, majority of which are on bastardized (far from the real deal) devices like iOS/Android SmartPhones and Tablets. I’m definite no end users do “advanced data copying” (as you describe it) on such systems. Maybe the 10% of non-bastardized Unix system users (Desktop/Laptop versions of Mac OS X + Linux) make use of it…
        BTW, based on your description of mount points, starting to think Window’s Storage Spaces feature is the alternative of what you’re talking of, and it isn’t hidden.

      • DogeCoin

        I’m talking about, Linux, Darwin, FreeBSD, BSD, openBSD, netBSD etc. Mount points more or less are where the files literally (appended) are in the file system. If you plugged a USB drive in, and then started from the bottom at the C drive, would you know which directories to go into to find the USB flashdrive files.

      • Those are all variants of the open source code, not the most used versions of Unix.

        If you plugged a USB drive in, and then started from the bottom at the C drive, would you know which directories to go into to find the USB flashdrive files.

        I wouldn’t be looking for my flash drive in my C drive, ’cause Windows intuitively handles it as a separate drive/partition (which it is). I can tell which drive letter it’ll mount to if I know the current list of drive letters assigned; it’ll be the next alphabetical letter unless I tell Windows to restrict the uniquely-identified drive to a particular drive letter.

      • DogeCoin

        you see, that in itself is a problem. Windows does not handle root drives very well. It Mounts flash drive similar to the function of the C drive. Specifically Linux (which IS the most used variation on *nix) I know exactly where they are put in the file tree by default, and can change it to mount anywhere. Windows will always mount it under a letter drive name, which is a problem since it treats permissions under a letter drive name differently, and you will eventually run out of letter drive names. Also, permissions aren’t as easily managed with a flashdrive when its its own seperate drive letter. (where as being in the file tree is quite trivial to set up the permissions)

  • DogeCoin

    pray tell, can i mount a flashdrive, and make it so only users with an odd number of vowels and an even number of consonants can access the drive on only the 23 of each month? And why should i set up NTFS, why shouldn’t the OS be able to handle all those drives?

    • “pray tell, can i mount a flashdrive, and make it so only users with an odd number of vowels and an even number of consonants can access the drive on only the 23 of each month?”

      Easy via Group Policy and Task Scheduler…

      “And why should i set up NTFS, why shouldn’t the OS be able to handle all those drives?”

      You don’t need to format the external drive to NTFS, the partition in which you’re creating the mount point it is all that needs to be NTFS, and the system drive (usually C:) is always NTFS…do your homework.

      • DogeCoin

        The original point was you unable to understand permissions.

        “The question is, why does it change in the first place? Kindly inform
        me, ’cause I find it to be a PITA to adapt to especially when I don’t
        need to worry about this on Windows. I set a file as read-only, it
        remains read-only wherever I copy/move it to; be it my external
        HDD/MicroSD Card or just another directory on my internal SSD.”

        Windows does change the owner ship, just like *nix. What you pride windows on is a default characteristic by *nix. This is for advanced users that would actually need and want to change permissions and ownership, for example, sand boxing or running programs under its own user account, or, more commonly, a security profile.

      • And I originally accepted that this permission-maintaining context-menu feature would be a time saver for the situation I described. Hence why I stated:

        “Thus, this Mac OS X feature would actually be a time saver in such cases if you intend to copy the file or move it to a different volume.”

        Thanks for that part. But then you went on BSing with bias nonsense…proving to be not so aware of Windows as you think you are.

      • DogeCoin

        Why would i download software when i can do it my OS be default, with or with out a GUI.

      • “Why would i download software when i can do it my OS be default, with or with out a GUI.”

        ‘Cause, why would I want to use a terminal and go through the process of memorizing new commands when I could have a GUI for most of the power-user tasks I do? Plus, why would I want to limit my compatibility with loads of USB peripherals and desktop-class programs out there when I don’t have to?

        That’s why I choose to install an application separately on Windows than have it built-into the system on Unix…

  • Chuck Kahn

    I connect to another Mac as Guest and copy a folder to one of the shared folders on the other Mac. The other Mac user finds that this copied folder does not have write access and has to modify the permissions to add write access. Is there a way of copying the folder to the Guest location and automatically give the other user write access to that folder without having to edit permissions?