Permissão negada no FTP, embora eu seja o proprietário

21

Ok, então eu tentei o meu melhor para encontrar a resposta para isso pesquisando e analisando possíveis duplicatas, mas não posso me perdoar se estiver disponível em algum lugar.

Meu problema é o seguinte. Eu configurei o proprietário /var/wwwpara myuser:www-datae permissões da pasta e todos (atualmente apenas o index.html básica) conteúdo que seja para 750, e Apache parece executá-lo como deveria, mas eu não posso acessá-lo quando eu FTP para o servidor como o myuserusuário. Quero dizer, posso acessá-lo, mas assim que tento editar, excluir ou adicionar algo que recebo 500 Permission denied, e se tentar editar as permissões recebo 500 Unknown SITE command.

Socorro! O que eu faço de errado? A idéia de definir o usuário e o grupo e as permissões acima foram de um bom amigo meu, que é um especialista, mas eu sinto que estou incomodando ele quando faço tantas perguntas, por isso, se você puder ajudar me um pouco mais, isso seria ótimo!

Estou tentando colocar um backup com 4 vhosts de volta na pasta www, mas o que coloquei não deve ser motivo de preocupação, certo? Isso é apenas a revelação do vhosting mais tarde que tem algo a ver com isso, certo?

Desde já, obrigado!

Informação adicionada:

Eu executei isto: myuser@myserver:/$ groups myuser E entendi: myuser : myuser adm cdrom sudo dip plugdev lpadmin sambashare Então eu executei isto: myuser@myserver:/$ groups www-data E entendi: www-data : www-data

E então isto: myuser@myserver:/var/www$ ls -l E conseguiu isto: total 4 -rwxr-x--- 1 tjita1 www-data 177 Jan 25 17:45 index.html

Em relação ao servidor de ftps, não fiz nada em particular, apenas instalei o vsftpd. Oh sim, eu também acrescentou uma linha na Acho /etc/vsftpd.confou algo parecido, que lê algo como isto: chmod_enable=YES.

Além disso, não consigo fazer esses 4 recuos de espaço funcionarem, desculpe por isso ..

Tjita1
fonte
Não sei se isso está certo, mas mexer nas permissões de um diretório desse tipo não é uma boa maneira. De qualquer forma, posso pedir a saída de groups myuser(como em; substitua-a pelo nome de usuário do usuário), por favor? e também ls -lde wwwdir
AzkerM
1
Como você configurou seu servidor ftp?
Falconer

Respostas:

34

Depois de instalar o servidor ftp, sudo apt-get install vsftpdvocê precisará configurá-lo. Para habilitar o acesso de gravação, você deve editar o /etc/vsftpd.confarquivo e descomentar o

#write_enable=YES

linha, por isso deve ler

write_enable=YES

Salve o arquivo e reinicie vsftpdcom sudo service vsftpd restart.

Para outras opções de configuração, consulte esta documentação ouman vsftpd.conf

falcoeiro
fonte
2
Você é o cara. Isso finalmente me ajudou!
Allen Gingrich
E todas as respostas na internet estavam erradas. No entanto, tão simples e claro. Eu até li o vsftpd.conf apenas por diversão!
Mohammed Joraid
3

Uma maneira simples que encontrei para usar o ftp com o comando curl aqui . Se você deseja usar o ftp com um único comando, use o seguinte comando

sudo curl -T file_to_be_uploaded.txt ftp://mydomain.com/mydirectory/ --user username:password

Se você receber um erro 551: permission deniedao executá-lo, o arquivo que você está carregando pode estar presente no controle remoto e você não tem permissão para substituí-lo. Portanto, faça o upload com um nome de arquivo diferente ou exclua o arquivo atual no controle remoto.

Ajeet Khan
fonte
1

Eu tive o mesmo problema e nenhuma das sugestões sobre as permissões Write_enable ou pasta funcionou. Mudei meu tipo de conexão no meu cliente FTP de FTP para SSH / SFTP e tudo funcionou bem. Aparentemente, o VSFTPD requer uma conexão segura para gravar.

JT Johnston
fonte
3
Se você usou SFTP, provavelmente não está usando vsftpd, apesar do nome. O FTPS é um FTP seguro, o SFTP é o Protocolo de transferência de arquivos SSH e geralmente é tratado por qualquer servidor SSH instalado.
muru