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=YES
do 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 :)
wget
parametru jest martwy. Prawdopodobnie, ponieważ wersja3.0.2-3
jest 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ół doDownload vsftpd
sekcji.Odpowiedzi:
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.
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/user
na dowolny folder główny użytkownika FTP.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.
źródło
Ktoś przeportował tę funkcję do dodania
allow_writeable_chroot=YES
z 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:
Zauważ , że wydaje się, że istnieje opcja
allow_writable_chroot=YES
w vsftpd-ext - zwróć uwagę na mssing e ! (czy to literówka w poście na blogu?)źródło
vsFTPd 3.0.0 dodaje opcję konfiguracji,
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
źródło
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”.źródło
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.
źródło