vsFTPd parou de funcionar após a atualização


17

Acabei de atualizar o Ubuntu 12.04 LTS (Precise Pangolin) do Ubuntu Server 11.10 (Oneiric Ocelot).

Atualizou minha instalação do vsFTPd e parece que algo mudou: / Uso a autenticação PAM. O que poderia ter mudado para causar isso?

Ao tentar conectar ao servidor FTP, recebo este erro:

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

Eu tentei pesquisá-lo no Google e disse para adicionar allow_writable_root=YESao arquivo de configuração - no entanto, quando eu tento isso e tento reiniciar o vsftpd, ele não pode ser reiniciado. Por quê?

Aqui está como eu realmente consertei:

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 pronto :)


O link, você forneceu o wgetparâmetro, está morto. Provavelmente, porque a versão 3.0.2-3está agora fora. Qualquer pessoa que enfrente esse problema deve visitar este site para obter o link correto. O link acima mencionado é para a plataforma de 64 bits. Para encontrar links para este pacote para outras plataformas, como por exemplo 32 bits, siga para esta página e role para baixo até a Download vsftpdseção
Trejder

Respostas:


11

Eu também tenho esse problema e acho que é por causa da nova atualização vsFTPd para aumentar a segurança, então, enquanto isso, uso esta solução.

  1. Eu chmod a pasta na qual meu usuário FTP entra quando ele / ela faz o primeiro login (pasta raiz) usando isto no terminal: sudo chmod a-w /home/user

    Você pode mudar /home/userpara a pasta raiz do usuário do FTP.

  2. Crie uma subpasta dentro da pasta, usando a GUI ou, se você tiver apenas um terminal, é: sudo mkdir /home/user/newfolder

Agora você deve conseguir fazer o login e ler a gravação na "nova pasta". Você NÃO poderá escrever na própria pasta raiz a partir do cliente FTP com o chmod aw, de modo que esse é o motivo da subpasta, e você poderá.

Acho que haverá uma correção em um período não muito longo, mas, enquanto isso, espero que isso ajude.


A única correção que posso encontrar é instalar o vsftpd-ext e substituir o vsftpd, o que permite o uso do allow_writable_root, mas ele vem apenas como um arquivo .tar.gz, e eu sou muito novo no linux e não consigo obtê-lo. Constituição: / no final eu só forçou um downgrade para a versão antiga do vsftpd Eu costumava correr
king

Trabalhou para mim. O proprietário do homedir deve criar a pasta, não a raiz.
precisa

Não está fazendo um chmod aw "proibido" pelos mestres linux jedi? desde que você estaria concedendo permissão 666?

9

Alguém suportou o recurso a ser adicionado allow_writeable_chroot=YESda versão 3.0.0 à 2.3.5 (consulte esta entrada do blog ).

Para instalar no Ubuntu 12.04 (Precise Pangolin), execute os seguintes comandos como root:

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

Observe que parece haver uma opção allow_writable_chroot=YES no vsftpd-ext - observe o mssing e ! (ou isso é um erro de digitação na postagem do blog?)


1
+1 - esta certamente parece ser a melhor opção, e obrigado ao The Frontier Group por fornecer este PPA. Mas os usuários devem observar que isso leva você a "fora de pista". Devido à natureza do que faz, o vsftpd é um pouco exposto em termos de segurança e, se uma vulnerabilidade for encontrada no vsftpd no futuro, os usuários dependem do proprietário do PPA para atualizá-lo ou os usuários precisarão encontrar outra solução naquela hora. Seria sensato assinar a lista de discussão ubuntu-security-Announce e observar os anúncios de segurança vsftpd se você seguir esse caminho.
precisa

Nossa equipe DEVOPS criou esse pacote - deixe um comentário no artigo do blog, se você tiver algum problema individual, precisará de ajuda para resolver e eles o ajudarão.
mlambie


6

O vsFTPd 3.0.0 adiciona uma opção de configuração,

allow_writeable_chroot=YES

para ativar novamente o comportamento anterior (fonte: Fixing 500 OOPS: vsFTPd: recusando-se a executar com raiz gravável dentro de chroot () , comentário de Brian K. White).

Infelizmente, o 3.0.0 ainda não está empacotado pelo Ubuntu. Enquanto isso, faça o downgrade para uma versão mais antiga. Por exemplo, estou usando este no Ubuntu 12.04 (Precise Pangolin): http://packages.ubuntu.com/oneiric-updates/vsftpd


Você poderia adicionar instruções sobre como instalar o pacote Oneiric vinculado? Devo baixar manualmente o pacote? Suponho que adicionar atualizações oníricas aos meus repositórios atrapalhe bastante as coisas.
Lumbric

0

Outra maneira de fazer as coisas como o usuário Kristian faz: Funcionou para mim. O nome de usuário que eu uso é 'john'. Substitua-o pelo nome de usuário desejado.

sudo chmod a-w /home/john - Remove a permissão de todos os usuários para excluir ou modificar um arquivo.

sudo mkdir /home/john/ftp - Cria uma pasta chamada 'ftp' no diretório inicial do usuário 'john'

sudo chown -Rv john.john /home/john/ftp - Altera a propriedade do diretório para o grupo 'john' e o usuário 'john'.


0

Por quê?

Tomado e adaptado da minha própria resposta no bug 1065714 .

Para manter as versões estáveis ​​estáveis, as atualizações após a liberação são consideradas apenas em circunstâncias específicas. Os detalhes do processo e dos critérios necessários estão listados aqui: https://wiki.ubuntu.com/StableReleaseUpdates#When

Isso dificulta que os usuários da versão LTS tenham chroots graváveis, uma vez que o projeto vsftpd upstream decidiu lançar sem esse recurso no momento em que a versão 12.04 foi lançada. Agora que o 12.04 foi lançado e a correção não atende aos critérios acima, acho que isso não será alterado para o 12.04. Mas observe que a Equipe de Atualizações de Liberação Estável toma a decisão final sobre isso, e uma atualização não foi proposta a eles.

Se você deseja disponibilizar geralmente uma versão mais recente do vsftpd para usuários que desejam usar a opção "allow_writeable_chroot", o repositório de backports é um local apropriado para isso. Com um backport, os usuários que desejam o recurso podem apenas adicionar o repositório de backports e instalar o vsftpd a partir daí. Você pode descobrir mais sobre backports e como solicitar um aqui: https://wiki.ubuntu.com/UbuntuBackports

Enquanto isso, o The Frontier Group gentilmente forneceu um PPA, como descrito na resposta de lumbric. Ou você pode usar uma das outras respostas aqui que funciona para você.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.