Nel corso dell'articolo "Configurare un server FTP su Linux CentOS/Ubuntu: Guida rapida a Pure-FTPd" abbiamo installato e configurato il programma, predisponendo vari account (username+password) tramite i quali i client possono accedere al servizio. Ma Pure-FTPd consente anche di gestire eventuali "utenti anonimi", ovvero permettere a chiunque di entrare, senza che sia necessario presentare credenziali valide.

Pure-FTPd: abilitare accesso anonimo - pure-ftpd spotlight

Per svolgere questa procedura sono necessari i privilegi di root: per non incappare in inutili problemi, raccomando di accedere direttamente con questo account (i più intraprendenti possono usare un account "regolare" e far precedere i comandi da sudo , ma non ho testato questo scenario).

Modificare il file di configurazione

Per prima cosa, impartite vi /etc/pure-ftpd/pure-ftpd.conf per aprire il file di configurazione, quindi premete la lettera i sulla tastiera per entrare in modalità modifica. Cercate poi la stringa NoAnonymous e trasformate la riga in NoAnonymous no

Pure-FTPd: abilitare accesso anonimo - pure-ftpd.conf 01

Per impostazione predefinita, l'utente anonimo può solo scaricare i file, ma non caricarne di nuovi. Vi sconsiglio vivamente di permettere le scritture, ma, se così desiderate, questi sono i parametri aggiuntivi da modificare all'interno dello stesso file:

  • AnonymousCanCreateDirs yes
  • AnonymousCantUpload No

Premete Esc, poi impartite :x per salvare ed uscire dall'editor di testo. Riavviate il servizio con systemctl restart pure-ftpd).

Impostare l'utente "ftp"

L'accesso anonimo di Pure-FTPd fa uso dell'account ftp impostato a livello di sistema operativo (dovrebbe essere sempre presente, ma potete verificarlo espressamente impartendo cat /etc/passwd | grep ftp:)

Pure-FTPd: abilitare accesso anonimo

In caso non dovesse essere presente alcuna riga con questo nome, create l'account:

  • groupadd ftp
  • useradd -g ftp -d /var/ftp -s /sbin/nologin ftp

Creare una "home" per l'utente anonimo

È senza dubbio una buona idea isolare anche l'utente anonimo in una propria cartella "home", andando in seguito ad aggiungere semplici "Collegamenti" a tutte le altre directory alle quali deve poter accedere.

Abbiamo già creato il "ramo" generale /home/utentiftp durante la configurazione iniziale del servizio, per cui basta ora aggiungere la directory personale dell'utente anonimo con il comando mkdir -p /home/utentiftp/anonymous.

Create lì dentro il "solito" file chiamato Se mi vedi, sei collegato correttamente.txt: aiuterà i client a capire che tutto sta funzionando a dovere:

touch '/home/utentiftp/anonymous/Se mi vedi, sei collegato correttamente.txt'

Per finalizzare la gestione del disco, impostiamo i permessi di modo che l'utente ftp possa accedere alla propria "home":

  • chown -R ftp /home/utentiftp/anonymous
  • chmod -R u=rwX /home/utentiftp/anonymous

Impostare la "home" per l'utente "ftp"

Per completare la configurazione, dobbiamo impostare il sistema affinché un client che si colleghi in modo anonimo via FTP finisca effettivamente dentro alla "home" che gli abbiamo approntato. Il comando è

usermod --move-home --home /home/utentiftp/anonymous ftp

Otterrete un avviso simile a usermod: directory /home/utentiftp/anonymous exists: è normale.

Testare il servizio

A questo punto potete testare il servizio. Impartite ftp localhost, quindi digitate anonymous come nome utente. Subito dopo la connessione, lanciate ls e dovreste vedere il file Se mi vedi, sei collegato correttamente.txt

Pure-FTPd: abilitare accesso anonimo - linux ftp anonymous login

Se tutto funziona, ripetete il collegamento tramite un client grafico: specificate l'indirizzo del server e lasciate vuoti i campi Nome utente e Password.

Pure-FTPd: abilitare accesso anonimo - FileZilla anonymous

A meno che non abbiate espressamente abilitato l'upload da parte dell'utente anonimo, assicuratevi che il divieto venga rispettato provando a caricare qualcosa: dovreste ottenere un errore

Pure-FTPd: abilitare accesso anonimo - FileZilla errore upload

Consentire lo scaricamento di altri file

In questo momento, l'utente anonimo può accedere solo a quello che si trova nella sua "home". Se volete autorizzarlo a raggiungere anche altri percorsi, dovete creare un "collegamento" come dettagliato al paragrafo "Condividere cartelle esterne" della nostra guida generale a Pure-FTPd.