Ошибка разрешения загрузки файла SFTP и пустой удаленный каталог


1

При подключении к sftp sftp user@serveripaddress, я проверил список файлов ls, но это ничего не показывает в удаленном каталоге, также пробовал, cdно нет других путей, по которым я могу перейти.

Я пытался lls, это показывает каталог для моего проекта.

попытался добавить каталог в удаленном режиме, mkdir test но выдает ошибку:

Couldn't create directory: Permission denied

У меня есть файл, найденный в локальном каталоге в /backups/mall/20180524_mallproducts.csv

Итак, теперь я пытаюсь проверить загрузку файла в удаленный каталог по команде, put backups/client/mall/20180522150444_mallproduct.csv /

это даст мне результат:

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

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

поэтому я использую chmod, но это дает мне ошибку, потому что удаленный каталог пуст (нет файлов или папок):

Couldn't setstat on "/": Permission denied

Что может быть не так? как я могу изменить разрешение в sftp?

Во docker-compose.yml, это мои настройки для sftp,

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

Я ожидал папку homeпри доступе к SFTP, но каталог пуст.

Сначала я обращался sudo docker-compose exec sftp bash, у него есть /home/foo/uploadкаталог к ​​нему.

Но затем я получаю доступ sftp user@serveripaddress, вот где я узнал, что мой код пытается загрузить здесь.

Это код для загрузки через 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);
        }
    }
}

Я запутался в том, что SFTP подключить и проверить.

Ответы:


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.