Installation accès FTP/SFTP user dans un autre répertoir user

Tags: #<Tag:0x00007fb4185063f0>

Bonjour à tous,

J’ai une petite problématique, j’ai un serveur sous debian avec un site web qui se situe dans le répertoire :

/home/user1/www/

Je voudrai créer un accès (s)FTP à un user2 qui n’aurait accès qu’a /home/user1/www/*

est-ce que cela est possible ? si oui comment, je n’ai pas trouvé de solution

Merci

Salut,

Oui c’est possible et meme recommandé dans les best practices d’ftp. Je l’ai deja fait il y a un moment pour manipuler des bdd

1 J'aime

Tu peux utiliser les permissions Unix pour restreindre les accès.
Par exemple, si tu ne mets pas user2 dans le groupe www-data, tu peux mettre un chmod en 0750 sur le dossier /home/user1/www/ et le faire appartenir à l’utilisateur user1 et au groupe www-data, user2 n’aurait aucun accès au dossier.
En fait, les fichiers dans le dossier peuvent être accessibles à tout le monde, comme seuls user1 et les membres du groupe www-data peuvent le traverser, il n’est pas possible de voir quoique ce soit pour les autres.

1 J'aime

ça me semble être la bonne solution, sauf que je ne veux pas dire /home/user1/www appartient à user2 (chown user2:user2 /home/user1/www) ? c’est pour ça que je ne trouve pas de solution à mon problème

Et quid de créer un group sftp et d’y coller l’utilisateur voulu? et en lui limitant l’acces aux repertoires voulus?

C’est exactement ce que je cherche à faire je cherche juste la bonne procédure pour le faire ^^ étant donné qu’il s’agit d’un site en production, je ne veux pas me planter

Jamais ne faire ca
Créez une image de votre serveur et testez en local

En plus c’est vendredi :slight_smile:

Je n’ai pas dit que j’allais faire ça aujourd’hui :stuck_out_tongue: justement je prend un peu d’avance ^^

Il faut que vous jouiez avec des groupes créés spécifiquement pour ce chemin. Le problème est je n’en sais pas assez sur votre infra pour voir ce qui est possible.
Par exemple que ferait cet utilisateur qui se connecterait en sftp?

Je pense que le lien redhat initial serait le mieux en l’adaptant par exemple en changeant les répertoires et les groupes

Faites une image de votre serveur et testez

je veux qu’il puisse lire et écrire mais UNIQUEMENT dans le dossier /home/user1/www/*

Avez vous étudié la proc redhat? pour voir comment l’adapter?

edit:

je vs conseille d’installer un serveur web virtualisé et d’essayer ca, cette methode me derange un peu car je pense qu’il serait peut etre preferable de fonctionner par des permissions attribuées à un groupe spécifique , mais bon…à voir

1 J'aime

Je vais essayer cette solution,
Merci @loicmtp

J’ai écris ce tutoriel :

Tu peut faire un lien symbolique pour accédez, donner le répertoire du site a chaqu’un des utilisateurs.

Ce sont des utilisateurs virtuel, qui n’ont pas de compte SSH. C’est çà l’important. De plus, les directory des users FTPs sont enfermés, il, elles ne peuvent pas remonter l’arborescence de la machine (et savoir qui, ou qu’est ce qu’il se trouve dans la machine).

Par contre il faut compiler à la main Pure-FTPd.

Romain

Que pensez vous de :

sudo addgroup www-users
sudo usermod -aG www-users user1
sudo usermod -aG www-users user2
sudo chown -R user1:www-users /home/user1/www
sudo chmod -R 775 /home/user1/www

Et ensuite configurer ftp

J’ai réussi en faisant ceci :

 adduser user2
 chown -R root:root /home/user2 ; chmod 755 -R /home/user2 
 mount -o bind /home/user1/www /home/user2/www

et j’ai ajouté ceci dans mon sshd_config

Match user user2
ChrootDirectory /home/user2
ForceCommand internal-sftp 

Et du coup je me retrouve avec un accès sftp limité à mon dossier www sans donner accès a user1

Moi, j’aime bien - avoir aucun compte « personnel » sur mes machines, que les comptes « services » et gèrer les comptes des personnes dans un truc dédié au service - fichier, base de données, annuaires.

:blush:

Bonne journée.