2016-10-12 2 views
0

Ich lerne Linux und Berechtigungen.dir1 und dir2 chmod 700, dir3 chmod 777 aber ich bekomme Erlaubnis verweigert

Ich habe folgende Ordner dir1/dir2/dir3 und die Datei myfile.txt innerhalb dir3. Ich versuche, chmod 700 zu dir1 und dir2 zu beiden Ordnern und Dateien zu geben, aber zu allen Dateien und Ordnern innerhalb dir3 Ich möchte Erlaubnis geben chmod 777.

Nach this Post Ich habe folgende:

Erlaubnis zu ändern für dir1 und alle Verzeichnisse innerhalb dir1 zu chmod 700

find /home/user/dir1 -type d -exec chmod 700 {} \;

Um alle Dateien innerhalb dir1-chmod 700 zu ändern einschließlich die Unterordner

find /home/user/dir1 -type f -exec chmod 700 {} \;

Danach tat ich folgendes:

Erlaubnis dir3 zu ändern und alle Verzeichnisse innerhalb dir3 zu chmod 777

find /home/user/dir1/dir2/dir3 -type d -exec chmod 777 {} \;

Um Erlaubnis innerhalb dir3 zu allen Dateien zu ändern chmod 700

find /home/user/dir1/dir2/dir3 -type f -exec chmod 777 {} \;

Wenn ich überprüfen Erlaubnis mit ls -al sieht alles gut, aber wenn ich den Benutzer ändern und versuchen, Zugriff auf dir3 und myfile.txt ich immer Nachricht bekommen „Zugriff verweigert“ bin zu bekommen.

Was mache ich falsch? Gibt es einen besseren Weg, den ich will?

Antwort

1

700 bedeutet, dass nur der Besitzer von dir1 und dir2 rwx Zugriff auf dir1 und dir2 hat. Wenn ein anderer Benutzer versuchen wird, auf das Innere von dir1 oder dir2 zuzugreifen, wird er unabhängig von 777 in dir3 nicht erlaubt sein. So überprüfe bitte, ob dein Benutzer der Besitzer ist. Eine Lösung besteht darin, 770 an dir1 und dir2 zu geben, damit die Gruppe (Sie müssen angeben) rwx-Berechtigung haben. Dann können Sie Ihren Benutzer in der Gruppe hinzufügen, so dass nur dieser Benutzer rwx-Zugriff hat.