Как перечислить символические ссылки с sftp?

Наш хостинг-провайдер не разрешает ssh -access (поскольку безопасность), но позволяет нам загружать файлы и управлять каталогами через sftp . (Единственный другой выбор – через «cpanel»).

sftp достаточно хорош, чтобы создавать символические ссылки, но недостаточно, чтобы правильно их перечислить. Например:

 sftp> symlink 500 rwu sftp> ls -l lrwxrwxrwx 1 foo bar 3 May 22 16:27 rwu 

То есть, я вижу , что « rwu » является символической rwu , но я не могу понять, что . По крайней мере, не по умолчанию. Есть ли какая-то «скрытая» опция для всего sftp -client или ее ls команды, которая правильно отображает символические ссылки – как может быть реальный ls(1) ?

В настоящее время OpenSSH SFTP-клиент не поддерживает это.

 #ifdef notyet char * do_readlink(struct sftp_conn *conn, const char *path) { … } #endif 

Это единственное появление SSH_FXP_READLINK в исходном коде OpenSSH. Я не знаю, почему это прокомментировано или что потребуется, чтобы заставить его работать. Единственное релевантное сообщение, которое я могу найти в списке рассылки OpenSSH, – это исправление с 2002 года, которое не было принято.

Таким образом, ваш единственный вариант – использовать другой SFTP-клиент, такой как SSHFS или завиток .