Цитирование Как определить, можете ли вы писать в файл с SFTP из-за вашей группы? ,
Вы можете сделать mode & 00002
, чтобы проверить, является ли [каталог]доступен для общественности, и вы можете получить список каталогов и посмотреть, совпадает ли владелец .
с пользователем, с которым вы вошли (хотя stat
обычно не возвращает longname
для серверов SFTPv3, чточто вам нужно, чтобы получить имя пользователя от этого), но как насчет групповых разрешений?
В ответе на этот пост было предложено, чтобы лучший способ проверить возможность записи файла с SFTP былна самом деле открыть этот файл для записи.например.что-то аналогичное fopen('filename.ext', 'w');
.
Мой вопрос: каков наилучший способ определения возможности записи в каталог с SFTP?Вы не можете открыть каталог для записи, как вы можете файл.Мое лучшее предположение: просто попытаться загрузить временный файл в рассматриваемом каталоге?
Как, может быть, использовать SSH_FXF_CREAT и SSH_FXF_EXCL?Хотя возможность того, что файл уже существует, усложняет ситуацию.Я предполагаю, что список каталогов мог быть получен, и тогда можно было бы попытаться загрузить имя файла, который не существует , но тот факт, что для этого потребуются разрешения на чтение, не выдерживающие его, также не будет работать, есликаталог был очень большой.
Есть идеи?