Serveur FTP de base Ubuntu

33

J'aimerais installer un serveur FTP de base sur mon installation Ubuntu Server. J'ai joué 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 aux répertoires. Cela peut être une instance où je dois être mieux ancré dans 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 de développement local vers mon dossier www pour le déploiement. Les répertoires doivent également pouvoir se déplacer. Toute aide serait grandement appréciée.

    
posée JPrescottSanders 09.08.2010 - 02:44
la source

7 réponses

42

Je vais recommander PureFTPD car il a été le plus simple et le plus facile à utiliser à mon avis. Vous devrez d'abord l'installer: sudo apt-get install pure-ftpd une fois qu'il sera installé, il démarrera 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 d'utilisateur avec le répertoire de base étant votre chemin www et définir le mot de passe pour ce compte. Vous devriez alors pouvoir vous connecter avec cette combinaison utilisateur / pass pour télécharger / télécharger des fichiers.

Quelque chose comme ça:

sudo adduser ftpman --home /var/www/ --ingroup www-data

Ce qui créera l'utilisateur ftpman et le placera dans le groupe de données www utilisé par Apache et vous guidera dans le reste du script d'installation. Une fois que cela est défini, assurez-vous de chmod le dossier WWW si vous obtenez des erreurs déjà présentes dans 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 changera le shell en false. (Remplacez ftpman par votre utilisateur ftp)

    
réponse donnée Marco Ceppi 09.08.2010 - 03:54
la source
10

Selon moi, le SFTP est la meilleure solution. Hey, il a le mot "secure" dans le nom, ça doit être mieux:)

SFTP utilise ssh pour effectuer des transferts de fichiers (à la différence de FTPS, qui est essentiellement FTP + TLS). Cela signifie que si vous pouvez utiliser ssh sur la machine cible, vous pouvez presque toujours y avoir SFTP, car il utilise les mêmes mécanismes d'authentification. Tant que vos autorisations sont définies correctement pour /var/www - ce qui est probablement pour sudo chmod g+w /var/www; sudo usermod -g $USER -G www-data $USER - vous devriez pouvoir utiliser SFTP immédiatement.

De nos jours, la plupart des logiciels clients fonctionnent de manière très satisfaisante, et vous pouvez également utiliser scp depuis un shell sur le serveur de développement pour copier des fichiers ( scp -R copiera 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 qu’il n’ya plus de mots de passe:)

    
réponse donnée Ben Williams 09.08.2010 - 07:17
la source
5

Je recommande fortement d'utiliser vsftpd. C'est l'un des démons FTP les plus sécurisés de Linux. Beaucoup d’autres avaient des faiblesses dans le passé et il semble que le FTP soit difficile à implémenter 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):

> lftp 127.0.0.1 ftp
lftp 127.0.0.1:~> user qbi
Password: #typing my password which I also use to log in via GDM
lftp [email protected]:~> ls
drwxr-xr-x 10 1000 1000   4096 2008-07-28 16:32 Desktop
... many more

J'utilise maintenant une sorte de gestionnaire de fichiers (Nautilus, Shell, etc.) pour créer un nouveau répertoire foo et revenir sur mon client FTP:

ftp [email protected]:~> ls -l
...
drwxr-xr-x 2 1000 1000   4096 2010-08-09 13:32 foo

Le répertoire est là et je peux y co% y% utiliser et l'utiliser. C'est également la même chose 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 les droits d’accès.

    
réponse donnée qbi 09.08.2010 - 13:32
la source
3

Je recommande humblement un serveur FTP que je me suis écrit entièrement: JetFTP . Il est extrêmement simple à installer et à utiliser.

Installation:

  • Ajoutez mon PPA à vos sources de logiciels et mettez-le à jour:

    sudo apt-add-repository ppa:george-edison55/george-edison
    
  • Exécutez la commande suivante:

    sudo apt-get install jetftp
    
  • C'est ça!

L'utilisation de JetFTP est simple - connectez-vous simplement au port 8021 à l'aide d'un nom d'utilisateur et d'un mot de passe sur l'ordinateur sur lequel JetFTP s'exécute.

    
réponse donnée Nathan Osman 27.02.2011 - 01:50
la source
2

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. L'implémentation de sftp est tout aussi simple et vous bénéficiez d'un énorme avantage dans la sécurité de votre connexion.

    
réponse donnée Stuart 11.08.2010 - 18:19
la source
0

Il existe trois manières 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 définira une limite pour les téléchargements afin d'empêcher les utilisateurs de placer des fichiers illégaux tels que des musiques / films / 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 à mots de passe d’entrer dans le serveur. Ils n'auront accès qu'à un répertoire spécifié, à l'exception de l'utilisateur root qui peut afficher / modifier / supprimer tous les fichiers et / ou dossiers.

(3) FTP avec support mysql pour l’authentification des utilisateurs virtuels:

Cette méthode permet d’accéder au serveur uniquement pour certains groupes d’utilisateurs n’ayant pas de compte de shell d’authentification des 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, avec un répertoire personnel également. Cette étape est vraiment simple, suivez ces commandes:

useradd -d /home/ftp/ftp -s /bin/false ftp

mkdir -p /home/ftp/upload

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:

-e Allow access to the server only by anonymous users
-B Start the server with background demon
-i Anonymous users can't upload files
-M Let anonymous users create folders
-s ftp user files cannot be downloaded

Deuxième option: '' 'Utilisateurs de comptes anonymes et avec mot de passe' ''

Pour permettre d’avoir des utilisateurs de comptes anonymes et avec mot de passe sur le même serveur, suivez ce petit guide:

-B ,-i ,M, -r, -s same of before
-u <uid> Enable users with a specified user id (uid) to access the server 
-V <Ip address> Only specified IPs will be able to access the server in non-anonymous mode 

Troisième option: '' 'Utilisateurs virtuels avec Mysql' ''

Pour créer un serveur avec le support mysql, procédez comme suit:

Téléchargez et installez User Manager for PureFTPd que vous pouvez trouver ici lien

Décompressez-le et chargez-en tout son contenu dans le répertoire www de votre serveur Web, puis écrivez sur votre navigateur ce lien link lien . Suivez toutes les étapes que l'installateur vous demande Copiez et sauvegardez rge pureftpd-mysql.conf dans le répertoire du gestionnaire d'utilisateurs pureftpd

Fait. Accéder au panneau d'administration à l'aide de ce lien lien

Plus d'options à ajouter avant de lancer le processus serveur

-c <num> Max client that can connect to the server
-C <num> Max connections for a IP
-T <bandwitdh> Max bandwitdh disponible for each connection
-n <MBytes> Max MB that a user can have into its home folder
-m <Cpu Loading> Stops the anonymous uploads if the cpu loading exceed from this value 

Et voyez ceci pour certaines applications de serveur ftp:
lien

    
réponse donnée SjB 11.08.2010 - 19:54
la source
0

L'installation par défaut de VSFTPD n'autorise aucune création / modification de modifications par défaut. Vous devez éditer /etc/vsftpd.conf et décommenter la ligne suivante ...

write_enable=YES

Ensuite, vous devez configurer les autorisations de système de fichiers appropriées sur les fichiers et dossiers respectifs.

    
réponse donnée Simon East 13.07.2013 - 14:29
la source

Lire d'autres questions sur les étiquettes