Je voudrais installer un serveur FTP de base sur mon installation Ubuntu Server. Je joue avec VSFTPD, mais j'ai des problèmes pour que le serveur me permette de créer des répertoires et de copier des fichiers. J'ai configuré le système pour autoriser les utilisateurs locaux, mais il semble que cela ne signifie pas que je puisse accéder à la création de répertoires. Cela peut être un cas où je dois mieux connaître la configuration du serveur Ubuntu afin de configurer correctement ce serveur FTP. L'objectif final est de pouvoir déplacer des fichiers de mon dossier dev local dans mon dossier www pour le déploiement. Les répertoires doivent également pouvoir être déplacés. Toute aide serait grandement appréciée.
33
Réponses:
Je vais recommander PureFTPD car c'est à mon avis le plus simple et le plus facile à utiliser. Vous devrez d'abord l'installer:
sudo apt-get install pure-ftpd
une fois installé, il se lancera tout seul. Par défaut, il utilise les authentifications PAM, ce qui signifie qu'il utilise les comptes qui existent déjà sur le système pour son authentification. Tout ce que vous devez faire est de créer un compte utilisateur avec le répertoire de base constituant votre chemin www et de définir le mot de passe de ce compte. Vous devriez alors pouvoir vous connecter avec cette combinaison utilisateur / passe pour télécharger des fichiers.Quelque chose comme ça:
sudo adduser ftpman --home /var/www/ --ingroup www-data
Ce qui créera l'
ftpman
utilisateur et le placera dans le groupe www-data utilisé par Apache et vous guidera à travers le reste du script d'installation. Une fois que cela est défini, assurez-vous quechmod
le dossier WWW contient des erreurs qui existent déjà pour la combinaison utilisateur / groupe que vous avez créée.Enfin, si vous souhaitez verrouiller l'accès SSH pour ce compte, exécutez:
sudo chsh -s /bin/false ftpman
ce qui modifiera le shell de l'utilisateur en false. (Remplacez ftpman par votre utilisateur ftp)la source
chsh
cela semble également empêcher les utilisateurs de se connecter via FTP. Revenir à lui/bin/bash
permet de fonctionner à nouveau.À mon avis, SFTP est une meilleure solution. Hé, il y a le mot "sécurisé" dans le nom, ça doit être mieux :)
SFTP utilise ssh pour effectuer les transferts de fichiers (par opposition à FTPS, qui est en fait FTP + TLS). Cela signifie que si vous pouvez utiliser ssh sur la machine cible, vous pouvez presque toujours utiliser SFTP, car elle utilise les mêmes mécanismes d'authentification, évitant ainsi l'installation et la configuration de différents démons de serveur (c'est-à-dire sans pureftpd ni vsftpd). Tant que vos autorisations sont correctement définies pour
/var/www
- ce qui est probablement une question desudo chmod g+w /var/www; sudo usermod -g $USER -G www-data $USER
- vous devriez pouvoir utiliser immédiatement SFTP.De nos jours, la plupart des logiciels clients s’adonnent très bien à SFTP, et vous pouvez également utiliser
scp
un shell sur le serveur de développement pour copier des éléments (scp -R
permet de copier des dossiers entiers, et est très pratique). Vous pouvez même aller plus loin et automatiser les connexions avec des clés publiques, ce qui signifie que vous ne devez plus taper de mots de passe :)la source
Je recommande fortement d'utiliser vsftpd. C'est l'un des démons FTP les plus sécurisés sous Linux. Beaucoup d'autres avaient des faiblesses dans le passé et il semble que le FTP soit difficile à mettre en œuvre de manière sécurisée.
vsftpd démarre juste après l’avoir installé. Ubuntu permet aux utilisateurs locaux de se connecter. Démarrez donc votre client FTP et connectez-vous en tant qu’utilisateur normal avec votre mot de passe système (mon exemple utilise lftp):
Maintenant, j'utilise un type de gestionnaire de fichiers (Nautilus, Shell, etc.) pour créer un nouveau répertoire
foo
et revenir à mon client FTP:Le répertoire est là et je suis en mesure de l'
cd
exploiter et de l'utiliser. C'est également pareil si vous avez des utilisateurs spéciaux. Là, vous pouvez également créer des répertoires et ils sont immédiatement accessibles. Ici, il est important de rechercher des droits d'accès.la source
Je recommande humblement un serveur FTP que j'ai écrit moi-même à partir de zéro: JetFTP . C'est extrêmement simple à installer et à utiliser.
Installation:
Ajoutez mon PPA à vos sources de logiciels et mettez à jour:
Exécutez la commande suivante:
L'utilisation de JetFTP est simple: il vous suffit de vous connecter au port à l'
8021
aide d'un nom d'utilisateur et d'un mot de passe sur l'ordinateur sur lequel JetFTP est en cours d'exécution.la source
N'utilisez pas ftp , il s'agit d'un protocole intrinsèquement non sécurisé car il envoie le nom d'utilisateur et le mot de passe en clair au serveur. La mise en œuvre de sftp est tout aussi simple et vous obtenez un avantage considérable en termes de sécurité de votre connexion.
la source
Il existe trois façons différentes de configurer un serveur FTP:
(1) FTP anonyme:
Les personnes peuvent accéder au serveur uniquement avec le compte anonyme et sans mot de passe. Bien entendu, l’administrateur du serveur fixera une limite pour les téléchargements afin d’empêcher les utilisateurs de placer des fichiers illégaux tels que de la musique, des films ou des jeux piratés.
(2) FTP avec accès anonyme et utilisateurs avec un compte avec mot de passe:
Cette méthode permet aux utilisateurs de comptes anonymes et avec un mot de passe d'entrer sur le serveur. Ils auront uniquement accès à un répertoire spécifié, à l'exception de l'utilisateur racine qui peut voir / modifier / supprimer tous les fichiers et / ou dossiers.
(3) FTP avec support mysql pour l’authentification des utilisateurs virtuels:
Cette méthode autorise l'accès au serveur uniquement pour certains groupes d'utilisateurs pour lesquels il n'existe pas de compte shell d'authentification d'utilisateurs virtuels sur le système. Il utilise un serveur mysql externe qui stocke les informations utilisateur.
Première option: FTP anonyme
Avant de commencer la création d'un serveur ftp anonyme, vous devez ajouter un utilisateur appelé ftp dans votre système, ainsi qu'un répertoire de base. Cette étape est vraiment facile, il suffit de suivre ces commandes:
Cela permet uniquement à ce compte d'écrire dans ce dossier. Vous pouvez utiliser plus de variables pour spécifier ce que fera le serveur FTP. Voici quelques exemples:
Deuxième option: '' 'Utilisateurs de comptes anonymes et utilisateurs d'un mot de passe' ''
Pour rendre possible la présence d'utilisateurs de comptes anonymes et d'un mot de passe sur le même serveur, suivez ce petit guide:
Troisième option: '' 'Utilisateurs virtuels avec Mysql' ''
Pour créer un serveur avec le support mysql, suivez ces étapes:
Téléchargez et installez User Manager pour PureFTPd que vous pouvez trouver ici http://machiel.generaal.net/index.php?subject=user_manager_pureftpd
Décompressez-le et téléchargez tout son contenu dans le répertoire www de votre serveur Web, puis écrivez sur votre navigateur ce lien hypertexte http: //localhost/ftp/install.php Suivez toutes les étapes que le programme d'installation vous demande. Copiez et enregistrez la version pureftpd-mysql. .conf dans le répertoire du gestionnaire d’utilisateurs pureftpd
Terminé. Accès au panneau d'administration via ce lien http: // localhost / ftp
Plus d'options à ajouter avant de lancer le processus serveur
Et voyez ceci pour certaines applications de serveur ftp:
https://help.ubuntu.com/6.06/ubuntu/serverguide/C/ftp-server.html
la source
L'installation par défaut de VSFTPD n'autorise aucune modification de création / modification par défaut. Vous devez éditer
/etc/vsftpd.conf
et décommenter la ligne suivante ...write_enable=YES
Deuxièmement, vous devez configurer les autorisations de système de fichiers appropriées sur les fichiers et les dossiers respectifs.
la source