CD in das Verzeichnis ohne Erlaubnis

117

Wenn cdich in eines meiner aufgerufenen Verzeichnisse gehe, wird openfireder folgende Fehler zurückgegeben:

bash: cd: openfire: Permission denied

Gibt es einen Weg daran vorbei?

user812954
quelle

Antworten:

149

Die Antwort von @ user812954 war sehr hilfreich, außer dass ich dies in zwei Schritten tun musste:

sudo su
cd directory

Um den "Super User" -Modus zu verlassen, geben Sie einfach ein exit.

Jonathan
quelle
106

Rufen Sie den Superuser-Modus auf und wechseln Sie in das Verzeichnis, in das Sie nicht wechseln dürfen. Für Sudo ist ein Administratorkennwort erforderlich.

sudo su
cd directory
user812954
quelle
2
makellose Antwort!
Gaurav
46

Wenn es sich um ein Verzeichnis handelt, das Sie besitzen, gewähren Sie sich Zugriff darauf:

chmod u+rx,go-w openfire

Dadurch erhalten Sie die Berechtigung, das Verzeichnis und die darin enthaltenen Dateien ( x) zu verwenden und die darin enthaltenen Dateien aufzulisten ( r). Es verweigert auch Gruppen- und anderen Schreibberechtigungen für das Verzeichnis, was normalerweise korrekt ist (obwohl Sie manchmal zulassen möchten, dass Gruppen Dateien in Ihrem Verzeichnis erstellen - wenn Sie dies tun, sollten Sie jedoch das Sticky-Bit im Verzeichnis verwenden).

Wenn es sich um das Verzeichnis einer anderen Person handelt, benötigen Sie wahrscheinlich Hilfe vom Eigentümer, um die Berechtigungen zu ändern, damit Sie darauf zugreifen können (oder Sie benötigen Hilfe von root, um die Berechtigungen für Sie zu ändern).

Jonathan Leffler
quelle
Ich habe jetzt eine Stunde lang gegoogelt und versucht, die Tatsache zu beheben, dass ich ohne "sudo" (von dem ich wusste, dass es falsch sein musste) nicht SSH konnte - und das hat es behoben. Schließlich!
GrayedFox
25

chmod +x openfirearbeitete für mich. Es fügt dem openfire-Ordner Ausführungsberechtigungen hinzu.

wcyn
quelle
@ Winnemucca Ich bin nicht sicher. Ich habe noch nie mit Docker gearbeitet. Aber ich nehme an, es kann
wcyn
6

Sie haben mehrere Möglichkeiten:

  • Verwenden Sie ein anderes Benutzerkonto, eines mit den xentsprechenden Berechtigungen für dieses Verzeichnis.
  • Ändern Sie die Berechtigungen für das Verzeichnis, damit Ihr Benutzerkonto die Berechtigungen xausführen kann.
    • Entweder verwenden chmod(1), um die Berechtigungen zu ändern, oder
    • Verwenden Sie den setfacl(1)Befehl, um einen Eintrag in der Zugriffssteuerungsliste für Ihr Benutzerkonto hinzuzufügen. (Dies erfordert auch das Mounten des Dateisystems mit der aclOption; siehe mount(8)und fstab(5)für Details zum Mount-Parameter.)

Es ist unmöglich, den richtigen Ansatz vorzuschlagen, ohne mehr über das Problem zu wissen. Warum werden die Verzeichnisberechtigungen so festgelegt, wie sie sind? Warum benötigen Sie Zugriff auf dieses Verzeichnis?

Sarnold
quelle
3

Alternativ können Sie Folgendes tun:

sudo -s
cd directory
howDidMyCodeWork
quelle
1

Wenn Sie nicht über die Sudo-Berechtigung verfügen, diese oder Ihre eigene Benutzergruppe / Ihr eigenes Konto zu ändern, können Sie nicht darauf zugreifen.

man chmodWeitere Informationen zum Ändern der Berechtigungen eines Verzeichnisses finden Sie im Terminal.

John Riselvato
quelle