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

Mr. King
fonte
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.

kristian
fonte
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?)

lumbric
fonte
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

Jakob
fonte
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'.

OrangeTux
fonte
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ê.

Robie Basak
fonte