Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have an external hard disk which has 1 partition, formatted in NTFS. I use this drive on multiple computers with a different logins on different machines, Windows XP and Windows 7. All files are plain old files, not OS encrypted or compressed.

Every now and then Windows 7 does not let me access some files, citing permission problems. I can circumvent this per case by taking ownership and setting appropriate permissions. This, however, is tedious. Is there a simple way to tell Windows to not enforce or store any permissions on any file/directory on a partition?

share|improve this question
    
The answer is a solution but it doesn't answer your question. –  reconbot Sep 26 '10 at 18:14

3 Answers 3

up vote 18 down vote accepted

Your external drive is formatted with the NTFS file system, which supports access restrictions.

Unfortunately, while some users and security groups are built-in to Windows with predefined Security IDs which are the same on all machines (such as Everyone), other users and groups have SIDs derived from the machine they're defined on.

To normalize the situation you should:

  1. While logged-in as Administrator, right-click the drive's root directory and select Properties.
  2. Click the Security tab, then the Advanced button.
  3. In the Advanced Security Settings dialog for the drive, click the Owner tab, then the Edit button.
  4. Click the Administrators group, check Replace owner on subcontainers and objects and click OK. If asked about replacing existing permissions with ones giving you Full Control, click Yes.
  5. Back in the Security tab and on the original Properties sheet again, click the Edit button, and in the Security dialog click Remove for all entries for all accounts listed under "Group or user names", except for the well-known ones of System, Administrators, Users and Authenticated Users.
  6. Click Add, and in the "Select Users, Computer or Groups" dialog under "Enter the object names to select", type Everyone and click OK. You should verify that Everyone has been added to the list.
  7. Click Everyone, check Full Control, then click on Apply.
  8. Click Advanced again to go back to the Advanced Security Settings dialog box and click the Change Permissions button. Check Replace permission entries on all child objects and click OK and OK.
  9. Click OK.

Be careful in the future not to allocate separate access permissions to sub-folders of the drive (leaving all permissions as inherited). If this happens again, repeat the step for "Replace permission entries on all child objects".

Be mindful of the fact that under Windows 7/8 the Guest account is not part of the Everyone group. If you need it, you'll have to add Guest as above for the Everyone group.

If you encounter problems with UAC, try using Explorer via "Run as administrator".

share|improve this answer
1  
The above is the correct solution and really the only easy way to deal with external NTFS drives that may used by multiple user accounts or on different machines. If there are files you want private you can always use something like TrueCrypt to make a folder and it's contents private. –  jtreser May 14 '10 at 11:04
    
+1 - "Everyone Full Control" or "Administrators Full Control / Users Modify" is the easiest way around this. Beyond that, it's a matter of making sure something doesn't decide to mess with the ACLs. –  afrazier May 14 '10 at 13:53
    
Does it specifically have to be 'Administrator' that takes ownership of the external drive's root folder or is a user with admin rights good enough? Because I can't seem to get this to work and I don't have the person with the Administrator password on hand. At least I can still access the drive just fine on my Linux laptop... (Whoever decided that putting ACLs on external hard drives was a good idea should be shot) –  kahen Aug 27 '11 at 20:22
1  
UAC... my sworn enemy. 2 reboots later and a takeown /f e:\ /r /d y later, and everything is in order again. –  kahen Aug 27 '11 at 21:22
1  
@JonBentley: You probably have problems with UAC. Try using Explorer via "Run as administrator". –  harrymc Oct 29 '13 at 17:42

takeown is the easiest tool to get rid of this braindamaged permission system.

start a cmd as administrator (right-click cmd icon, run as admin), and enter

takeown /f [root dir of drive] /r /d y

example for drive F:

c:\>takeown /f f:\ /r /d y
share|improve this answer
1  
Watch out for things like junctions in Windows Vista/7, it ended up recursing in to F:\Documents And Settings for me, which linked to C:\Users. –  Chris Chilvers Sep 6 '13 at 22:53

The example above:

c:>takeown /f f:\ /r /d y

Will assign owner to the current user. To assign owner to the administrators group add the /a option, For example:

c:>takeown /f f:\ /a /r /d y

This will accomplish steps 1-4 of harrymc's solution.

Note that "/d y" is localisation dependent, with german localisation it is e.g. "/D j".

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.