Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

I have a mac that just received an external drive which I formatted and plugged in.

When I am logged in as a normal user it all looks fine. But when I am logged in as root the system recognizes ownership of the drive as '_unknown'. Also, I can't change the ownership of any files/folders within the drive to root. I do 'sudo chown root somefolder' but nothing happens.

Why is this happening? How can I make the mac recognize the external drive correctly?

Further info: Version: OSX 10.7.5.
External drive is connected via USB.
It's a 3TB externa Lacie drive.
I formatted the external drive by just clicking the 'Lacie setup' program that appears when you connect it.
Filesystem: when i typed mount i recieved (hfs,local,nodex.noswich.journaled).

share|improve this question
    
How is the drive formatted? –  Mark May 24 '13 at 14:09
    
Updated question. –  Hermann Ingjaldsson May 24 '13 at 14:11
    
Unless you want to control permissions on the external, you might want to format it to fat32 and have more OS compatibility. –  demure May 24 '13 at 14:23
    
I need to control permissions. –  Hermann Ingjaldsson May 24 '13 at 14:27
    
If you want to control permissions, you should format your drive to HFS+. I bet that the Lacie setup program formatted it to FAT32 for best compatibility. –  mouviciel May 24 '13 at 14:45
show 1 more comment

2 Answers 2

up vote 2 down vote accepted

Permissions are annoyingly complicated, often because of Access Control Lists.

PathFinder from CocoaTech provides more extensive info on permissions than Finder, and has a trial period, but basically Terminal is required to get complete information.

There are actually three levels of obstruction to complete file control in OS X: permissions, access control lists and flags. The "ls" binary program ("list directory contents [Unix equivalent to Windows "dir"]) requires command line flags to show all restrictions. After starting Terminal, type:

cd /Volumes
/bin/ls -AFleO

This shows the current permissions, flags and Access Control List entries for each volume attached to the OS. On my system, this produces:

drwxr-xr-x  30 root    wheel  - 1088 May  6 23:17 AltBoot/
drwxrwxrwx  46 root    wheel  - 1632 May 16 11:43 BackGround1/
drwxrwxrwx+ 37 root    admin  - 1326 May 24 14:07 BackGround2/
 0: EBC292CE-0E64-4416-A676-288A96E46764 allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,file_inherit,directory_inherit
lrwxr-xr-x   1 root    admin  -    1 May 14 20:40 Ground@ -> /
drwxrwxrwx+ 13 xxxxxx  staff  -  510 Feb 22 17:46 GroundTM/
 0: EBC292CE-0E64-4416-A676-288A96E46764 allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity
drwxrwxrwx  11 xxxxxx  staff  -  442 Feb 22 17:46 VMware4/

That long list of characters after "BackGround2/" is an ACL entry. The dashes on the file line are where any flags would be listed. The system flag can be set in multiuser mode, but can ONLY be unset in single user mode. My father managed to get that flag set on some of his pictures, and it took me a long time to find out why I couldn't delete or change the owner on those files. And he would never touch Terminal in any way.

Use the manual page command man chflags to get more info on how to set and unset the flags. If all you see is dashes, then no flags are set.

To remove the ACL entries, the command for my example would be "sudo /bin/chmod -NR Background2/", which would ask for an administrator password. CAUTION ! Bad things can happen when you are the super user. See man chmod for more info on ACL entries. (I am putting /bin/ before the commands because only the Apple supplied programs in the /bin directory can affect ACLs. There are GNU programs which can be added to OS X and have the same names, but cannot present or modify ACL entries. These are available from MacPorts MacPorts.org.

share|improve this answer
add comment

In the Finder, get info on the volume (under the File menu). First, check the General section of the info window to make sure it's in one of the Mac OS Extended formats (probably "Mac OS X Extended (Journaled)"); if not, you'll need to reformat it. I'm not familiar with the Lacie setup program, but you can use Disk Utility to do this.

If it's in Mac OS X Extended format (or a variant), expand the Sharing & Permissions section of the info window, and see if it has an "Ignore ownership and permissions" option at the very bottom. If it's there and enabled, click the padlock and authenticate as an administrator, then disable the "Ignore..." option.

Explanation: when OS X sees a new external volume, it assumes it's either come from another computer, going to another computer, or both. Since there's no general correspondence between accounts on different computers, OS X figures there's no point in trying to track file ownership and simply disables it. If you enable ownership in the Info window, OS X will start storing & respecting ownership on files on that volume.

share|improve this answer
add comment

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.