vsFTPd przestał działać po aktualizacji

17

Właśnie zaktualizowałem system Ubuntu 12.04 LTS (Precise Pangolin) z systemu Ubuntu Server 11.10 (Oneiric Ocelot).

Zaktualizowałem moją instalację vsFTPd i wydaje się, że coś się zmieniło: / Używam uwierzytelniania PAM. Co mogło się zmienić, aby to spowodować?

Podczas próby połączenia z serwerem FTP pojawia się ten błąd:

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

Próbowałem googlować i powiedział, aby dodać allow_writable_root=YESdo pliku konfiguracyjnego - jednak kiedy spróbuję tego i spróbuję zrestartować vsftpd, nie będzie można go ponownie uruchomić. Dlaczego?

Oto jak to naprawiłem:

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

I voila :)

Mr. King
źródło
Link podany dla wgetparametru jest martwy. Prawdopodobnie, ponieważ wersja 3.0.2-3jest już dostępna. Każdy, kto napotyka ten problem, powinien odwiedzić tę stronę, aby uzyskać poprawny link. Powyższy link dotyczy platformy 64-bitowej. Aby znaleźć linki do tego pakietu dla innych platform, takich jak na przykład 32-bit, przejdź do tej strony i przewiń w dół do Download vsftpdsekcji.
trejder

Odpowiedzi:

11

Mam również ten problem i myślę, że to z powodu nowej aktualizacji vsFTPd w celu zwiększenia bezpieczeństwa, więc w międzyczasie korzystam z tego rozwiązania.

  1. Przeskakuję folder, do którego przychodzi mój użytkownik FTP, gdy loguje się po raz pierwszy (folder główny), używając tego w terminalu: sudo chmod a-w /home/user

    Możesz zmienić /home/userna dowolny folder główny użytkownika FTP.

  2. Utwórz podfolder w folderze za pomocą GUI lub, jeśli masz tylko terminal, to: sudo mkdir /home/user/newfolder

Teraz powinieneś być w stanie zalogować się i przeczytać zapis w „nowym folderze”. NIE będziesz mógł pisać w samym folderze głównym z klienta FTP za pomocą chmod aw, więc to jest powód dla tego podfolderu i tam możesz.

Myślę, że niedługo nastąpi poprawka, ale tymczasem mam nadzieję, że to pomoże.

Kristian
źródło
Jedyną poprawką, jaką mogę znaleźć, jest zainstalowanie vsftpd-ext i zastąpienie vsftpd, co pozwala na użycie pliku allow_writable_root, ale pojawia się tylko jako plik .tar.gz, a ja jestem nowy w Linuksie i nie mogę tego zrobić build: / w końcu po prostu wymusiłem przejście na starszą wersję vsftpd, którą kiedyś działałem
Mr. King
Pracował dla mnie. Właściciel homedir musi utworzyć folder, a nie katalog główny.
OrangeTux,
Czy robienie chmod aw „zabronione” przez mistrzów linux jedi? skoro udzielasz 666 pozwoleń?
9

Ktoś przeportował tę funkcję do dodania allow_writeable_chroot=YESz wersji 3.0.0 do 2.3.5 (zobacz ten wpis na blogu ).

Aby zainstalować na Ubuntu 12.04 (Precise Pangolin), uruchom następujące polecenia jako root:

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

Zauważ , że wydaje się, że istnieje opcjaallow_writable_chroot=YES w vsftpd-ext - zwróć uwagę na mssing e ! (czy to literówka w poście na blogu?)

lędźwiowy
źródło
1
+1 - z pewnością wydaje się to najlepsza opcja, a dzięki The Frontier Group za udostępnienie tego PPA. Ale użytkownicy powinni pamiętać, że zabiera to Cię „poza trasą”. Ze względu na charakter tego, co robi, vsftpd jest nieco narażony na bezpieczeństwo i jeśli w przyszłości zostanie wykryta luka w vsftpd, użytkownicy będą zależni od właściciela PPA, aby go zaktualizować, albo użytkownicy będą musieli znaleźć inne rozwiązanie w tym czasie. Mądrze byłoby zapisać się na listę mailingową ubuntu-security-announce i uważać na komunikaty bezpieczeństwa vsftpd, jeśli pójdziesz tą drogą.
Robie Basak,
Nasz zespół DEVOPS stworzył ten pakiet - zostaw komentarz na blogu, jeśli masz jakieś indywidualne problemy, których potrzebujesz do rozwiązania, a oni ci pomogą.
mlambie
„zapisywalny” to słowo w porządku . „zapisywalny” jest mniej akceptowalny, wymieniony jako „alternatywna pisownia zapisu” ).
Peter Mortensen
6

vsFTPd 3.0.0 dodaje opcję konfiguracji,

allow_writeable_chroot=YES

aby ponownie włączyć poprzednie zachowanie (źródło: Naprawa 500 OOPS: vsFTPd: odmowa uruchomienia z zapisywalnym rootem w chroot () , komentarz Briana K. White'a).

Niestety, wersja 3.0.0 nie jest jeszcze pakowana przez Ubuntu. Tymczasem przejdź na starszą wersję. Na przykład używam tego na Ubuntu 12.04 (Precise Pangolin): http://packages.ubuntu.com/oneiric-updates/vsftpd

Jakob
źródło
Czy możesz dodać instrukcje, jak zainstalować pakiet Oneiric, który podłączyłeś? Czy powinienem ręcznie pobrać pakiet? Przypuszczam, że dodanie aktualizacji oneiric do moich repozytoriów bardzo popsuło wszystko.
lędźwiowy
0

Inny sposób robienia rzeczy jako użytkownik Kristian: działało dla mnie. Nazwa użytkownika, której używam, to „John”. Zamień go na żądaną nazwę użytkownika.

sudo chmod a-w /home/john - Usuwa uprawnienia dla wszystkich użytkowników do usuwania lub modyfikowania pliku.

sudo mkdir /home/john/ftp - Tworzy folder o nazwie „ftp” w katalogu domowym użytkownika „John”

sudo chown -Rv john.john /home/john/ftp - Zmienia właściciela katalogu na grupę „John” i użytkownika „John”.

OrangeTux
źródło
0

Dlaczego?

Zaczerpnięte i dostosowane z mojej własnej odpowiedzi w błędzie 1065714 .

Aby utrzymać stabilne wydania stabilne, aktualizacje po wydaniu są uwzględniane tylko w szczególnych okolicznościach. Szczegóły procesu i wymaganych kryteriów są wymienione tutaj: https://wiki.ubuntu.com/StableReleaseUpdates#When

Utrudnia to użytkownikom wersji LTS zapisywanie chrootów, ponieważ projekt vsftpd w poprzedniej wersji zdecydował się wydać bez tej funkcji w momencie wydania 12.04. Teraz, gdy wersja 12.04 została wydana, a poprawka nie spełnia powyższych kryteriów, nie sądzę, że zmieni się to w przypadku wersji 12.04. Należy jednak pamiętać, że zespół aktualizacji stabilnych wydań podejmuje ostateczną decyzję w tej sprawie i nie zaproponowano im aktualizacji.

Jeśli chcesz, aby nowa wersja vsftpd była ogólnie dostępna dla użytkowników, którzy chcą skorzystać z opcji „allow_writeable_chroot”, repozytorium backports jest odpowiednim miejscem do tego. Dzięki backportowi użytkownicy, którzy chcą tej funkcji, mogą po prostu dodać repozytorium backportów i zainstalować stamtąd vsftpd. Możesz dowiedzieć się więcej na temat backportów i jak o nie poprosić tutaj: https://wiki.ubuntu.com/UbuntuBackports

W międzyczasie Grupa Frontier uprzejmie dostarczyła umowę PPA, jak opisano w odpowiedzi lumbrica. Możesz też skorzystać z jednej z innych odpowiedzi, która Ci odpowiada.

Robie Basak
źródło