it-swarm.it

Server FTP di base Ubuntu

Vorrei installare un server FTP di base sulla mia installazione di Ubuntu Server. Ho giocato con VSFTPD, ma sto riscontrando problemi nel far sì che il server mi consenta di creare directory e copiare file. Ho impostato il sistema in modo da consentire agli utenti locali, ma sembra che ciò non significhi che ho accesso alla creazione di directory. Questa potrebbe essere un'istanza in cui ho bisogno di essere meglio radicato nella configurazione del server Ubuntu per configurare adeguatamente questo server FTP. L'obiettivo finale è quello di poter spostare i file dalla mia cartella dev locale nella mia cartella www per la distribuzione. Anche le directory devono essere in grado di spostarsi. Qualsiasi aiuto sarebbe molto apprezzato.

33

Consiglierò PureFTPD perché secondo me è stato il più semplice e facile da usare. Dovrai prima installarlo: Sudo apt-get install pure-ftpd una volta installato si avvierà automaticamente. Per impostazione predefinita utilizza le autenticazioni PAM, ovvero utilizza gli account già esistenti sul sistema per la sua autenticazione. Tutto quello che devi fare è creare un account utente con la directory home come percorso www e impostare la password per quell'account. Dovresti quindi essere in grado di connetterti con quella combinazione utente/passaggio per caricare/scaricare file.

Qualcosa come questo:

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

Il che creerà l'utente ftpman e lo inserirà nel gruppo www-data utilizzato da Apache e ti guiderà attraverso il resto dello script di installazione. Una volta definito, assicurati di chmod la cartella WWW se ricevi errori su di essa già esistenti nella combinazione utente/gruppo che hai creato.

Infine, se si desidera bloccare l'accesso SSH per quell'account, eseguire: Sudo chsh -s /bin/false ftpman che cambierà gli utenti Shell su false. (Sostituisci ftpman con il tuo utente ftp)

42
Marco Ceppi

A mio avviso, SFTP è un modo migliore di procedere. Ehi, ha la parola "sicuro" nel nome, deve essere migliore :)

SFTP usa ssh per fare trasferimenti di file (come distinto da FTPS, che è sostanzialmente FTP + TLS). Ciò significa che se puoi eseguire il ssh sul computer di destinazione, puoi quasi sempre SFTP su di esso, poiché utilizza gli stessi meccanismi di autenticazione, quindi non è necessario installare e configurare affatto diversi demoni del server (cioè nessun pureftpd o vsftpd). Finché le autorizzazioni sono impostate correttamente per /var/www - ovvero probabilmente una questione di Sudo chmod g+w /var/www; Sudo usermod -g $USER -G www-data $USER - dovresti essere in grado di utilizzare immediatamente SFTP.

La maggior parte dei software client oggigiorno eseguirà SFTP abbastanza bene, e puoi anche usare scp da una Shell sul server dev per copiare cose attraverso (scp -R copierà intere cartelle, ed è molto utile). Puoi anche fare un altro passo e automatizzare gli accessi con le chiavi pubbliche, il che significa che non dovrai più digitare password :)

10
Ben Williams

Consiglio vivamente di usare vsftpd. È uno dei demoni FTP più sicuri in Linux. Molti altri avevano punti deboli in passato e sembra che l'FTP sia difficile da implementare in modo sicuro.

vsftpd inizia subito dopo averlo installato. Ubuntu consente agli utenti locali di accedere. Quindi avvia il tuo client FTP e accedi come normale utente con la tua password di sistema (Il mio esempio usa 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

Ora sto usando una specie di file manager (Nautilus, Shell ecc.) Per creare una nuova directory foo e tornare al mio client FTP:

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

La directory è lì e sono in grado di cd e utilizzarla. Questo è lo stesso anche se hai utenti speciali. Lì puoi anche creare directory e sono immediatamente accessibili. Qui è importante cercare i diritti di accesso.

5
qbi

Consiglio vivamente un server FTP che mi sono scritto da zero: JetFTP . È estremamente semplice da installare e da utilizzare.


Installazione:

  • Aggiungi il mio PPA alle tue fonti software e aggiorna:

    Sudo apt-add-repository ppa:george-edison55/george-edison
    
  • Esegui il seguente comando:

    Sudo apt-get install jetftp
    
  • Questo è tutto!

L'uso di JetFTP è semplice: basta collegarsi alla porta 8021 utilizzando un nome di accesso e una password sul computer su cui JetFTP è in esecuzione.

3
Nathan Osman

Non usare ftp, è un protocollo intrinsecamente insicuro perché invia nome utente e password in chiaro al server. L'implementazione di sftp è altrettanto facile e ottieni un enorme vantaggio nella sicurezza della tua connessione.

2
Stuart

L'installazione predefinita di VSFTPD non consente alcun creazione/modifica modifiche per impostazione predefinita. Devi modificare /etc/vsftpd.conf e rimuovere il commento dalla seguente riga ...

write_enable=YES

E in secondo luogo è necessario configurare le autorizzazioni appropriate del file system sui rispettivi file e cartelle.

0
Simon East

Esistono tre modi diversi per configurare un server ftp:

(1) FTP anonimo:

Le persone possono accedere al server solo con l'account anonimo e senza password. Naturalmente, l'amministratore del server imposterà un limite per i caricamenti per impedire agli utenti di inserire file illegali come musica/film/giochi piratati.

(2) FTP con accesso anonimo e utenti con un account con password:

Questo metodo consente agli utenti di account anonimi e con password di accedere al server. Avranno accesso solo a una directory specificata, ad eccezione dell'utente root che può visualizzare/modificare/eliminare tutti i file e/o cartelle.

(3) FTP con supporto mysql per l'autenticazione di utenti virtuali:

Questo metodo consente l'accesso al server solo per alcuni gruppi di utenti che non dispongono di un account Shell di autenticazione degli utenti virtuali sul sistema. Utilizza un server mysql esterno che memorizza le informazioni dell'utente.

Prima opzione: FTP anonimo

Prima di iniziare la creazione di un server ftp anonimo, devi aggiungere un utente chiamato ftp nel tuo sistema, anche con una home directory. Questo passaggio è davvero semplice, basta seguire questi comandi:

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

mkdir -p /home/ftp/upload

In questo modo solo questo account può scrivere in questa cartella. È possibile utilizzare più variabili per specificare cosa farà il server ftp. Ecco alcuni esempi:

-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

Seconda opzione: '' 'Utenti con account sia anonimi che con password' ''

Per rendere possibile avere utenti con account sia anonimi che con password nello stesso server, seguire questa piccola guida:

-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 

Terza opzione: '' 'Utenti virtuali con Mysql' ''

Per creare un server con supporto mysql attenersi alla seguente procedura:

Scarica e installa User Manager per PureFTPd che puoi trovare qui http://machiel.generaal.net/index.php?subject=user_manager_pureftpd

Decomprimilo e carica tutto il suo contenuto nella directory www del tuo server web e poi scrivi sul tuo browser questo link link http: //localhost/ftp/install.php Segui tutti i passaggi che ti viene richiesto dall'installer Copia e salva rge pureftpd-mysql.conf nella directory del gestore utenti pureftpd

Fatto. Accesso al pannello di amministrazione tramite questo collegamento http: // localhost/ftp

Altre opzioni da aggiungere prima di avviare il processo del server

-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 

E vedi questo per alcune applicazioni server ftp:
https://help.ubuntu.com/6.06/ubuntu/serverguide/C/ftp-server.html

0
Sajad Bahmani