Aller au contenu
Bientot le SIte Couillaman.VIP ×
Vie du geek le forum entre geek

Inscrivez-vous maintenant pour accéder à toutes nos fonctionnalités. Une fois inscrit et connecté, vous pourrez créer des sujets, publier des réponses aux discussions existantes, donner de la réputation à vos collègues, obtenir votre propre messager privé, publier des mises à jour de statut, gérer votre profil et bien plus encore. Si vous avez déjà un compte, connectez-vous ICI autrement Inscription un compte gratuit aujourd'hui!

dokkun

Installer un sftp avec chroot sur debian

Messages recommandés

Introduction

 

Ce tutoriel explique pas à pas comment installer un serveur sftp sur debian wheezy avec les droits d'accès qui vont bien sur les répertoires.

Installation de base

SFTP se base sur ssh. Il faut installer quelques packages :

# basic ssh packages

apt-get install ssh openssh-server

Création du groupe unix sftp_chroot

Ce groupe contiendra la liste des users qui peuvent se connecter en sftp

addgroup sftp_chroot
Configuration sshd_config

Evolutions à faire dans /etc/ssh/sshd_config

# Vérifier qu'on a bien :

Subsystem sftp /usr/lib/openssh/sftp-server

# ajouter à la fin du fichier :

Match Group sftp_chroot

ChrootDirectory /home/%u

ForceCommand internal-sftp

AllowTcpForwarding no

# pensez à relancer le serveur ssh : /etc/init.d/ssh restart

Créer un compte sftp
Créer un user unix

Créer un user unix classique

useradd testuser --gid sftp_chroot --groups sftp_chroot -m --shell /bin/false
droits d'accès sur le home directory

Pour empêcher le sftp de remonter dans l'arborescence, on peut jouer avec les droits d'accès

# base directory given to root only

chown root /home/testuser

chmod go-w /home/testuser

# create a writable directory

mkdir /home/testuser/writeable

chown testuser:sftp_chroot /home/testuser/writeable

chmod ug+rwX /home/testuser/writeable

Le script qui fait tout pour vous

Voilà un petit script bash qui fait tout pour vous.

N'utilisez le qu'une fois que vous avez compris ce que vous faites. Et si ça casse tout chez vous, je plaide non coupable :-).

#/bin/bash

# author : Philippe Le Van, twitter: @plv

USER_NAME=$1

SFTP_GROUP_NAME=sftp_chroot

if [ "x$USER_NAME" == "x" ]; then

echo "you have to provide a user name"

exit;

fi

getent group $SFTP_GROUP_NAME > /dev/null 2&>1

if [ $? -ne 0 ]; then

echo "group $SFTP_GROUP_NAME does not exist.";

echo "see this (french) tutorial : http://www.kitpages.fr/fr/cms/193/installer-un-sftp-chroote-sur-debian";

exit;

fi

getent passwd $USER_NAME > /dev/null 2&>1

if [ $? -eq 0 ]; then

echo "user already exists";

exit;

fi

useradd $USER_NAME --gid $SFTP_GROUP_NAME --groups $SFTP_GROUP_NAME -m --shell /bin/false

echo "user created";

# base directory given to root only

chown root /home/$USER_NAME

chmod go-w /home/$USER_NAME

# create a writable directory

mkdir /home/$USER_NAME/writeable

chown $USER_NAME:$SFTP_GROUP_NAME /home/$USER_NAME/writeable

chmod ug+rwx /home/$USER_NAME/writeable

echo "access right ok";

echo "change password";

passwd $USER_NAME

Partager ce message


Lien à poster
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement

×
×
  • Créer...