Erro de permissão de envio do arquivo SFTP e diretório remoto vazio

0

Ao conectar-se ao sftp por sftp user@serveripaddress , verifiquei a lista de arquivos em ls , mas isso não mostra nada no diretório remoto, também tentei cd , mas nenhum outro caminho para o qual eu possa me mover.

Eu tentei lls , isso mostra o diretório do meu projeto.

tentou adicionar o diretório no remoto por, mkdir test mas me dá erro:

Couldn't create directory: Permission denied

Eu encontrei o arquivo no diretório local em /backups/mall/20180524_mallproducts.csv

Então, agora estou tentando testar o upload do arquivo para o diretório remoto por comando, put backups/client/mall/20180522150444_mallproduct.csv /

isso me dá resultado de:

Uploading backups/client/mall/20180522150444_mallproduct.csv to /20180522150444_mallproduct.csv

remote open("/20180522150444_mallproduct.csv"): Permission denied

então eu uso chmod, mas isso me dá um erro, porque o diretório remoto está vazio (sem arquivos ou pastas):

Couldn't setstat on "/": Permission denied

O que poderia estar errado? como posso alterar a permissão no sftp?

Em docker-compose.yml , esta é a minha configuração para o sftp,

sftp:
    image: atmoz/sftp
    restart: always
    volumes:
        - ./data/sftp:/home/foo/upload
    ports:
        - "2222:22"
    command: sftp:pass:48

Eu estava esperando a pasta home ao acessar o SFTP, mas o diretório está vazio.

No começo eu estava acessando sudo docker-compose exec sftp bash , Tem o diretório /home/foo/upload .

Mas então eu acesso por sftp user@serveripaddress , que é onde eu descobri que meu código está tentando fazer o upload aqui.

Este é o código para upload via sftp:

<?php

namespace Mall\Infra\Transfer;

use phpseclib\Net\SFTP;

class SftpPutTransfer
{

    /**
     * @var File $name
     */
    public function put(string $remote, string $local)
    {
        $sftp = new SFTP('user', 22);
        if (!$sftp->login('user', 'pass')) {
            var_dump('failed');
        } else {
            var_dump('success');
            var_dump($sftp->rawlist());
            $sftp->put($remote, $local, SFTP::SOURCE_LOCAL_FILE);
        }
    }
}

Estou confuso sobre qual SFTP conectar e testar.

    
por John Dale Ocaya Andil Dale 25.05.2018 / 04:20

0 respostas

Tags