Ich habe eine Textdatei in /Users/Shared, die von allen Benutzern auf meinem Mac bearbeitet werden soll. Das Fenster "Informationen abrufen" zeigt, dass jeder Lese- und Schreibzugriff hat, und wenn ich die Datei mit TextEdit auf einem Nicht-Eigentümerkonto öffne, gibt die Titelleiste nicht an, dass die Datei gesperrt ist. Wenn ich jedoch versuche, meine Änderungen zu speichern, werde ich mit den Popups „Das Dokument konnte nicht [gespeichert/automatisch gespeichert]. Sie haben keine Berechtigung“ konfrontiert.
Ich habe versucht, den Nicht-Eigentümer-Benutzer zur Berechtigungsliste im Fenster "Informationen abrufen" hinzuzufügen. Kein Würfel.
Ausgaben von ls
(mit bearbeiteten Namen):
$ 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
Ich kann dieses Verhalten auf zwei separaten Computern reproduzieren, auf dem einen mit 10.8 und dem anderen mit 10.9, aber nicht auf dem mit 10.6.
Beachten Sie, dass die Berechtigungszeichenfolge für /Users/Shared mit einem „t“ endet. Dies zeigt an, dass das Sticky-Bit für dieses Verzeichnis gesetzt ist. Laut "Mann 8 klebrig",
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.
Ich vermute, dass TextEdit beim Speichern einer Datei zuerst versucht, die alte Datei umzubenennen oder zu entfernen. Aber in einem Verzeichnis mit gesetztem Sticky-Bit kann dies nur der Eigentümer tun. Daher der berechtigungsbasierte Fehler.
Sie könnten dies testen, indem Sie so etwas als Benutzer Guest versuchen
echo " " >> /Users/Shared/Links.txt
Wenn dies erfolgreich ist, zeigt es, dass Guest in die Datei schreiben kann und dass TextEdit die Datei umbenennen oder entfernen muss, nicht nur umschreiben.
Zwieback
epimorph
Tom Baron