Written by
Charlotte LeeSchnelle Lösungen für "ls: Operation not permitted" beim SSHing auf einen Mac:
1. Gewähren Sie dem Terminal, sshd-keygen-wrapper und sshd den vollen Festplattenzugriff
Apfelmenü > Systemeinstellungen > Datenschutz & Sicherheit > Vollständiger Festplattenzugriff und aktivieren Sie dann den Vollzugriff für die drei Programme.
2. Wechseln Sie zu SSH auf einen anderen Mac als root
Führen Sie den ls-Befehl mit sudo aus
3. Aktivieren Sie 'Remote Login' in der Freigabe erneut
Systemeinstellungen > Allgemein > Freigabe, schalten Sie Remote-Login aus und dann wieder ein.
4. Deaktivieren Sie SIP
Geben Sie macOS Recovery > Dienstprogramme > Terminal ein und geben Sie csrutil disable ein
Nachdem Sie SSH (Secure Shell) verwendet haben, um sicher mit einem anderen Mac zu verbinden und den ls-Befehl auszuführen, um den Inhalt eines bestimmten Verzeichnisses aufzulisten, erhalten Sie in Terminal nur den Fehler "ls: Operation not permitted".
Wie dieser Fehler zeigt, bedeutet dies, dass Sie keine Berechtigung haben, auf den Zielordner zuzugreifen. Dies liegt entweder an Fehlern in der SSH-Verbindung, Ihren Nutzerberechtigungseinschränkungen oder Limits vom System.
Um den Fehler "Operation not permitted" mit dem ls-Befehl nach dem SSH auf einen anderen macOS zu beheben, können Sie die unten aufgeführten Tricks als Problembehandlung befolgen.
Gewähren Sie dem Terminal, sshd-keygen-wrapper und sshd vollen Festplattenzugriff
Wenn Sie einen "Operation not permitted"-Fehler beim Ausführen von ls oder dem Zugriff auf bestimmte Verzeichnisse via SSH auf macOS erhalten, liegt dies normalerweise an dem TCC (Transparenz, Zustimmung und Kontrolle) Schutz von macOS.
Indem Sie vollen Festplattenzugriff für das Terminal, sshd-keygen-wrapper und sshd gewähren, können sie diese TCC-Beschränkungen umgehen und so auf geschützte Bereiche des SSH-verbundenen Macs zugreifen.
- Klicken Sie auf das Apfelmenü > Systemeinstellungen > Datenschutz & Sicherheit > Vollständiger Festplattenzugriff.
- Aktivieren Sie Terminal und sshd-keygen-wrapper.
- Klicken Sie auf die Schaltfläche hinzufügen (+).
- Wählen Sie im Popup macOS (oder Macintosh HD) unter Orte aus und drücken Sie Command - Shift - . (die Punkt-Taste), um den versteckten usr-Ordner anzuzeigen.
- Suchen und wählen Sie sshd im sbin-Ordner aus und klicken Sie auf Öffnen, um es der Liste des vollen Festplattenzugriffs hinzuzufügen.
Hinweis: Der Pfad des usr-Ordners ist /usr/sbin/sshd. - Aktivieren Sie SSHD dort.
Nachdem Sie dem Terminal, sshd-keygen-wrapper und sshd den vollständigen Festplattenzugriff gewährt haben, überprüfen Sie, ob der Fehler "ls: Operation not permitted" auftritt oder nicht.
Teilen Sie diesen Trick, um den Fehler "ls: Operation not permitted" zu beheben, mit anderen.
Wechseln Sie zu SSH in einen anderen Mac als Root
Mit dem verbesserten Sicherheitsschutz von Mac hat Ihr normaler Benutzer möglicherweise auch mit SSH-Zugriff nicht die volle Berechtigung. Wenn Sie den Befehl ls verwenden, um die Dateien eines Ordners anzuzeigen, ändern Sie auf den Befehl sudo ls /Zielverzeichnis auszuführen.
Wenn das Problem weiterhin besteht, versuchen Sie die nächste Methode.
Aktivieren Sie "Fernzugriff" in Freigabe erneut
Die Funktion Remote Login in den Freigabeeinstellungen ermöglicht es dem SSH-Server auf Ihrem Mac, eine sichere Verbindung zu einem anderen Mac herzustellen.
Wenn der Fehler "ls: Operation not permitted" auftritt, nachdem Sie sich über SSH mit macOS verbunden haben, kann das erneute Aktivieren von "Fernzugriff" in der Freigabe die Lösung sein, da dadurch der SSH-Server (sshd) neu gestartet wird und mögliche Fehler im SSH-Server beseitigt werden.
- Gehen Sie zum Apple-Menü > Systemeinstellungen > Allgemein > Freigabe.
- Scrollen Sie nach unten, um Remote Login zu finden.
- Deaktivieren Sie Remote Login und aktivieren Sie es nach einem Moment erneut.
SIP deaktivieren
Wenn beim SSHing auf einen M1 Mac oder einen anderen Mac der Fehler "ls: Operation not permitted" angezeigt wird, sollten Sie in Betracht ziehen, SIP zu deaktivieren. Bei modernen Macs ist der Sicherheitsschutz erheblich verbessert. SIP kann nicht remote umgangen werden. Versuchen Sie daher, SIP vorübergehend zu deaktivieren, damit Sie ls verwenden können, um den Verzeichnisinhalt nach dem SSHen in einen Mac zu überprüfen.
- Starten Sie Ihren Mac im Wiederherstellungsmodus.
Auf einem Intel-basierten Mac starten Sie das Gerät neu, während Sie die Tasten Command - Shift - R gedrückt halten, bis das Apple-Logo oder der drehende Globus erscheint.
Auf einem Apple Silicon Mac schalten Sie den Mac aus, drücken die Ein-/Aus-Taste (Touch ID), bis die Startoptionen angezeigt werden, wählen Sie Optionen > Fortfahren. - Klicken Sie auf Dienstprogramme in der oberen Menüleiste > Terminal.
- Geben Sie den folgenden Befehl ein. csrutil disable
- Beenden Sie das Terminal und starten Sie Ihren Mac neu.
Nach dem SSH mit einem anderen Mac denken Sie daran, SIP mit dem Befehl - csrutil enable im macOS-Wiederherstellungsmodus zu aktivieren.
Wenn Ihnen dieser Beitrag hilft, den Fehler "ls: Operation not permitted" beim SSHen in macOS zu beheben, teilen Sie ihn mit mehr Menschen.