Эта проблема очень странная IMO. Я получил FTP-доступ к сайту, над которым я работаю, но, похоже, проблема с разрешениями. В FileZilla Если я пытаюсь отредактировать и повторно загрузить файл на сервер, я получаю ошибку « Permission denied
доступе», но в то же время содержимое отредактированного файла стирается на сервере! Так что я попал в ситуацию, когда удаленный файл поврежден (все содержимое удалено - 0B!), Но у меня нет разрешения на его исправление.
Для большинства разрешений установлено значение 775 для папок и 664 для файлов.
- Почему я могу получить
permission denied
? Что не так с моими разрешениями? - Если мне действительно не дано разрешение на запись в файл, почему его содержимое удаляется?
Я прилагаю два журнала FileZilla, один с отключенной отладкой:
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
И посмотри с отладкой
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)