Files locked in public folder when sharing via file sharing

sharingsystem-prefs

i share files with a friend from his macbook to my mac mini over my wireless connection.

i set my public folder as a shared folder & turned on file sharing in my system prefs.

my friend can copy files to my public folder, but when i try to open them they are all read-only (showing as "nobody – read & write, staff – read only, everyone – read only). not sure why it says "nobody".

user permissions are set to read & write for my user, staff, and everyone for the public folder in system prefs.

i even tried adding a new sharing user for him with a password. he can connect fine & copy files fine, but when i try to open them they are read-only. the folder itself and all files inside are set to read-only.

how can i make these files come over as read-write for me, so i don't have to set the permissions manually for every file? thanks!

Best Answer

The default permissions for newly created (/copied) items allow read and write access only to the owner (whoever created it), read-only access to everyone else. The best way around this is to create an access control entry on the folder, and set it to be inherited to items created in (/copied into) it. 'Course, the Finder doesn't give you access to the inheritance controls, so you have to go to the command line:

chmod +a "group:staff allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,file_inherit,directory_inherit" ~/Public

Note that this gives read & write access to all accounts in the staff group (which basically means all user accounts); if you want a bit more control, create a group in System Preferences > Users & Groups, and add just yourself and your friend's account to it, then use "group:yourgroupname" in the above command. Also, the inheritance only applies to items as they're created, so it won't apply to files and folders already in your Public folder; if you want it to apply to existing items, add chmod's -R option (chmod -R +a ...)