Fix: Sie haben derzeit keine Berechtigung, auf diesen Ordner zuzugreifen
Wenn Sie das Linux-Subsystem in Windows, Cygwin oder einer der anderen Möglichkeiten verwenden, um Unix und Windows miteinander zu verbinden, wird möglicherweise der Fehler angezeigt, für den Sie derzeit keine Berechtigung haben, auf diesen Ordnerfehler zuzugreifen. In einer reinen Linux- oder Unix-Umgebung wird möglicherweise ein Fehler angezeigt, der so etwas wie Fehler beim Öffnen des Verzeichnisses lautet: Berechtigung verweigert. Dasselbe kann auf Netzwerklaufwerken passieren, die von einem POSIX-kompatiblen Dateisystem aus bedient werden, unabhängig davon, von welchem Betriebssystem auf die Daten zugegriffen wird.
Die Ursache für dieses Problem ist in allen Fällen dieselbe. Sie haben ein Verzeichnis konfiguriert, um den Zugriff einzuschränken, und versuchen dann, von einem Konto aus darauf zuzugreifen, das nicht über die richtigen Berechtigungen verfügt. Dies zu beheben ist so einfach wie das Anmelden bei einem anderen Konto oder das Ändern der Ordnerberechtigungen.
Methode 1: Ändern von Konten in Zugriffsverzeichnisse
Versuchen Sie, auf den Ordner zuzugreifen, in den Sie gelangen möchten. Wenn Sie versuchen, über die Eingabeaufforderung eine CD darauf abzurufen, wird ein Befehl angezeigt, der etwa bash lautet: cd: Berechtigung verweigert.
Sie erhalten eine ähnliche Fehlermeldung, wenn Sie versuchen, über eine grafische Umgebung auf das Verzeichnis zuzugreifen.
In diesem Fall haben wir versucht, auf das Verzeichnis / lost + found zuzugreifen, das in den meisten Linux-Installationen für alle Benutzer außer dem Root-Benutzer gesperrt ist. Geben Sie im Terminal sudo -i ein und drücken Sie die Eingabetaste. Sie werden aufgefordert, Ihr Passwort einzugeben, haben dann aber eine Root-Login-Shell. Sie können in das Verzeichnis cd und sich umschauen, aber bitte denken Sie daran, dass Sie von einer Root-Shell aus arbeiten und daher sehr destruktiv sein können.
Wenn Sie lieber auf Ihrem normalen Konto bleiben möchten, versuchen Sie es mit sudo ls / lost + found, um zu sehen, was sich in diesem Verzeichnis befindet, ohne den Befehl sudo -i ausführen zu müssen. Sie können / lost + found durch den Namen eines beliebigen Verzeichnisses ersetzen, einschließlich des Verzeichnisses / root. Denken Sie daran, dass Sie durch das Voranstellen von Befehlen mit sudo fast alles zerstören können.
Methode 2: Ändern der Standardberechtigungen für einen Ordner
Die erste Methode ist äußerst einfach und funktioniert mit jedem Ordner, den Sie nur für die Systemwartung oder ähnliches ansehen möchten. Möglicherweise möchten Sie jedoch andere Optionen untersuchen, wenn Sie regulären Benutzern den Zugriff auf einen Ordner ermöglichen möchten, selbst wenn sie sich auf einem Server oder in einem Netzwerk befinden.
Führen Sie den Ordner sudo chmod -R 755 / path / to / aus und ersetzen Sie den Pfad durch den tatsächlichen Pfad des Verzeichnisses, auf das Sie zugreifen möchten. Versuchen Sie anschließend, über ein reguläres Benutzerkonto darauf zuzugreifen. Dies ist etwas komplizierter als die oben beschriebene Methode, aber sicherer und dauerhafter, da das Root-Konto nach dem ersten Mal nicht mehr verwendet werden muss.
In den meisten Situationen können Sie mit diesen Berechtigungen von Anfang an Verzeichnisse erstellen. Verwenden Sie mkdir -m 755, um Rot, Schreiben und Ausführen für Benutzer mit Lesen und Ausführen für andere Benutzer zuzulassen. In beiden Fällen können Sie stattdessen 777 verwenden, wodurch jeder, der in der Dateistruktur angemeldet ist, die Berechtigung erhält, mit diesem Verzeichnis zu tun, was er möchte. Es gibt zwar Fälle, in denen Sie dies tun möchten, z. B. auf einem Wechselspeicher, um Dateien manuell zwischen zwei Computern zu verschieben. Überlegen Sie jedoch sorgfältig, ob dies sinnvoll ist, wenn Sie dies auf einem lokalen Dateisystem tun. Wenn Sie stattdessen das Flag -p verwenden, erhält das neue Verzeichnis alle Berechtigungen, die als Standard gelten. In der Regel funktioniert dies auch, wenn es nackt ausgeführt wird.
Sie können sicherstellen, dass Dateien auch beim Kopieren über die richtigen Berechtigungen verfügen. Versuchen Sie es mit rsync –perms –chmod Fu + w, wenn Sie dem Eigentümer eine Schreibberechtigung für Dateien erteilen möchten. Sie können auch andere Kombinationen angeben. Sie können –chown = mit rsync verwenden, gefolgt von einem Benutzernamen, einem Doppelpunkt und ihrer Gruppe, sodass kopierte Dateien auch die richtigen Zuweisungen erhalten.
Da rsync sehr nützlich ist, um POSIX-kompatible Dateistrukturen zwischen Windows und Linux zu kopieren, sollten Sie während der Verwendung mit einigen verschiedenen chmod-Konfigurationen experimentieren. Ein weiterer Befehl, den Sie möglicherweise ausprobieren möchten, ist die Installation. Führen Sie install -m 777 gefolgt von Ursprung und Ziel für eine Datei aus, um ihr sofortigen Lese- und Schreibzugriff für alle zu gewähren. Sie können aus Sicherheitsgründen 755 oder eine andere Kombination verwenden.
Dies ist sicherlich nicht so schnell wie rsync, funktioniert jedoch möglicherweise in Situationen, in denen Sie Berechtigungen genau angeben möchten, um die Fehlertypen “Sie haben derzeit keine Berechtigung zum Zugriff auf diesen Ordner” zu beheben.