Wie erstelle ich einen Benutzer mit schreibgeschütztem Zugriff über SSH auf einen begrenzten Teilbaum von Ordnern?

7

Ich habe einen Debian-Server und möchte mehreren Benutzern schreibgeschützten Zugriff auf einen Teilbaum von Ordnern auf diesem Server gewähren. Gibt es eine Möglichkeit, dies zu tun, ohne die Rechte aller Dateien und Ordner manuell zu ändern?

Marius
quelle

Antworten:

5

Wenn Sie sie wirklich so weit wie möglich einschränken möchten, empfehle ich eine chrooted ssh-Installation. Auf diese Weise können sie das zugrunde liegende System nicht durchsuchen, selbst wenn sie es geschafft haben, ihren Baum auszubrechen.

Die Debian-Leute haben einen Leitfaden zu diesem Thema.

Andrew Williams
quelle
1
Ein Link dafür ist howtoforge.com/chrooted_ssh_howto_debian
Andy
1
debian.org/doc/manuals/securing-debian-howto/… für das Debian-Handbuch eins.
Andrew Williams
1

Das ursprüngliche (von openbsd) sshd kann eine vollständige Chroot ausführen, indem es aus sshd_config zitiert:

ChrootDirectory

         Specifies a path to chroot(2) to after authentication.  This
         path, and all its components, must be root-owned directories that
         are not writable by any other user or group.  After the chroot,
         sshd(8) changes the working directory to the user's home directo-
         ry.

         The path may contain the following tokens that are expanded at
         runtime once the connecting user has been authenticated: %% is
         replaced by a literal '%', %h is replaced by the home directory
         of the user being authenticated, and %u is replaced by the user-
         name of that user.

         The ChrootDirectory must contain the necessary files and directo-
         ries to support the user's session.  For an interactive session
         this requires at least a shell, typically sh(1), and basic /dev
         nodes such as null(4), zero(4), stdin(4), stdout(4), stderr(4),
         arandom(4) and tty(4) devices.  For file transfer sessions using
         ``sftp'', no additional configuration of the environment is nec-
         essary if the in-process sftp server is used, though sessions
         which use logging do require /dev/log inside the chroot directory
         (see sftp-server(8) for details).

         The default is not to chroot(2).
Akira
quelle
1

rssh macht genau das. Von pizzashack.org :

rssh ist eine eingeschränkte Shell zur Verwendung mit OpenSSH, die nur scp und / oder sftp zulässt. Es enthält jetzt auch Unterstützung für rdist, rsync und cvs. Wenn Sie beispielsweise einen Server haben, von dem Benutzer nur Dateien über scp kopieren dürfen, ohne Shell-Zugriff zu gewähren, können Sie dazu rssh verwenden. Eine Liste der Plattformen, auf denen rssh bekanntermaßen funktioniert, finden Sie auf der Plattformunterstützungsseite.

elcuco
quelle