SFTP fatale mauvaise propriété ou modes pour le répertoire chroot ubuntu 12.04

12

Je viens de configurer mon serveur SFTP et cela fonctionne bien lorsque je l'utilise depuis mon premier compte utilisateur. Je voulais ajouter un utilisateur que nous appellerons «magnarpe». Au début, j'ai aimé ça dans sshd_config:

Subsystem sftp internal-sftp


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

Cela a bien fonctionné, l'utilisateur magnarp est allé dans son répertoire personnel. J'ai ensuite essayé d'y ajouter un lien symbolique.

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

Le lien symbolique a bien fonctionné via SSH mais pas via SFTP.

Donc, ce que je veux faire maintenant, c'est faire un groupe Chroot dans / home / DUMP et j'ai aimé ceci:

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

Le dossier DUMP dispose des autorisations suivantes.

drwxrwxrwx  5 root     root      4096 aug 18 02:25 DUMP

Et voici le code d'erreur:

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
la source

Réponses:

21

sshda un certain niveau de paranoïa en ce qui concerne les répertoires chroot. Je ne pense pas que cela puisse être désactivé (même avec StrictModes no). Le répertoire chroot et tous les répertoires parents doivent être correctement définis :

  1. Le répertoire chroot et tous ses parents ne doivent pas avoir de capacités d'écriture de groupe ou de monde (ie chmod 755)
  2. Le répertoire chroot et tous ses parents doivent appartenir à root.

Dans votre cas, l'erreur de connexion peut être corrigée avec chmod 755 /home/DUMP votre intention apparente d'avoir un répertoire accessible en écriture dans lequel sftpuser peut se connecter et tout le monde peut y placer des fichiers peut être résolu en faisant de ce répertoire un sous-répertoire de/home/DUMP/

DerfK
la source
1
A fonctionné comme un charme! Je vous remercie. Il ne me reste plus qu'à réparer tous les sous-répertoires et mon système NFS aussi :)
Jonathan
0

A) À quoi servirait-il de faire du chroot si la création de liens simples aiderait à échapper au chroot? (Tout utilisateur peut télécharger un lien sim et avoir accès à l'ensemble du système de fichiers)

B) Encore un chmod 777 et vous serez flammé par theo ( http://rlv.zcache.com/i_got_flamed_by_theo_de_raadt_t_shirt_tshirt-p235453348828729121en7rf_210.jpg ). Voir http://lists.mindrot.org/pipermail/openssh-unix-dev/2010-January/028151.html pour comprendre pourquoi openssh est si pointilleux sur les autorisations du répertoire chroot.


la source