GNU/Linux >> Linux Esercitazione >  >> OpenSuse

Come installare Pure-FTPd con TLS e utenti virtuali su OpenSUSE Leap 42.1

Pure-FTPd è un server FTP gratuito e leggero basato su Troll-FTPd, lo sviluppo è iniziato nel 2001 e funziona su molti sistemi operativi simili a Unix, inclusi Linux, *BSD, Solaris e HP-UX. Pure-FTPd ha molte funzionalità come domini virtuali, home directory chroot, utenti virtuali, supporto TLS/SSL, quota virtuale e molti altri.

In questo tutorial, ti mostrerò come installare e configurare pure-ftpd su OpenSUSE Leap 42.1. Ti mostrerò come configurare pure-ftpd con TLS/SSL e quindi configurare utenti virtuali.

Prerequisito

  • OpenSUSE Leap 42.1
  • Privilegi di root
  • OpenSUSE, Zypper Knowledge

Fase 1:installazione e configurazione di SuSEfirewall2

SuSEfirewall2 è uno script per generare la configurazione del firewall nel file '/etc/sysconfig/SuSEfirewall2'. Installeremo SuSEfirewall2 e quindi apriremo le porte per SSH e il servizio FTP.

Installa SuSEfirewall2 con zypper:

zypper in SuSEfirewall2

Quindi, modifica il file di configurazione '/etc/sysconfig/SuSEfirewall2' con vim:

vim /etc/sysconfig/SuSEfirewall2

Aggiungi i nuovi servizi ssh e FTP alla riga 253:

FW_SERVICES_EXT_TCP="ssh ftp"

Salva ed esci.

Ora avvia SuSEfirewall2 con il comando systemctl:

systemctl start SuSEfirewall2

Passaggio 2:installazione e configurazione di Pure-FTPd

In questo passaggio, installeremo pure-ftpd con OpenSSL per la configurazione TLS/SSL e configureremo l'utente e il gruppo pure-ftpd.

Installa le applicazioni con zypper come mostrato di seguito:

zypper in pure-ftpd openssl

Ora aggiungi il nuovo gruppo 'ftpgroup ' e il nuovo utente per il master 'Utente FTP' chiamato 'ftpuser ' al gruppo.

groupadd ftpgroup
useradd -g ftpgroup -d /dev/null -s /etc ftpuser

Vai alla directory pure-ftpd e modifica il file di configurazione 'pure-ftpd.conf' con l'editor vim:

cd /etc/pure-ftpd/
vim pure-ftpd.conf

Modificare il valore nella riga 81 in 'yes' per la disabilitazione dell'utente anonimo.

NoAnonymous                 yes

Decommentare la riga 131 per configurare il backend. Pure-ftpd ha il supporto per MySQL, PostgreSQL e LDAP come back-end, ma in questo tutorial useremo "PureDB" per il backed.

PureDB                        /etc/pure-ftpd/pureftpd.pdb

Commenta la riga PAMAuthentication per disabilitare l'autenticazione PAM sulla riga 141 poiché useremo PureDB come fonte di autenticazione.

#PAMAuthentication             yes

Salva ed esci.

Passaggio 3 - Configura TLS/SSL per Pure-FTPd

Genera un nuovo file di certificato autofirmato nella directory '/etc/ssl/private' con il comando openssl:

openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem -days 365

Modifica le autorizzazioni del file del certificato in 0600:

chmod 600 /etc/ssl/private/pure-ftpd.pem

Quindi, torna alla directory pure-ftpd e modifica il file di configurazione per abilitare il supporto TLS/SSL per la connessione client.

cd /etc/pure-ftpd/
vim pure-ftpd.conf

Decommentare la riga 439 per abilitare TLS.

TLS                      1

Decommenta la riga 449 e aggiungi una nuova opzione per renderla più sicura.

TLSCipherSuite           HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3

Decommentare la riga 445 per definire il file del certificato.

CertFile                 /etc/ssl/private/pure-ftpd.pem

Salva ed esci.

Ora avvia pure-ftpd con il comando systemctl:

systemctl start pure-ftpd

Fase 4 - Configura utenti virtuali

Pure-FTPd fornisce funzionalità per creare e utilizzare utenti virtuali anziché utenti del sistema reale (Linux). Pure-FTPd fornisce diversi backend di autenticazione e la configurazione dell'utente virtuale dipende dal backend utilizzato dal server. Nel passaggio 2 abbiamo impostato 'PureDB' come backend.

Possiamo creare un nuovo utente virtuale con il comando 'pure-pw' fornito da pure-ftpd. In questo passaggio, creeremo un nuovo utente virtuale chiamato 'shiro' con la directory '/srv/ftp/shiro' come directory home ftp e l'utente sarà chroot in quella directory in modo che non possa accedere alle altre directory di sistema.

Crea il nuovo utente virtuale con pure-pw:

pure-pw useradd shiro -u ftpuser -d /srv/ftp/shiro

Crea la directory per l'utente virtuale e cambia il proprietario di quella directory nel master 'Utente FTP'.

mkdir -p /srv/ftp/shiro
chown -R ftpuser.ftpgroup /srv/ftp/shiro

Successivamente, dobbiamo salvare le modifiche con il comando seguente:

pure-pw mkdb

Ora l'utente shiro è pronto per essere utilizzato, possiamo utilizzare FTPp dalla riga di comando o FileZilla per l'interfaccia GUI per connetterci al server.

Nota:

pure-pw ha più opzioni di comando, puoi usare 'pure-pw help ' per vedere tutti i comandi utili.

Fase 5 - Test

Userò il comando FTP nel terminale per il test. Apri il tuo terminale e digita "ftp":

ftp

Quindi inserisci l'ip del server ftpd puro:

open 192.168.43.69

Accedi con l'utente 'shiro' e la password, quindi premi 'Invio'.

Prova a caricare il file con il comando 'put':

put picture.png mypict.png

Ora vedrai il file mypict.png sul server con il comando ls di seguito:

ls


OpenSuse
  1. Come installare PostgreSQL e phpPgAdmin su OpenSUSE Leap 42.1

  2. Come installare Seafile con Nginx su openSUSE Leap 42.1

  3. Come installare ProFTPd con TLS su OpenSuse 13.2

  4. Come installare Lighttpd con PHP5 FastCGI e MySQL su openSUSE 12.1

  5. Come installare Nginx con PHP-FPM e MySQL su openSUSE 12.1

Come installare e configurare OpenVPN su OpenSUSE Leap 42.1

Come installare WordPress con HHVM e Nginx su OpenSUSE Leap 42.1

Come installare un desktop KDE OpenSUSE Leap 42.1

Come installare ownCloud 9 con Nginx su OpenSUSE Leap 42.1

Come installare Skype su openSUSE Leap

Come installare Dropbox su openSUSE Leap 42.2