vsFTPd ha smesso di funzionare dopo l'aggiornamento


17

Ho appena aggiornato Ubuntu 12.04 LTS (Precise Pangolin) da Ubuntu Server 11.10 (Oneiric Ocelot).

Ha aggiornato la mia installazione vsFTPd e sembra che qualcosa sia cambiato: / Uso l'autenticazione PAM. Cosa potrebbe essere cambiato per causare questo?

Quando provo a connettermi al server FTP ottengo questo errore:

500 OOPS: vsftpd: refusing to run with writable root inside chroot()

Ho provato a cercarlo su Google e mi ha detto di aggiungerlo allow_writable_root=YESal file di configurazione, tuttavia quando provo questo e provo a riavviare vsftpd non può riavviare. Perché?

Ecco come l'ho effettivamente risolto:

wget http://http.us.debian.org/debian/pool/main/v/vsftpd/vsftpd_3.0.2-3_amd64.deb -O vsftpd.deb
dpkg -i vsftpd.deb
echo "allow_writeable_chroot=YES" >> /etc/vsftpd.conf
service vsftpd reload

E voilà :)


Il link, fornito per il wgetparametro, è morto. Probabilmente, perché la versione 3.0.2-3è ora disponibile. Chiunque affronti questo problema, dovrebbe visitare questo sito per ottenere il collegamento corretto. Il link sopra menzionato è per la piattaforma a 64 bit. Per trovare collegamenti per questo pacchetto per altre piattaforme, ad esempio a 32 bit, seguire questa pagina e scorrere fino alla Download vsftpdsezione.
trejder,

Risposte:


11

Ho anche questo problema e penso che sia a causa del nuovo aggiornamento vsFTPd per migliorare la sicurezza, quindi nel frattempo uso questa soluzione.

  1. Chmod la cartella in cui arriva il mio utente FTP al primo accesso (cartella principale) usando questo nel terminale: sudo chmod a-w /home/user

    È possibile passare /home/usera qualunque sia la cartella principale dell'utente FTP.

  2. Crea una sottocartella all'interno della cartella, mediante la GUI o se hai solo un terminale, è: sudo mkdir /home/user/newfolder

Ora dovresti essere in grado di accedere e leggere la scrittura all'interno della "nuova cartella". NON sarai in grado di scrivere nella cartella principale stessa dal client FTP con chmod aw, quindi questo è il motivo della sottocartella, e lì puoi.

Immagino che ci sarà una soluzione tra non molto tempo, ma nel frattempo spero che questo aiuti.


L'unica soluzione che posso trovare è installare vsftpd-ext e sostituire vsftpd che consente l'uso di allow_writable_root, ma viene fornito solo come file .tar.gz, e sono molto nuovo su Linux e non riesco a farlo build: / alla fine ho appena forzato un downgrade alla vecchia versione di vsftpd che eseguivo
Mr. King

Ha funzionato per me. Il proprietario di homedir deve creare la cartella, non il root.
OrangeTux,

Fare un chmod aw "proibito" dai maestri jedi di linux? dal momento che stai concedendo il permesso 666?

9

Qualcuno ha eseguito il backport della funzionalità da aggiungere allow_writeable_chroot=YESdalla versione 3.0.0 alla 2.3.5 (vedere questo post di blog ).

Per installare su Ubuntu 12.04 (Precise Pangolin), eseguire i seguenti comandi come root:

add-apt-repository ppa:thefrontiergroup/vsftpd
apt-get update
apt-get install vsftpd
echo allow_writeable_chroot=YES >> /etc/vsftpd.conf

Nota che sembra che ci sia un'opzioneallow_writable_chroot=YES in vsftpd-ext - nota mssing e ! (o è un errore di battitura nel post del blog?)


1
+1: questa sembra certamente l'opzione migliore e grazie a The Frontier Group per aver fornito questo PPA. Ma gli utenti dovrebbero notare che questo ti porta "fuori pista". A causa della natura di ciò che fa, vsftpd è un po 'esposto in termini di sicurezza e in futuro dovrebbe essere rilevata una vulnerabilità in vsftpd, quindi gli utenti dipenderanno dal proprietario PPA per aggiornarlo o gli utenti dovranno trovare un'altra soluzione a quel tempo. Sarebbe saggio iscriversi alla mailing list ubuntu-security-annuncio e guardare gli annunci di sicurezza vsftpd se segui questa strada.
Robie Basak,

Il nostro team DEVOPS ha creato quel pacchetto: lascia un commento sull'articolo del blog se hai problemi individuali che ti servono per risolvere e ti aiuteranno.
mlambie,


6

vsFTPd 3.0.0 aggiunge un'opzione di configurazione,

allow_writeable_chroot=YES

per abilitare nuovamente il comportamento precedente (fonte: correzione di 500 OOPS: vsFTPd: rifiuto di eseguire con root scrivibile all'interno di chroot () , commento di Brian K. White).

Sfortunatamente, 3.0.0 non è ancora impacchettato da Ubuntu. Quindi, nel frattempo, esegui il downgrade a una versione precedente. Ad esempio, sto usando questo su Ubuntu 12.04 (Precise Pangolin): http://packages.ubuntu.com/oneiric-updates/vsftpd


Potresti aggiungere istruzioni su come installare il pacchetto Oneiric che hai collegato? Devo scaricare manualmente il pacchetto? Suppongo che l'aggiunta di aggiornamenti onirici ai miei repository rovinerà parecchio le cose.
lumbric,

0

Un altro modo di fare ciò che l'utente Kristian fa: ha funzionato per me. Il nome utente che uso è "john". Sostituiscilo con il nome utente che desideri.

sudo chmod a-w /home/john - Rimuove l'autorizzazione per tutti gli utenti di eliminare o modificare un file.

sudo mkdir /home/john/ftp - Crea una cartella denominata 'ftp' nella home directory dell'utente 'john'

sudo chown -Rv john.john /home/john/ftp - Cambia la proprietà della directory nel gruppo "john" e l'utente "john".


0

Perché?

Tratto e adattato dalla mia risposta nel bug 1065714 .

Per mantenere stabili i rilasci stabili, gli aggiornamenti dopo il rilascio vengono considerati solo in circostanze specifiche. I dettagli del processo e dei criteri richiesti sono elencati qui: https://wiki.ubuntu.com/StableReleaseUpdates#When

Ciò rende difficile per gli utenti della versione LTS avere chroot scrivibili, dal momento che il progetto upft vsftpd ha deciso di rilasciare senza questa funzionalità al momento del rilascio di 12.04. Ora che 12.04 è stato rilasciato e la correzione non soddisfa i criteri di cui sopra, non credo che questo cambierà per 12.04. Si noti che il team di aggiornamenti della versione stabile prende la decisione finale in merito e che non è stato proposto loro un aggiornamento.

Se desideri che una versione più recente di vsftpd sia resa generalmente disponibile per gli utenti che desiderano utilizzare l'opzione "allow_writeable_chroot", il repository di backport è un luogo appropriato per questo. Con un backport, gli utenti che desiderano la funzionalità possono semplicemente aggiungere il repository di backport e installare vsftpd da lì. Puoi scoprire di più sui backport e su come richiederne uno qui: https://wiki.ubuntu.com/UbuntuBackports

Nel frattempo, The Frontier Group ha gentilmente fornito un PPA, come descritto nella risposta di Lumbric. Oppure puoi usare una delle altre risposte qui che funziona per te.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.