
Я хочу перезаписать файл с правами доступа 777, но каталог, в котором находится файл, имеет права доступа 755. Поэтому это невозможно сделать.
решение1
Я предлагаю изменить права доступа к каталогу.
Краткое резюме вашего поста с опущенными не относящимися к делу частями:
Я хочу ЗАПИСАТЬ файл ... в каталог, который недоступен для записи никому, кроме пользователей. Я предполагаю, что вы не вошли в систему как этот конкретный пользователь.
То есть, 755 прав таковы:
- Пользователь: чтение (r), запись (w), переход в каталог (x)
- группа: чтение (r),cd в каталог (x)
- другое: чтение (r), cd в каталог (x)
Ergo только пользователь, которому принадлежит каталог, может записывать в него. Вы можете захотеть заменить записываемый файл в этом каталоге, но это то же самое, что записывать в общедоступный молочный магазин (777, не заблокированный) в заблокированном шкафу. Это не удается, потому что шкаф заблокирован.
(Если вы думаете: почему я должен писать в каталог, а не только в файл: каталог будет обновлен с такими данными, как последний доступ, размер, ....)
Другие вещи, которые я предположил:
- Вы не используете ACL.
- Это не какая-то специальная папка (типа /dev, /proc, ....)
решение2
Ваш вопрос довольно расплывчат.
Но я предполагаю, что проблема возникает из-за того, что WinSCP сначала пытается выполнить перенос во временный файл, что противоречит отсутствию у вас прав на создание файла.
ВыключатьПеренести резюме/Перенести во временное имя файлаопция предпочтений в WinSCP:
https://winscp.net/eng/docs/ui_pref_resume