Запретить загрузку файла через SFTP

Скорость и надежность часто являются противоположными требованиями. diff (или cmp ) будет сравнивать файлы побитно, что даст наиболее надежный ответ. (Используйте diff -q , если вы только хотите узнать, совпадают ли файлы.)

Чтобы сделать это быстрее, вам придется отказаться от полного чтения файлов и рассчитывать на временные метки; или пропустить передаваемые данные, что, вероятно, не является большой проблемой для одной системы, поскольку дисковый ввод-вывод, вероятно, будет фактором, ограничивающим скорость.

Если файлы находились в разных системах, и у вас есть md5sum или аналогичный, вы можете сделать что-то вроде

cd /somewhere ; find . -type f | xargs -d '\n' md5sum > /tmp/checksums

на обоих концах, а затем сравнить выходные файлы. Таким образом, вам нужно будет передавать только хеши, а не все данные. (или sha512sum , если вы хотите более сильную проверку). rsync -c также очевидно внутренне использует MD5 .


Выбор между простой проверкой временных меток и чтением всех данных также зависит от предполагаемого источника ошибок. Проверка метаданных покажет, завершился ли процесс копирования перед копированием всего, но не будет проверять фактические скопированные данные. Чтобы обнаружить скрытое повреждение данных, данные абсолютно должны быть прочитаны полностью и либо сравнивать полные данные, либо просто контрольные суммы. С помощью rsync rsync -i -c выведет список файлов, контрольные суммы которых не совпадают, и скопирует их снова.

3
07.12.2016, 22:57
1 ответ

Вы можете настроить свой сервер так, чтобы этот файл находился где-нибудь еще (вне дома пользователя), используя, например:

AuthorizedKeysFile /etc/ssh/authorized_keys/%u

Тем не менее, эти файлы будут доступны для чтения пользователям. Другая возможность - использовать

AuthorizedKeysCommand /usr/sbin/get_user_keys
AuthorizedKeysCommandUser dedicated_user

И команда / usr / sbin / get_user_keys будет получать ключи для пользователей из другого места (например, указанного выше) с использованием специального пользователя. Пользователь, ведущий журнал, не сможет видеть другие ключи.

1
27.01.2020, 21:30

Теги

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