Ich bin Eigentümer eines Ordners, kann aber nicht darauf zugreifen

Ich bin Eigentümer eines Ordners, kann aber nicht darauf zugreifen

Darin liegt ein Ordner mit meinen Notizen zum System.

Ich bin als Benutzer1 angemeldet

cd masternoteserzeugt:

bash: cd: mastersnotes: permission denied

whoamierzeugt:user1

ls -lerzeugt:

drw-rw-rw-. 2 user1 user1        4096 Mar 26 20:47 masternotes

ls -linnerhalb des Verzeichnisses wird Folgendes erzeugt:

-rw-rw-rw-. 7 user1 user1   345 Oct  7  2006 crontab
-rw-rw-rw-. 7 user1 user1   348 Oct  7  2006 crontab~
-rw-rw-rw-. 7 user1 user1  3702 Oct  7  2006 grep_usage.txt
-rw-rw-rw-. 7 user1 user1 91868 Oct  7  2006 lvm-layout-10-14-03.tif
-rw-rw-rw-. 7 user1 user1    30 Oct  7  2006 mysql
-rw-rw-rw-. 7 user1 user1 35764 Oct  7  2006 notes

chmod -R 666 masternotesIch bin auf den Ordner zugelaufen .

chownIch bin zu Root und chgrpdann zu Root und wieder zurück zu Benutzer1 gelaufen .

Root kann heruntersteigen, den Ordner aufrufen und die Datei öffnen.

Benutzer1 kann nicht.

Irgendwelche Hinweise, was hier vor sich geht?

Antwort1

Das ist einBerechtigungenProblem, kein Eigentumsproblem.

In den Berechtigungen, die Sie uns gezeigt haben, fehlen auffälligerweise die Ausführungsberechtigungen (abgekürzt xund dort angezeigt, wo -in steht ).rw-

Ausführungsberechtigungen funktionieren für Verzeichnisse ganz anders als für normale Dateien. Für Verzeichnisse ermöglichen AusführungsberechtigungenGeben Sie das Verzeichnis ein(d. h., um cddarauf zuzugreifen oder es in einem Dateimanager zu öffnen). Sie bieten auch die Möglichkeit, zu versuchen, auf Dateien im Verzeichnis zuzugreifen (ob dies gelingt, hängt allerdings auch von anderen Berechtigungen ab, manchmal auch von den Berechtigungen der Dateien, auf die zugegriffen wird).

rootkann das Verzeichnis betreten, da es nicht wie üblich an Berechtigungen gebunden ist. Befehle und Anwendungen, die als ausgeführt werden, rootversuchen in vielerlei Hinsicht, Berechtigungen zu respektieren, um den Wünschen des Benutzers zu entsprechen. rootHat jedoch die Berechtigung, jede Operation (die das Betriebssystem ausführen kann) für jede Datei oder jedes Verzeichnis auszuführen. In einer rootShell cdist der Zugriff auf ein Verzeichnis ohne Ausführungsberechtigung erfolgreich.

Die LösungZur Lösung des Problems führen Sie Folgendes aus:

chmod u+x masternotes

Dadurch erhält ( +) der Eigentümer von masternotes( u) ausführbare Berechtigungen ( x) für das Verzeichnis.

Anschließend können Sie das Verzeichnis aufrufen und als normaler Benutzer versuchen, auf die dort vorhandenen Dateien zuzugreifen.

Wenn Sie möchten, dass dies auch den Mitgliedern des Gruppenbesitzers möglich ist, können Sie stattdessen Folgendes ausführen:

chmod ug+x masternotes

Aber Sie sind wahrscheinlich das einzige Mitglied Ihrer benutzerspezifischen Gruppe (dem der Ordner gehört).

Der chmodBefehl hiernichtmuss ausgeführt werden als root--es ist Absicht, dass ichnichtsudoin beiden Befehlen enthalten . Sieeigenden Ordner, sodass Sie seine Berechtigungen selbst ändern können. Sie müssen das nicht rootfür Sie tun.

Falls Sie interessiert sind anAusführungsberechtigungen numerisch festlegen, denken Sie daran, dass für jede Ziffer, die Sie hinzufügen (beginnend mit Null):

  • 4 zum Lesen.
  • 2 zum Schreiben.
  • 1 für Ausführen.

Zum Beispiel, wenn Sie möchten, dass jeder lesen und ausführen kannsome-fileaber nur der Eigentümer schreiben kann, verwenden Sie:

chmod 755 some-file

Ich empfehleFilePermissions in der Community-Dokumentation, für weitere Informationen zu Dateiberechtigungen in Ubuntu, einschließlich des ausführbaren Bits und seiner besonderen Bedeutung für Ordner.

verwandte Informationen