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 text file in /Users/Shared that I would like to be editable by all users on my Mac. The Get Info window shows that everyone has read and write access, and when I open the file with TextEdit on a non-owner account, the title bar does not state that the file is locked. Yet when I attempt to save my edits, I'm faced with the "The document could not be [saved / autosaved]. You don't have permission" popups.

I've tried adding the non-owner user to the permissions list in the Get Info window. No dice.

Outputs from ls (with names edited):

$ ls -l /Users/
total 0
drwxr-xr-x+ 14 Guest        _guest   476  7 Apr 11:14 Guest
drwxrwxrwt  45 root         wheel   1530 12 Apr 17:40 Shared
drwxr-xr-x+ 15 fileowner    staff    510 22 Feb 12:49 fileowner
drwxr-xr-x+ 17 admin        staff    578 21 Dec 10:55 admin
$ ls -l /Users/Shared/Links.txt 
-rw-rw-rw-@ 1 fileowner  wheel  619 25 Feb 19:44 /Users/Shared/Links.txt

I can reproduce this behavior on two separate machines, one running 10.8 and the other 10.9, but not on the one running 10.6.

share|improve this question
add comment

1 Answer 1

up vote 8 down vote accepted

Notice that the permission string for /Users/Shared ends with a 't'. This indicates that the sticky bit is set for that directory. According to "man 8 sticky",

 A directory whose `sticky bit' is set becomes an append-only directory,
 or, more accurately, a directory in which the deletion of files is
 restricted.  A file in a sticky directory may only be removed or renamed
 by a user if the user has write permission for the directory and the user
 is the owner of the file, the owner of the directory, or the super-user.

I suspect that when TextEdit tries to save a file, it first attempts to rename or remove the old file. But in a directory with the sticky bit set, only the owner can do this. Hence, the permission-based failure.

You could test this by trying something like this as user Guest

echo " " >> /Users/Shared/Links.txt

If this is successful, it shows that Guest can write to the file and that TextEdit must be renaming or removing, not just rewriting the file.

share|improve this answer
    
Welcome, we like detailed answers like this one. –  Buscar웃 Apr 13 at 9:55
    
Your terminal command went through without a hitch, so it does look like the implementation of file versioning since 10.7 uses renaming and/or (re)moving, rather than overwriting. Thanks! –  epimorphic Apr 13 at 13:46
    
@Buscar: Thanks for the welcome. Glad I could contribute. epimorphic: Thanks for letting me know what happened. It's always nice to hear that one's idea worked. :) –  Tom Barron Apr 15 at 23:12
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.