Accorder à un utilisateur sftp l'accès à un répertoire / var / www

12

J'ai créé un utilisateur et créé son répertoire personnel /var/www/mysite/ftpdir

J'ai également ajouté une entrée d'utilisateur Match pour cet utilisateur dans sshd_config avec un ChrootDirectory qui pointe vers /var/www/mysite

J'ai redémarré ssh pour le récupérer.

Lorsque je me connecte avec sftp - l’utilisateur accède toujours à l’ancien répertoire de l’utilisateur, c’est-à-dire /home/user

Qu'est-ce qui me manque?

    
posée hawkeye 29.05.2012 - 15:59
la source

2 réponses

15

Voici le processus:

  1. Ajoutez l'utilisateur au groupe: sudo usermod -aG www blub comme dans Quel est le moyen le plus simple d'éditer et d'ajouter des fichiers à / var / www"?

    ou utilisez simplement sudo adduser <username> www-data

  2. Installer vsftpd sudo apt-get install vsftpd
  3. Configurez vsftpd pour l’accès à distance: sudo nano /etc/vsftpd.conf et à l’intérieur du jeu de fichiers

    chroot_local_user=YES
    

    et assurez-vous que ceci est commenté:

    #chroot_list_enable=YES
    

    selon documentation .

  4. Redémarrez nsftp: sudo service vsftpd restart
  5. Configurez le répertoire de base de l'utilisateur sur le répertoire Web (pas dans /home ):

    sudo usermod -d /var/www/mysite/ftpaccessdir <username>
    
  6. Configurer ssh chroot

    sudo nano /etc/ssh/sshd_config
    

    ajoutez ce qui suit à la fin:

    Subsystem  sftp  internal-sftp
    Match user <username>
        ChrootDirectory /var/www/site
        ForceCommand internal-sftp
    AllowTcpForwarding no
    

    et assurez-vous que plus loin dans le fichier cela est mis en commentaire (c’est-à-dire avant celui que vous venez d’ajouter)

    #Subsystem sftp /usr/lib/openssh/sftp-server
    
  7. Redémarrer ssh

    sudo service ssh restart
    
  8. Modifier les autorisations pour apache:

    chown root:root /var/www
    chown root:root /var/www/site
    chmod 755 /var/www
    

    Comme dans les documents ici .

  9. Assurez-vous que votre répertoire dispose d'un accès aux données www

    sudo chown -R www-data:www-data /var/www/site
    chmod 755 /var/www/site
    
réponse donnée hawkeye 30.05.2012 - 14:06
la source
2

Si vous obtenez une erreur de connexion à la fin, assurez-vous que "Sous-système sftp internal-sftp" est placé après "UsePAM yes" . Sinon, mettez à jour et redémarrez ssh et cela a fonctionné.

    
réponse donnée Needhi Agrawal 28.07.2015 - 13:47
la source

Lire d'autres questions sur les étiquettes