Até agora, não consegui manter um usuário de FTP preso no diretório do site. Existe uma solução que conserte esse bug e mantenha o usuário preso no diretório?
Minhas configurações vsFTPd que alterei:
listen_port=9000
Set: anonymous_enable=NO
Uncomment: local_enable=YES
Uncomment: write_enable=YES
Uncomment: local_umask=022
Set: connect_from_port_20=NO
Uncomment: idle_session_timeout=600
Uncomment: data_connection_timeout=120
Comment out: #ftpd_banner=Welcome to blah FTP service. [should be on line 104]
Added: banner_file=/etc/issue.net
Uncomment: chroot_local_user=YES
Uncomment: chroot_local_user=YES
Uncomment: chroot_list_enable=YES
Uncomment : chroot_list_file=/etc/vsftpd.chroot_list
No final do arquivo, adicionei:
# Show hidden files and the "." and ".." folders.
# Useful to not write over hidden files:
force_dot_files=YES
# Hide the info about the owner (user and group) of the files.
hide_ids=YES
# Connection limit for each IP address:
max_per_ip=10
# Maximum number of clients:
max_clients=5
# FTP Passive Settings
pasv_enable=YES
#If your listen_port is 9000 set this range to 7500 and 8500
pasv_min_port=[port range min]
pasv_max_port=[port range max]
O usuário em questão mybloguser
,, está preso no diretório do site /srv/www/myblog
e este usuário não faz parte do nano /etc/vsftpd.chroot_list
arquivo. O diretório inicial do usuário também é o /srv/www/myblog
que costumava funcionar no passado.
Eu tentei a allow_writeable_chroot=YES
solução que não funcionou e realmente quebrou o vsFTPd completamente.
Eu tentei:
Corrigindo 500 OOPS: vsftpd: recusando-se a executar com raiz gravável dentro de chroot ()
Corrigindo 500 OOPS: vsftpd: recusando executar com raiz gravável dentro de chroot () no vsftpd
Como podemos corrigir esse erro e manter o usuário preso no diretório inicial?
allow_writeable_chroot=YES
foi suficiente e realmente funcionou "como esperado" FWIW ...Respostas:
Para VSFTPD 3,
/etc/vsftpd.conf
e adicione isto:
Basta adicioná-lo se ele ainda não existir.
Reinicie o serviço vsftpd:
E deve funcionar.
fonte
A verdadeira solução desse problema: a pasta inicial do usuário não deve ser gravável apenas para leitura.
Portanto, se o site do usuário estiver na pasta
cat/example.com/http/
, elacat
deverá terchmod 555
e tudo ficará OK.fonte
Após uma análise mais aprofundada desta postagem, nos comentários foi publicado um pacote que corrigia meu problema. Você pode procurá-lo pelo meu nome ou pela documentação "Marks": http://www.benscobie.com/fixing-500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot/ . Aqui estão meus detalhes de como eu consertei isso ainda mais.
OS USUÁRIOS AINDA ESTÃO JAILED AOS SEUS DIRETÓRIOS DOMÉSTICOS !!!
fonte
De acordo com a resposta anterior "A solução REAL deste problema: a pasta inicial do usuário não deve ser gravada apenas como leitura.". O pensamento geral está certo, mas com uma realização errada.
Abaixo, tentarei dar um exemplo simples:
Para começar, precisamos criar uma topologia do diretório do usuário:
vsftpd.conf cut:
Essa configuração funciona muito bem com uma configuração de usuário único . Para multiusuários, a diretiva "user_config_dir" deve ser usada adicionalmente.
** ATUALIZAÇÃO 20/09
------ **
Aqui está uma solução alternativa complicada, não é a melhor idéia para usar, mas ... Se você precisar de uma pasta raiz de ftp gravável, basta inserir comandos de alteração de permissão nos comandos de pré-inicialização e pós-inicialização.
Pré-início - altere as permissões para somente leitura, que o servidor exige (:
Iniciar servidor
Pós-início - altere a permissão para leitura-gravação ou o que você precisa.
fonte
É praticamente o que toastboy70 mencionou. Faça o diretório ftp-root associado a ftp.ftp e não-gravável (/etc/vsftpd.conf): anon_root = / srv / ftp
Em seguida, faça um filho gravável dir: / srv / ftp / upload
fonte
Eu precisava adicionar o seguinte ao arquivo /etc/vsftpd.conf:
E não há necessidade de repo personalizado !!
E descomente a linha:
fonte
A correção simples é fazer o que a mensagem de erro sugere: torne a raiz não gravável e, se precisar ativar os uploads, crie um subdiretório com permissão de gravação. Não são necessárias alterações na configuração.
fonte
Após 3 horas de pesquisa, entrei no Ubuntu 14.04.2 LTS VSFTPd 3 funcionando. A pasta inicial será visível / home / vimal uma vez acessada com um cliente. Eu entrei com o vimal com privilégios de root. Eu tenho a pasta ftpShare criada, mas não tem muito significado.
alguns comandos úteis:
Acima significa que o daemon ftp está funcionando
Eu tenho a seguinte configuração:
Depois que o FTP estiver funcionando, você poderá ajustá-lo ainda mais às necessidades específicas, algumas das opções acima têm valores padrão, mas não me lembro exatamente.
Erros vistos no cliente FTP:
1. 500 OOPS: prctl PR_SET_SECCOMP falhou
Solução.
[adicione-o na primeira linha vsftpd.conf, após o término da seção comentada inicial]
2. 500 OOPS: vsftpd: recusando-se a executar com raiz gravável dentro de chroot ()
Eu adicionei na última linha.
fonte
Resolvi o problema do vsFTPd recusando-se a executar com uma raiz gravável dentro do chroot () no meu servidor Ubuntu da seguinte maneira:
Acabei de adicionar a linha abaixo no
vsftpd.conf
arquivo:fonte