Linux совместно использовал FTP: один файл не должен быть удален

for i in `qacct - o | awk 'NR>2 print {$1}'`
do
  ~/qacct.monthly $i
done
2
19.09.2013, 02:18
2 ответа

Загрузка файла работает путем создания нового временного файла и перемещения его в место, не путем перезаписи существующего файла. Это вызвано тем, что, если бы соединение было потеряно посреди перезаписи файла, Вас оставили бы с неполным файлом.

При загрузке нового файла, удалении существующего файла и загрузке новой версии существующего файла все требуют доступа для записи к каталогу только. Полномочия на существующем файле, если кто-либо не имеет значения. Таким образом A2 может одинаково изменить B1.txt и B2.txt.

При необходимости в различных полномочиях обновить эти два файла поместите их в различные каталоги с различными полномочиями.

При необходимости в этих двух файлах, чтобы быть доступными в том же каталоге, сделать B1.txt символьная ссылка на writable-by-A2/B1.txt где writable-by-A2 каталог, где A2 имеет разрешение записи.

1
27.01.2020, 22:23
  • 1
    то, что верен для proftpd? я думал, что это было немного более умно об обработке перезаписей, чем который, который является, почему это имеет отдельную опцию AllowOverwrite. Я протестировал это вчера вечером - с AllowOverwrite=yes, я мог перезаписать файл только с полномочиями записи файла. Без Overwrite=off мне была нужна запись каталога перманент. –  cas 19.09.2013, 03:47
  • 2
    @CraigSanders я не знаю то, что делает Proftpd. Я не рекомендую включить перезапись, потому что Вы закончили бы с усеченным файлом, если соединение умирает. –  Gilles 'SO- stop being evil' 19.09.2013, 03:52

Какое сообщение об ошибке Вы получаете?

Если ошибка является "Разрешением перезаписи, отклоненным", затем необходимо позволить перезаписать в Вашем proftpd.conf - по умолчанию это это отключило.

Чтобы сделать это, добавьте:

AllowOverwrite yes

любому <Global> раздел (это позволит перезаписывать где угодно, что полномочия файла позволили бы его), или к a <Directory /home/A1> раздел (это позволило бы перезаписывать только в том каталоге и только если полномочия файла позволили его).

Если это не сообщения об ошибках, добавьте больше деталей к своему вопросу - сообщение об ошибке, по крайней мере, и предпочтительно извлечение журнала.

0
27.01.2020, 22:23
  • 1
    Спасибо за Ваш ответ! Перезапись по умолчанию включена. Я получаю только "успешную команду DELE". Если я пытаюсь изменить его через оболочку (su - A2), это - та же ситуация, таким образом, я могу удалить/изменить его. –  Thomas 18.09.2013, 16:06
  • 2
    , какой клиент ftp Вы используете? это кажется, что удаляет и затем загружает замену скорее затем просто перезапись. после того как файл удален, Вы должны записать перманент на каталоге для создания нового файла (включая загрузку файл с тем же именем как просто удаленный файл) –  cas 18.09.2013, 16:14

Теги

Похожие вопросы