Es kann kein neues Verzeichnis im Basisordner erstellt werden: Was sind "Standard" -Berechtigungen / -Eigentum?


2

Ich weiß, wie man Berechtigungen einstellt. Aber was ist die Standard-OS X-Berechtigung und -Besitz für das Basisverzeichnis? Ich kann kein Verzeichnis erstellen. Wie ist meins anders? (Siehe Ausschnitt):

jbenniMac:~ jbenni$ pwd
/Volumes/Macintosh HD/Users/jbenni
jbenniMac:~ jbenni$ ls -l ..
total 0
drwxrwx---@ 101 jbenni  staff  3434 May 14 17:15 jbenni
jbenniMac:~ jbenni$ mkdir test
mkdir: test: Permission denied
jbenniMac:~ jbenni$ 

Ebenfalls:

jbenniMac:~ jbenni$ ls -ledO@ /Users/jbenni
drwxr-xr-x+ 13 jbenni  staff  - 442 Mar  9 15:52 /Users/jbenni
 0: group:everyone deny delete

Hinweis: 1) Es gibt verschiedene andere Symptome. Bash beklagt sich beispielsweise darüber, dass es nicht möglich ist, einen Sitzungsordner zu erstellen, und ich erhalte eine falsche Meldung, dass "StartupItems" beim Anmelden falsche Berechtigungen hat (obwohl dies nicht der Fall ist). Ich vermute, dass alle diese verwandt sind.

Hinweis: 2) Vor langer Zeit und in mehreren Versionen von OS X habe ich eine SSD für mein System und meine Anwendungen installiert. Ich habe mein Basisverzeichnis verschoben (mithilfe von Benutzer und Gruppen, "Erweiterte Optionen ..." und dann zu einem Speicherort auf der integrierten Festplatte für mein Basisverzeichnis navigiert). Das hat gut funktioniert und das Leben im Finder ist gut. Ich benutze Terminal nicht oft genug, um sicher zu sein, wann dieses Problem auftritt. gestartet - aber Terminal hat nach der SSD / HDD-Trennung funktioniert.


Was kehrt id -azurück? Schlägt nur der Name testfehl oder ein Name? Was ist das Ergebnis von touch test?
Nohillside

Ohne sudo kann kein Verzeichnis in Home erstellt werden. Touch-Test gibt "Berechtigung verweigert" zurück. id -a gibt die erwartete Liste der IDs zurück. Die ID für jbenni ist 504. mkdir und rm arbeiten beide mit sudo.
Jbbenni

1
Ah, Note 2 ist eigentlich ziemlich wichtig. Welches Dateisystem hat die HD? Mit welchen Optionen wird es montiert?
Nohillside

Die Festplatte ist "OS X Extended", beschreibbar und unterscheidet nicht zwischen Groß- und Kleinschreibung. Es ist disk0s4, intern über SATA. (Alle Festplatten sind in Bezug auf Disk Utils Erste Hilfe "sauber".)
jbbenni

Antworten:


3

Die Antwort wurde von fd0 bereitgestellt , der sie auf SuperUser gepostet hat. Das Problem wurde durch Konflikte mit Zugriffssteuerungslisten verursacht und durch Entfernen aller Zugriffssteuerungslisten behoben. (Offenbar wurden resetpassworddiese ACLs, wie oben vorgeschlagen, nicht gelöscht. Ich weiß nicht warum.) Der Terminalbefehl, der die widersprüchlichen ACLs enthüllte, lautete:

ls -ledO@ "/Volumes/Macintosh HD/Users/jbenni"

Der Terminalbefehl, mit dem der Konflikt behoben wurde (indem alle entfernt wurden), lautete:

chmod -N "/Volumes/Macintosh HD/Users/jbenni"

Ich hoffe das hilft jemand anderem. Ich war mir dessen chmodbewusst, hatte aber keine Kenntnisse über ACLs - daher hätte ich dies alleine nie gefunden. Stackexchange rocks!


Schöner Fund. Ich
bin

1

Die Standardeinstellungen sollten sein rwxr-xr-x user staff

Sie können die Benutzerstandards über die Wiederherstellung zurücksetzen ...

  • Berechtigungen und ACLs für Basisordner zurücksetzen
    Dies ist aufgrund des Systemintegritätsschutzes seit El Capitan komplexer geworden, ist jedoch weiterhin durch Starten im Wiederherstellungsmodus möglich ...
    1. Halten Sie sich Cmd ⌘ R beim Booten am Glockenspiel fest
    2. Öffnen Sie auf dem Wiederherstellungsbildschirm Terminal im Menü Dienstprogramme.
    3. Tippen Sie ein resetpasswordund drücken Sie die Eingabetaste. Ein Fenster zum Zurücksetzen des Kennworts wird geöffnet.
    4. Wählen Sie Ihren Benutzernamen aus dem Dropdown-Menü mit der Bezeichnung Wählen Sie das Benutzerkonto (NICHT Systemadministrator / root).
    5. Klicken Sie unten im Fenster im Abschnitt Berechtigungen und ACLs für den Basisordner zurücksetzen auf die Schaltfläche Zurücksetzen.
    6. Beenden Sie das Kennwort-Dienstprogramm und kehren Sie zum Hauptbildschirm für die Wiederherstellung zurück.
    7. Drücken Sie auf Ihrer Tastatur Cmd ⌘ Q und starten Sie Ihren Computer neu (oder wählen Sie > Neu starten in der Menüleiste). Es ist sehr wichtig, dass Sie den Netzschalter nicht gedrückt halten, um die Wiederherstellungssitzung zu beenden. Andernfalls wird der ACL-Reset nicht durchgeführt.

Weder /Usersder private Ordner noch der einzelne private Ordner sind durch SIP geschützt. Warum also nicht einfach ausführen chmod 755 ~? Und wie hilft dies hier überhaupt? Die Benutzer haben anscheinend bereits Schreibzugriff auf den Basisordner (und die einzige ACL verhindert auch nicht die Ordnererstellung durch den Benutzer).
Nohillside

Onyx kann sie nicht mehr zurücksetzen, ohne dies zu durchlaufen - also bin ich mir ziemlich sicher, dass es mehr tut als nur das pauschale Ändern von 755 [Ich kann es nicht beweisen, weil meine nix-Koteletts schrecklich sind, aber wenn es vorher gemacht werden könnte SIP & kann jetzt nicht durchgeführt werden, das ist meine logische Schlussfolgerung]
Tetsujin

1
Ich habe gerade versucht, Ihren eigenen Home-Ordner zu modifizieren. Das funktioniert wie erwartet :-) Vielleicht steckt noch mehr dahinter (und es könnte sogar die Probleme des OP lösen), aber im Moment sieht es für mich ein bisschen nach Magie aus .
Nohillside

@patrix - Hast du xattr ausprobiert? Es ist nicht etwas, mit dem ich wirklich spielen möchte, denn wenn ich es breche, besitze ich zwei Hälften ;-)
Tetsujin

1
Ich habe die Benutzervorgaben von der Wiederherstellung zurückgesetzt - sorgfältig darauf bedacht, richtig zu beenden. Keine Änderung. (Ich habe das Passwort nicht wirklich geändert, sondern nur die Berechtigungen und
Zugriffssteuerungslisten für den Basisordner, die anscheinend
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.