În acest ghid, vom vedea cum puteți configura un server FTP (ProFTPd) pentru a transfera fișiere între computer și server.
Cerințe preliminare
- O instanță recent instalată a serverului Vultr CentOS.
- Un utilizator Sudo .
Instalare
Actualizați sistemul.
yum check-update
Depozitele oficiale RHEL / CentOS 6/7 nu furnizează pachete binare pentru ProFTPD Server, de aceea trebuie să adăugați depozite suplimentare de pachete pe sistemul dvs. furnizate de EPEL 6/7 repo folosind una dintre următoarele comenzi.
CentOS 6 :
sudo rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
CentOS 7 :
sudo rpm -Uvh http://ftp.astral.ro/mirrors/fedora/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
Descărcați toate metadatele pentru Yum repos activat în prezent.
sudo yum makecache
Instalați proftpd.
sudo yum install proftpd
Instalați ftp.
sudo yum install ftp
configurație
Deschideți fișierul de configurare ProFTPd.
sudo nano /etc/proftpd.conf
Fișierul va semăna cu următorul text.
The file will resemble the following text.
# This is the ProFTPD configuration file
#
# See: http://www.proftpd.org/docs/directives/linked/by-name.html
# Server Config - config used for anything outside a <VirtualHost> or <Global> $
# See: http://www.proftpd.org/docs/howto/Vhost.html
ServerName "ProFTPD server"
ServerIdent on "FTP Server ready."
ServerAdmin root@localhost
DefaultServer on
# Cause every FTP user except adm to be chrooted into their home directory
# Aliasing /etc/security/pam_env.conf into the chroot allows pam_env to
# work at session-end time (http://bugzilla.redhat.com/477120)
VRootEngine on
DefaultRoot ~ !adm
VRootAlias /etc/security/pam_env.conf etc/security/pam_env$
# Use pam to authenticate (default) and be authoritative
AuthPAMConfig proftpd
AuthOrder mod_auth_pam.c* mod_auth_unix.c
# If you use NIS/YP/LDAP you may need to disable PersistentPasswd
#PersistentPasswd off
# Don't do reverse DNS lookups (hangs on DNS problems)
UseReverseDNS off
# Set the user and group that the server runs as
User nobody
Group nobody
# To prevent DoS attacks, set the maximum number of child processes
# to 20. If you need to allow more than 20 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode; in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances 20
...
Principalele directive de configurare
ServerName: Specifică numele serverului FTP. Acest nume va fi afișat atunci când clienții se conectează la server.
DefaultRoot: Controlează directorul rădăcină implicit atribuit unui utilizator la conectare.
MaxInstances: Numărul maxim de conexiuni simultane pe care doriți să le permiteți pe serverul dvs. FTP.
Acum, trebuie să schimbăm ServerName.
ServerName : the name of your FTP server
Notă : În mod implicit, cineva care se conectează la serverul FTP poate accesa toate folderele serverului, de aceea este recomandat să activați opțiuneaDefaultRoot .
DefaultRoot ~ !adm
După modificarea configurației, reporniți serverul.
sudo service proftpd restart
Notă : Dacă o linie de eroare este afișată ca " unable to resolve host", fiți atenți că nu contează și că o puteți ignora.
Adăugați un utilizator FTP
Adăugați un utilizator.
useradd --shell /bin/false myuser
Creați directorul principal al utilizatorului nostru " myuser".
mkdir /home/myuser
Modificați proprietatea acelui director la utilizator și grupul " myuser".
chown myuser:myuser /home/myuser/
Setați o parolă pentru utilizator myuser.
passwd myuser
Conectați-vă la serverul dvs. FTP
După ce serverul FTP este instalat și configurat, ați dori să vă puteți conecta la acesta.
ftp://server_ip_addressTrebuie doar să introduceți bara de adrese a browserului dvs. Înlocuiți server_ip_addresscu adresa IP a serverului dvs. Vi se va cere apoi usernameși password.
Puteți vedea cine este conectat la serverul dvs. FTP cu următoarea comandă.
ftpwho
Puteți vedea, de asemenea, statistici.
ftpstats