Erstellen eines Verzeichnisses in / home unter MacOS Sierra


7

Ich habe diesen alten PHP-Code, den ich geerbt habe. Es gibt Hardcode-Verweise auf / home / project überall dort, wo ich sie nicht ändern kann.

Ich bin auf MacOS / Sierra und kann keinen Ordner in / home erstellen

sudo mkdir / home / myproj

mkdir: / home / myproj: Operation wird nicht unterstützt

Ich bin nicht neu in Linux, sondern neu in MacOS

Ich habe auch sudo ausprobiert und werde es trotzdem nicht zulassen.

Ich dachte auch, vielleicht ein Symlink, aber immer noch nicht erlaubt.

Ich habe versucht, SIP zu deaktivieren

$ csrutil status
System Integrity Protection status: disabled.

Ich bekomme immer noch den gleichen Fehler

mkdir: /home/foo: Operation not supported

1
Da Sie die Skripte nicht ändern können, verweise ich auf einen Artikel zum Deaktivieren von SIP. Auch root kann so geschützte Ordner nicht umgehen.
bmike

Ich folgte den Schritten, um SIP zu deaktivieren. Immer noch das gleiche Problem. Ich habe auch die Beschreibung aktualisiert, um die Änderungen
widerzuspiegeln

Lassen Sie uns dies wieder öffnen. Vielleicht ist es so einfach wie sudo mkdir -p /home/fooeinmal, nachdem Sie die SIP-Schäkel gelöst haben.
bmike

Bei den Skripten würde ich davon ausgehen, dass einige Formen von Linux / home sind. Woher wissen Sie, dass / home der einzige Ort ist, an dem sie das angenommen haben? Sie müssen den gesamten Code überprüfen und ändern, um sicherzustellen, dass er sicher unter Unix ausgeführt wird, z. B. Makros
Mark

Antworten:


9

IIRC / home und / net können von Verzeichnisdiensten wie AD oder OD verwendet werden. Sie sind Einhängepunkte, die von der Datei auto_master erstellt wurden. Normalerweise werden sie für nichts verwendet - besonders auf Macs, die nicht für Unternehmen bestimmt sind.


Kommentieren Sie die Zeile / home auto_home -nobrowse aus, verstecken Sie sich in der Datei / etc / auto_master und geben Sie ein sudo automount -vcoder starten Sie das Programm neu.

Dann solltest du in der Lage sein, / home und jedes weitere Unterverzeichnis mit zu erstellen sudo mkdir -p /home/subdir.

Wenn Sie mit Ihrem PHP-Legacy-Code fertig sind, entfernen Sie den Ordner / home und dessen Inhalt und stellen Sie die alte Datei auto_master wieder her, indem Sie die Zeile / home auskommentieren.


Gut gemacht. Ich bin ein bisschen gedemütigt, dass ich das NIS Automounter-Setup für SIP verwirrt habe. Tolles Schreiben.
bmike
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.