Schreibgeschützten Zugriff auf bestimmte Ordner gewähren?

12

Ich möchte einem Benutzer nur Lesezugriff gewähren, möchte jedoch, dass er / sie nur die genauen Ordner sieht, auf die ich Zugriff habe. Zum Beispiel sollte er / sie nicht auf dem gesamten Server herumlaufen und zu allen Benutzerordnern usw. navigieren, auch wenn er / sie nur nach oben, nach oben, nach oben geht. Ich möchte, dass er / sie nur zu diesen bestimmten Ordnern geht, die ich zulasse. Wie kann ich also zunächst einem bestimmten Benutzer Zugriff auf einen bestimmten Ordner gewähren und dann helfen, symbolische Links zu seinem / ihrem Basisordner zu setzen? Sie können also direkt in die erforderlichen Ordner wechseln, aber nicht nach oben oder unten?

Anarkie
quelle
@Creek Nein, das ist ein relevanter Hintergrund, aber es erklärt nicht, wie dies eingerichtet wird.
Gilles 'SO - hör auf böse zu sein'
@ Gilles Sie haben Recht, dies sieht relevanter Chroot-Umgebung für SSH mit Debian
Creek

Antworten:

10

Sie sollten die erforderlichen Verzeichnisberechtigungen festlegen. Für Verzeichnisse sind sie:

  • read : darf Dateien und Unterverzeichnisse in diesem Verzeichnis anzeigen
  • Schreiben : Erlaubt das Erstellen von Dateien und Unterverzeichnissen in diesem Verzeichnis
  • execute : darf in ein Verzeichnis eintreten.

Bei Dateien ist die Situation ähnlich, es liegt auf der Hand, sodass Sie selbst damit umgehen können.

Numerisch diese Berechtigungen:

  • lesen - 4
  • schreiben - 2
  • ausführen - 1

Verwenden Sie zum Bearbeiten von Berechtigungen chmod. Verwendungszweck:chmod xyz <file or directory>

  • x - die Summe der Besitzer Berechtigungen
  • y - die Summe der Eigentümergruppe Berechtigungen
  • z - die Summe der Berechtigungen für Restbenutzer / Gruppen

Beispiel:

$ chmod -R 664 /home/jack/

Die Gruppe von jack und jack hat Lese- und Schreibzugriff auf / home / jack und alle seine Unterverzeichnisse. Der Rest hat nur Lesezugriff. -ROption hier zum rekursiven Festlegen von Berechtigungen.

Anderes Beispiel:

$ chmod 700 /home/jack/video/

gibt Jack vollen Zugriff auf das /home/jack/videoVerzeichnis. Siehe auch : chown, chgrpzum Ändern des Eigentümers und der Eigentümergruppe.

milos
quelle
1
Während dies ein marginal relevanter Hintergrund ist, geht es bei der Frage nicht um die Details der Verzeichnisberechtigungen, sondern um das Einrichten einer eingeschränkten Umgebung.
Gilles 'SO - hör auf böse zu sein'
1
chrootIch nehme an, hier besteht keine Notwendigkeit , das Problem kann leicht gelöst werden, indem die erforderlichen Berechtigungen festgelegt werden.
Milos
3

Ich lese auch nicht notwendig, um Chroots einzurichten. Weisen Sie eine strikte Berechtigung zu, um zu verhindern, dass übergeordnete Verzeichnisse aufgerufen werden.

$ mkdir --parent 1/2/3
$ ls 1
2
$ chmod 100 1
$ ls 1
ls: cannot open directory 1: Permission denied
$ ls 1/2
3

Wenn wir einem Benutzer Zugriff auf / home / 1 gewähren möchten, den Benutzer jedoch darauf beschränken möchten, nicht zu sehen, welche anderen Materialien in / home wir / home im Besitz von root hand haben, haben Sie die Berechtigung 111. Somit weiß der Benutzer nie, ob / home / 2 jemals existiert.

把 友情 留 在 无 无
quelle