View Issue Details

IDProjectCategoryView StatusLast Update
0002445Far ManagerCopy/Movepublic2015-01-05 09:33
Reporterald Assigned ToDrKnS  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Platformx64OSWindowsOS Version7
Product Version3.0 
Fixed in Version3.0 
Summary0002445: Копирование зашифрованных (EFS) файлов
DescriptionНе удаётся скопировать зашифрованный (NTFS атрибут encrypted) файл на сетевой диск.
При попытке копирования сначала выдаётся запрос на элевацию. Если ответить утвердительно (нажать OK), то выдается сообщение:
╔═══════════════════════════ Ошибка ═══════════════════════════╗
║ Системе не удается найти указанный путь. ║
║ Ошибка копирования ║
║ "test.doc" ║
║ в ║
║ "N:\test.doc" ║
╟──────────────────────────────────────────────────────────────╢
║ { Повторить } [ Пропустить ] [ Пропустить все ] [ Отменить ] ║
╚══════════════════════════════════════════════════════════════╝

Если же выбрать "Пропустить", то выводится:
╔═══════════════════════════ Ошибка ═══════════════════════════╗
║ Указанный файл не может быть зашифрован. ║
║ Ошибка копирования ║
║ "test.doc" ║
║ в ║
║ "N:\test.doc" ║
╟──────────────────────────────────────────────────────────────╢
║ { Повторить } [ Пропустить ] [ Пропустить все ] [ Отменить ] ║
╚══════════════════════════════════════════════════════════════╝

В любом случае нет возможности отказаться от шифрования копии. Так что единственный способ скопировать файл - это снять с него атрибут "Зашифрованный", скопировать, вернуть атрибут на место... или воспользоваться проводником.
Additional InformationFar Manager 3.0 build 3506 x86
TagsNo tags attached.
Build4033

Activities

ald

2013-07-10 09:19

reporter   bugnote:0011256

Маленькое дополнение. По идее запрос на элевацию прав процесса вообще является лишним, т.к. проблема не в правах.

2useven10

2013-07-10 10:38

developer   bugnote:0011257

проблема возможно та же, что и в 0002099 - elevated фар не видит сетевой диск

ald

2013-07-10 12:35

reporter   bugnote:0011258

Last edited: 2013-07-10 13:17

Проблема похожа на 0002099, но все же суть разная. В описанной в данном issue ситуации элевация вообще не требуется. Вместо этого FAR (как я понимаю), должен предложить оставить конечный файл без шифрования (как это делает проводник).
Судя по предпоследнему сообщению на странице http://forum.farmanager.com/viewtopic.php?p=13915#p13915 в FAR 1.71 в этой ситуации была кнопка "Расшифровать", которой в 3.0 не наблюдается.

DrKnS

2013-07-10 14:47

administrator   bugnote:0011259

> была кнопка "Расшифровать", которой в 3.0 не наблюдается.

кнопка на месте, но она активируется только когда приёмник физически не поддерживает шифрование, а вы, видимо, копируете по сети на ntfs.

ald

2013-07-10 15:17

reporter   bugnote:0011260

Теперь логику появления кнопки понял. Да, файловая система на сетевом диске NTFS.

PS. Не могу сейчас сказать как виндовый проводник определяет доступность шифрования, но при попытке выставить атрибут encrypted в Проводнике получаю сообщение "Запрошенная операция не может быть завершена. Компьютер должен иметь доверие для делегирования и текущая учетная запись должна быть настроена на разрешение делегирования". При копировании средствами Windows получаю (логичный) запрос "Подтверждение потери шифрования. Хотите скопировать этот файл без шифрования? ...". Средствами же Far файл вообще не удаётся скопировать (не сняв предварительно атрибут).

2useven10

2013-07-17 15:24

developer   bugnote:0011266

А можно ли шифровать файлы на сетевом диске (даже если он NTFS) ?
На моей системе я такого делать не могу (Access Denied).
Может просто считать, что для сетевых дисков шифрование невозможно ?

DrKnS

2013-07-17 18:40

administrator   bugnote:0011267

Ну MSDN вроде как утверждает, что EncryptFile/DecryptFile по SMB поддерживаются.

Может как-то приседать надо для этого или права иметь.

ald

2013-07-18 08:49

reporter   bugnote:0011272

Last edited: 2013-07-19 11:55

Не хочу умничать, но не проще ли выдавать запрос на копирование с потерей шифрования если CopyFileEx завершилось с ошибкой ERROR_ENCRYPTION_FAILED (независимо от того, какая FS на целевом диске)?
Также в MSDN по поводу поддержки шифрования написано "To determine whether a file system supports file encryption for files and directories, call the GetVolumeInformation function and examine the FS_FILE_ENCRYPTION bit flag."

poli-smen

2014-08-01 10:51

reporter   bugnote:0012826

Пожалуйста исправьте этот баг, а то тоталкомандрщики уже подкалывают, что их древний Total Commander копирует такие файлы даже не заикаясь, а мой современный Far Manager сначала зачем-то требует повышения прав, а получив их всё равно не может ничего скопировать.

У нас на предприятии на всех компьютерах файлы пользователей зашифрованы стандартным EFS (такое требование руководства) и всякий раз копировать с помощью проводника или Total Commander-а как-то не с руки. И это при живом-то Far-е.

Для исправления этого бага всего-то делов указать в функции CopyFileEx флаг COPY_FILE_ALLOW_DECRYPTED_DESTINATION.

Или же можно по принципу проводника - сначала попытаться копировать без указания этого флага, если функция вернёт ошибку ERROR_ENCRYPTION_FAILED, то спросить пользователя согласен ли он скопировать файл не зашифрованным и если пользователь не против, тогда делать вторую попытку копирования уже с флагом COPY_FILE_ALLOW_DECRYPTED_DESTINATION.

Правда этот флаг у функции CopyFileEx появился начиная с WinXP, но выполнить проверку версии винды ничего не стоит, да и более старые версии виндов наверно уже и не актуальны.

DrKnS

2014-08-01 18:40

administrator   bugnote:0012827

В 4033 и выше файлы можно будет расшифровать в процессе копирования.

К сожалению, подавить запрос повышения прав здесь (пока что) не получится.

Issue History

Date Modified Username Field Change
2013-07-10 08:28 ald New Issue
2013-07-10 09:19 ald Note Added: 0011256
2013-07-10 10:36 2useven10 Relationship added related to 0002099
2013-07-10 10:38 2useven10 Note Added: 0011257
2013-07-10 12:35 ald Note Added: 0011258
2013-07-10 13:17 ald Note Edited: 0011258
2013-07-10 14:47 DrKnS Note Added: 0011259
2013-07-10 15:17 ald Note Added: 0011260
2013-07-17 15:24 2useven10 Note Added: 0011266
2013-07-17 18:40 DrKnS Note Added: 0011267
2013-07-18 08:49 ald Note Added: 0011272
2013-07-19 11:55 ald Note Edited: 0011272
2014-08-01 10:51 poli-smen Note Added: 0012826
2014-08-01 18:40 DrKnS Note Added: 0012827
2014-08-01 18:41 DrKnS Assigned To => DrKnS
2014-08-01 18:41 DrKnS Status new => feedback
2015-01-05 09:33 DrKnS Build => 4033
2015-01-05 09:33 DrKnS Status feedback => closed
2015-01-05 09:33 DrKnS Resolution open => fixed
2015-01-05 09:33 DrKnS Fixed in Version => 3.0
2015-01-05 09:33 DrKnS Relationship deleted related to 0002099