SFTP fatal schlechte Eigentümerschaft oder Modi für Chroot-Verzeichnis Ubuntu 12.04

12

Ich habe gerade meinen SFTP-Server eingerichtet und er funktioniert einwandfrei, wenn ich ihn von meinem ersten Benutzerkonto aus verwende. Ich wollte einen Benutzer hinzufügen, den wir "Magnarp" nennen werden. Zuerst hat mir das in sshd_config gefallen:

Subsystem sftp internal-sftp


Match group sftponly
    ChrootDirectory /home/%u
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

Das hat gut funktioniert, Benutzer magnarp ist in sein Home-Verzeichnis gegangen. Ich habe dann versucht, einen symbolischen Link hinzuzufügen.

home$ sudo ln -s /home/DUMP/High\ Defenition/ /home/magnarp/"High Defenition"

Der Symlink funktionierte problemlos über SSH, jedoch nicht über SFTP.

Also, was ich jetzt tun möchte, ist, die Gruppe sftponly nach / home / DUMP zu verschieben, und mir hat das gefallen:

Match group sftponly
    ChrootDirectory /home/DUMP
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

Der Ordner DUMP verfügt über die folgenden Berechtigungen.

drwxrwxrwx  5 root     root      4096 aug 18 02:25 DUMP

Und das ist der Fehlercode:

Aug 18 16:40:29 nixon-01 sshd[7346]: Connection from 192.168.1.198 port 51354
Aug 18 16:40:30 nixon-01 sshd[7346]: Accepted password for magnarp from 192.168.1.198 port 51354 ssh2
Aug 18 16:40:30 nixon-01 sshd[7346]: pam_unix(sshd:session): session opened for user    magnarp by (uid=0)
Aug 18 16:40:30 nixon-01 sshd[7346]: User child is on pid 7467
Aug 18 16:40:30 nixon-01 sshd[7467]: fatal: bad ownership or modes for chroot directory "/home/DUMP"
Aug 18 16:40:30 nixon-01 sshd[7346]: pam_unix(sshd:session): session closed for user magnarp
Jonathan
quelle

Antworten:

21

sshdhat ein gewisses Maß an Paranoia, wenn es um Chroot-Verzeichnisse geht. Ich glaube nicht, dass dies deaktiviert werden kann (auch nicht mit StrictModes no). Das Chroot-Verzeichnis und alle übergeordneten Verzeichnisse müssen ordnungsgemäß festgelegt sein :

  1. Das Chroot-Verzeichnis und alle seine Eltern dürfen keine Gruppen- oder Weltschreibfähigkeiten haben (dh chmod 755)
  2. Das Chroot-Verzeichnis und alle seine Eltern müssen im Besitz von root sein.

In Ihrem Fall kann der Anmeldefehler mit chmod 755 /home/DUMP Ihrer offensichtlichen Absicht behoben werden, ein von der Welt beschreibbares Verzeichnis zu haben, in das sich der sftpuser einloggen kann, und jeder, der Dateien ablegen kann, kann gelöst werden, indem dieses Verzeichnis zu einem Unterverzeichnis von gemacht wird/home/DUMP/

DerfK
quelle
1
Lief wie am Schnürchen! Vielen Dank. Jetzt muss ich nur noch alle Unterverzeichnisse und auch mein NFS-System reparieren :)
Jonathan
0

A) Was bringt es, Chroot zu machen, wenn das Herstellen von Simlinks dabei hilft, Chroot auszuweichen? (Jeder Benutzer kann einen Simlink hochladen und dann auf das gesamte Dateisystem zugreifen.)

B) Noch ein chmod 777 und du wirst von theo ( http://rlv.zcache.com/i_got_flamed_by_theo_de_raadt_t_shirt_tshirt-p235453348828729121en7rf_210.jpg ) entflammt . Siehe http://lists.mindrot.org/pipermail/openssh-unix-dev/2010-January/028151.html, um zu verstehen, warum openssh in Bezug auf Chroot-Verzeichnisberechtigungen so wählerisch ist.


quelle