O FileZilla reporta 'Permissão negada' mas esvazia o arquivo (exclui todo o conteúdo do arquivo)

1

Esse problema é muito estranho. Eu tenho acesso de FTP a um site em que estou trabalhando, mas parece haver um problema de permissões. No FileZilla Se eu tentar editar e re-carregar um arquivo para o servidor, recebo um erro Permission denied , mas ao mesmo tempo o conteúdo do arquivo editado é eliminado no servidor! Então acabo em uma situação em que o arquivo remoto é corrompido (todo o conteúdo é excluído - 0B!), Mas não tenho permissão para corrigi-lo.

A maioria das permissões está definida para 775 para pastas e 664 para arquivos.

  • Por que eu poderia estar recebendo permission denied error? O que há de errado com minhas permissões?
  • Se eu realmente não tiver permissão para gravar em um arquivo, por que o conteúdo dele está sendo excluído?

Estou anexando dois logs do FileZilla aqui, um com depuração desativada:

10:32:02    Status: Connecting to [IP.ADD.RE.SS:PORT]...
10:32:05    Status: Connected to [IP.ADD.RE.SS]
10:32:05    Status: Retrieving directory listing...
10:32:05    Status: Listing directory /
10:32:06    Status: Directory listing of "/" successful
10:32:12    Status: Connecting to [IP.ADD.RE.SS:PORT]...
10:32:14    Status: Connected to [IP.ADD.RE.SS]
10:32:15    Status: Starting download of /wp-config.php
10:32:15    Status: remote:/wp-config.php => local:/tmp/fz3temp-1/wp-config.php
10:32:16    Status: File transfer successful, transferred 3.4 KB in 1 second
10:32:29    Status: Starting upload of /tmp/fz3temp-1/wp-config.php
10:32:30    Command:    put "/tmp/fz3temp-1/wp-config.php" "wp-config.php"
10:32:30    Error:  /wp-config.php: open for write: permission denied
10:32:30    Error:  File transfer failed
10:32:30    Status: Starting upload of /tmp/fz3temp-1/wp-config.php
10:32:30    Status: Retrieving directory listing of "/"...
10:32:30    Status: Listing directory /
10:32:39    Status: Skipping upload of /tmp/fz3temp-1/wp-config.php
10:32:39    Status: File transfer skipped
10:33:39    Status: Disconnected from server

E outros com depuração em

10:46:32    Status: Connecting to [IP.ADD.RE.SS:PORT]...
10:46:32    Trace:  Going to execute /usr/bin/fzsftp
10:46:32    Response:   fzSftp started, protocol_version=6
10:46:32    Trace:  CSftpControlSocket::ConnectParseResponse(fzSftp started, protocol_version=6)
10:46:32    Trace:  CSftpControlSocket::SendNextCommand()
10:46:32    Trace:  CSftpControlSocket::ConnectSend()
10:46:32    Command:    open "gqwp@[IP.ADD.RE.SS]" [PORT]
10:46:32    Trace:  Server version: SSH-2.0-mod_sftp/0.9.7
10:46:32    Trace:  We believe remote version has SSH-2 RSA padding bug
10:46:32    Trace:  Using SSH protocol version 2
10:46:32    Trace:  Doing Diffie-Hellman group exchange
10:46:33    Trace:  Doing Diffie-Hellman key exchange with hash SHA-256
10:46:33    Trace:  Server also has ssh-dss host key, but we don't know it
10:46:33    Trace:  Host key fingerprint is:
10:46:33    Trace:  ssh-rsa 2048 [LO:NG:SSH:FI:NG:ER:PR:INT]
10:46:33    Trace:  Initialised AES-256 SDCTR client->server encryption
10:46:33    Trace:  Initialised HMAC-SHA1 client->server MAC algorithm
10:46:33    Trace:  Initialised AES-256 SDCTR server->client encryption
10:46:33    Trace:  Initialised HMAC-SHA1 server->client MAC algorithm
10:46:33    Trace:  Pageant is running. Requesting keys.
10:46:34    Trace:  Pageant has 1 SSH-2 keys
10:46:34    Trace:  Attempting keyboard-interactive authentication
10:46:34    Trace:  Using keyboard-interactive authentication. inst_len: 0, num_prompts: 1
10:46:34    Command:    Pass: **************
10:46:34    Trace:  Access granted
10:46:34    Trace:  Opening session as main channel
10:46:34    Trace:  Opened main channel
10:46:34    Trace:  Started a shell/command
10:46:34    Status: Connected to [IP.ADD.RE.SS]
10:46:35    Trace:  CSftpControlSocket::ConnectParseResponse()
10:46:35    Trace:  CSftpControlSocket::ResetOperation(0)
10:46:35    Trace:  CControlSocket::ResetOperation(0)
10:46:35    Trace:  CFileZillaEnginePrivate::ResetOperation(0)
10:46:35    Trace:  CSftpControlSocket::FileTransfer(...)
10:46:35    Status: Starting upload of /tmp/fz3temp-1/wp-config.php
10:46:35    Trace:  CSftpControlSocket::SendNextCommand()
10:46:35    Trace:  CSftpControlSocket::ChangeDirSend()
10:46:35    Command:    cd "/"
10:46:35    Response:   New directory is: "/"
10:46:35    Trace:  CSftpControlSocket::ResetOperation(0)
10:46:35    Trace:  CControlSocket::ResetOperation(0)
10:46:35    Trace:  CSftpControlSocket::ParseSubcommandResult(0)
10:46:35    Trace:  CSftpControlSocket::FileTransferSubcommandResult()
10:46:35    Trace:  CSftpControlSocket::SendNextCommand()
10:46:35    Trace:  FileTransferSend()
10:46:35    Command:    put "/tmp/fz3temp-1/wp-config.php" "wp-config.php"
10:46:35    Error:  /wp-config.php: open for write: permission denied
10:46:35    Trace:  FileTransferParseResponse(2)
10:46:35    Trace:  CSftpControlSocket::ResetOperation(2)
10:46:35    Trace:  CControlSocket::ResetOperation(2)
10:46:35    Error:  File transfer failed
10:46:35    Trace:  CFileZillaEnginePrivate::ResetOperation(2)
10:46:35    Trace:  CSftpControlSocket::FileTransfer(...)
10:46:35    Status: Starting upload of /tmp/fz3temp-1/wp-config.php
10:46:35    Trace:  CSftpControlSocket::ParseSubcommandResult(0)
10:46:35    Trace:  CSftpControlSocket::FileTransferSubcommandResult()
10:46:35    Status: Retrieving directory listing of "/"...
10:46:36    Trace:  sftpcontrolsocket.cpp(836): List called from other command   caller=0x7f3db4003080
10:46:36    Trace:  CSftpControlSocket::ParseSubcommandResult(0)
10:46:36    Trace:  CSftpControlSocket::ListSubcommandResult()
10:46:36    Trace:    state = 1
10:46:36    Trace:  CSftpControlSocket::SendNextCommand()
10:46:36    Trace:  CSftpControlSocket::ListSend()
10:46:36    Trace:    state = 3
10:46:36    Command:    ls
10:46:36    Status: Listing directory /
10:46:37    Trace:  CSftpControlSocket::ListParseResponse()
10:46:37    Trace:  CSftpControlSocket::ResetOperation(0)
10:46:37    Trace:  CControlSocket::ResetOperation(0)
10:46:37    Trace:  CSftpControlSocket::ParseSubcommandResult(0)
10:46:37    Trace:  CSftpControlSocket::FileTransferSubcommandResult()
10:46:41    Trace:  CSftpControlSocket::SendNextCommand()
10:46:41    Trace:  FileTransferSend()
10:46:41    Command:    put "/tmp/fz3temp-1/wp-config.php" "wp-config.php"
10:46:41    Error:  /wp-config.php: open for write: permission denied
10:46:41    Trace:  FileTransferParseResponse(2)
10:46:41    Trace:  CSftpControlSocket::ResetOperation(2)
10:46:41    Trace:  CControlSocket::ResetOperation(2)
10:46:41    Error:  File transfer failed
10:46:41    Trace:  CFileZillaEnginePrivate::ResetOperation(2)
10:46:41    Trace:  CSftpControlSocket::FileTransfer(...)
10:46:41    Status: Starting upload of /tmp/fz3temp-1/wp-config.php
10:46:41    Trace:  CSftpControlSocket::ParseSubcommandResult(0)
10:46:41    Trace:  CSftpControlSocket::FileTransferSubcommandResult()
10:46:41    Status: Retrieving directory listing of "/"...
10:46:41    Trace:  sftpcontrolsocket.cpp(836): List called from other command   caller=0x7f3db4003080
10:46:41    Trace:  CSftpControlSocket::ParseSubcommandResult(0)
10:46:41    Trace:  CSftpControlSocket::ListSubcommandResult()
10:46:41    Trace:    state = 1
10:46:41    Trace:  CSftpControlSocket::SendNextCommand()
10:46:41    Trace:  CSftpControlSocket::ListSend()
10:46:41    Trace:    state = 3
10:46:41    Command:    ls
10:46:41    Status: Listing directory /
10:46:42    Trace:  CSftpControlSocket::ListParseResponse()
10:46:42    Trace:  CSftpControlSocket::ResetOperation(0)
10:46:42    Trace:  CControlSocket::ResetOperation(0)
10:46:42    Trace:  CSftpControlSocket::ParseSubcommandResult(0)
10:46:42    Trace:  CSftpControlSocket::FileTransferSubcommandResult()
10:46:42    Trace:  CSftpControlSocket::SendNextCommand()
10:46:42    Trace:  FileTransferSend()
10:46:42    Command:    put "/tmp/fz3temp-1/wp-config.php" "wp-config.php"
10:46:42    Error:  /wp-config.php: open for write: permission denied
10:46:42    Trace:  FileTransferParseResponse(2)
10:46:42    Trace:  CSftpControlSocket::ResetOperation(2)
10:46:42    Trace:  CControlSocket::ResetOperation(2)
10:46:42    Error:  File transfer failed
10:46:42    Trace:  CFileZillaEnginePrivate::ResetOperation(2)
10:46:42    Status: Retrieving directory listing of "/"...
10:46:42    Trace:  CSftpControlSocket::ParseSubcommandResult(0)
10:46:42    Trace:  CSftpControlSocket::ListSubcommandResult()
10:46:42    Trace:    state = 1
10:46:42    Trace:  CSftpControlSocket::SendNextCommand()
10:46:42    Trace:  CSftpControlSocket::ListSend()
10:46:42    Trace:    state = 3
10:46:42    Command:    ls
10:46:43    Status: Listing directory /
10:46:43    Trace:  CSftpControlSocket::ListParseResponse()
10:46:43    Trace:  CSftpControlSocket::ResetOperation(0)
10:46:43    Trace:  CControlSocket::ResetOperation(0)
10:46:43    Status: Directory listing of "/" successful
10:46:43    Trace:  CFileZillaEnginePrivate::ResetOperation(0)
    
por Томица Кораћ 03.11.2016 / 11:27

1 resposta

2

Verificando o código-fonte do FileZilla / PuTTY, fica claro que o FileZilla realmente recebeu um erro de "permissão negada" ao tentar abrir um arquivo para gravação.

Se o conteúdo do arquivo foi excluído apesar do erro, ele deve ser um erro / configuração incorreta do servidor SFTP.

    
por 03.11.2016 / 12:15