As permissões de arquivo carregado padrão do vsFTPd no Ubuntu não estão funcionando

14

Eu tenho um servidor executando o Ubuntu 12.10 x64 e a última versão do vsFTPd.

Meu usuário example.com tem sua pasta inicial ativada /var/www/example.com,

Criei uma pasta public_html dentro e dei 777permissões a ela, e removi as permissões de gravação da pasta de usuário doméstico. Tudo está funcionando bem, mas:

Todo arquivo carregado por FTP (usando SmartFTP) recebe um chmod de 0.

Meu vsftpd.conftinha apenas uma linha relacionada:

local_umask=022.

Eu tentei mudar para:

file_open_mode=777
local_umask=002

Então, meus arquivos serão 775carregados assim que forem carregados.

Mas apenas minhas pastas carregadas estão recebendo 775permissões.

Meus arquivos enviados são 1411 permissions

Alguém pode me ajudar a resolver isso?

lucasmx
fonte
você deve dar permissão ao usuário do FTP.
Gex

Respostas:

11

Acabei usando

file_open_mode=0777
local_umask=022

no vsftpd.conf. O problema era que o usuário FTP e o usuário www-data precisavam de permissões para escrever, então tive que associar www-data e ftpuser ao www-data usergroup e CHMOD -R 775 todos os arquivos em / var / www - dessa maneira, com 775 CHMOD, o grupo teria permissão para ler, escrever e executar. Agora está funcionando perfeitamente.

lucasmx
fonte
1
não se esqueça de reiniciar o servidor FTP: restart vsftpd serviço sudo
Nahid
7

Tenho a minha resposta:

Como o www-data é o usuário responsável pelo servidor da web e o usuário normal é responsável pelo servidor ftp, primeiro é necessário torná-los ambos membros do mesmo grupo: o grupo www-data.

Criando usuário personalizado:

useradd –d /var/www/asasd.com -g www-data -m yourusername dessa forma, o diretório inicial será o /var/www/asasd.com e seu usuário estará no grupo www-data .

depois disso, altere a senha do usuário digitando passwd.

Em seguida, você precisa criar uma pasta public_html dentro da pasta inicial do seu nome de usuário , como o FTP não poderá gravar na raiz da sua pasta pessoal, você deve criar uma subpasta.

Remova as permissões de gravação da pasta yourusernamechmod a-w /var/www/asasd.com

Em seguida, aplique novas permissões para a subpasta: chmod -R 775 /var/www/asasd.com/public_html (observe que você deve usar o 775 chmod porque precisa de permissões de gravação em grupo, e não de usuário, pois deseja que todo o grupo (ftp e www-data) possa gravar). pasta para o www-data chown -R www-data:www-data /var/www/asasd.com/public_html

Dessa forma, você deve poder usar o FTP e ter um servidor da Web funcionando.

Boa sorte!

Engraçado que essa informação é tão difícil de encontrar. As pessoas não estão mais compartilhando conhecimento?

lucasmx
fonte
"você precisa primeiro fazer com que ambos sejam membros do mesmo grupo: o grupo www-data" Como colocar meu usuário ftp no grupo www-data?
Preto
Funcionou perfeito. Obrigado @lucasmx
Enrique Becerra
0

Eu também tive um problema, como a permissão do arquivo é alterada quando eu carrego um arquivo através do meu ftp. Isso é corrigido com uma alteração de linha no meuvsftpd.conf

local_umask=val(like 022,007,etc.,)

vijay
fonte
Gostaria de melhorar e abrir isso um pouco? Por que isso é melhor do que as alternativas anteriores e o que ele realmente faz , uma vez que esse tipo de sintaxe não é descrito na página do manual: local_umaskdeve ser um valor único e deve ter 0como prefixo o valor octal.
Esa Jokinen 28/03
-4

você precisa alterar a propriedade desse arquivo:

chown root:root /home/username
Gex
fonte