Page 1 of 1

Перенос файлов и прав доступа (безопасность)

Posted: Mon 22 Jul, 2019 12:04
by ogpzdry
Доброго времени суток!
Много лет пользуюсь FarManager со времен NortonCommander. Без него чувствую себя как без рук и это не преувеличение! Всегда все хватало для работы, приятно видеть постоянные улучшения, все в ногу с современными операционками, удобства использования процветают.
С одним не могу справиться, может, не знаю, как это сделать. Очень неудобно одно досадное поведение в Far.
В системах, например, Win7 и Win2012R2 при переносе файлов в проводнике из одной папки в другую на одном и том же диске меняются права доступа (настройки безопасности) в согласии с настройками папки назначения. Это очень логично. Давным давно, в WinXP и Win2003, это было не так и безопасность в таких случаях сохранялась, потом появился фикс и ключик в реестре по изменению этого поведения.
К сожалению в Far сегодня при переносе файлов на одном диске и опции "Права доступа" "По умолчанию" настройки безопасности перемещаемых файлов сохраняются, хотя выставлен параметр "Использовать системную функцию копирования" (параметра "Использовать системную функцию переноса" не видно), что очень-очень не удобно и постоянно возникают проблемы с доступом к перемещенным файлам, например, на сетевом диске. Каждый раз при переносе нажимать опцию "Наследовать" также очень не удобно и не всегда возможно, ведь для этого требуются специальные права.
Вопрос-предложение. Нет ли в Far настройки, которая меняет поведение установки прав доступа перемещаемых в пределах диска файлов для опции "По умолчанию" ? Хорошо было бы вынести такую настройку на уровень параметра "Использовать системную функцию копирования".
Вопрос-предложение. Не лучше ли вообще убрать опцию "По умолчанию" из диалога Копирования и Переноса, а оставить только "Копировать" и "Наследовать", чтобы сразу было видно, что делается с правами файлов? Соответственно, "По умолчанию" задавать в системных настройках...
Вопрос-предложение. Почему бы не сориентировать поведение по умолчанию в Far (после установки Far) при переносе файлов на поведение в современных ОС?
Надеюсь, написал по адресу.
Спасибо за Ваш труд!

Перенос файлов и прав доступа (безопасность)

Posted: Mon 22 Jul, 2019 14:22
by DrKnS
ogpzdry wrote:
Mon 22 Jul, 2019 12:04
нажимать опцию "Наследовать" также очень не удобно и не всегда возможно, ведь для этого требуются специальные права
Я не совсем понимаю - вы думаете, что если нажимать опцию будете не вы, а код, то специальные права не потребуются?

Перенос файлов и прав доступа (безопасность)

Posted: Tue 23 Jul, 2019 11:59
by ogpzdry
Если будет актуально, повторю опыты и отвечу на этот вопрос позже. Возможно, я сделал неверные выводы. Боюсь, что это отвлечет от главного: сделать Far при переносе файлов в пределах одного диска подобным Проводнику без дополнительных переключений опции при каждой операции (возможно, только единожды установив какую-нибудь настройку, которую, опять же, наверное, имеет смысл установить по умолчанию как в Windows).

Перенос файлов и прав доступа (безопасность)

Posted: Tue 23 Jul, 2019 14:24
by DrKnS
Запустите hlf:System.CopySecurityOptions

Перенос файлов и прав доступа (безопасность)

Posted: Wed 24 Jul, 2019 11:58
by ogpzdry
Хорошо у вас настроен Far по умолчанию! О таких настройках не приходилось и думать. В последнее время устраивают почти все настройки по умолчанию сразу после инсталляции.
Попробовал для указанного вами параметра задавать значения 3 и 7. После перезапуска Far 3.0.5354 параметр сбрасывается в 0.
После Shift+F9 значение сохраняется (разницу между 3 и 7 не прочувствовал, главное, что после Shift+F9 значение в профиле пользователя сохраняется). Здорово! Принято. Теперь ясна логика нуля - это и есть "По умолчанию" - первый из трех вариантов. Наверное, было бы здорово, чтобы это соответствовало поведению Проводника Windows.

Теперь опыты...
Подготовка к опытам.
Каталог C:\temp, в нем две папки: "All" с безопасностью Пользователи - Полный доступ, Администраторы - Полный, Все – Изменение; и "Pro" с безопасностью: Пользователи - Полный доступ, Администраторы – Полный доступ, Прошедшие проверку - Изменение.
В папке All две папки AllE и AllF с наследуемыми от All настройками безопасности (без явно указанных настроек прав доступа), в папке Pro – папки ProE и ProF с наследуемыми настройками безопасности от своей родительской папки Pro (без явно указанных настроек прав доступа).

Опыт с Проводником Window.
Переносим в Проводнике папку AllE в Pro, а ProE в All. Смотрим безопасность. Теперь она такая же, как и в случае КОПИРОВАНИЯ этих папок в тех же направлениях!!! Т.е. AllE наследует права доступа от Pro (НЕ содержит ЯВНО указанные настройки), а ProE наследует настройки безопасности от All (НЕ содержит ЯВНО указанные настройки).

Опыт 0х0 (Access rights: (•) Default) Default – напрашивается вариант, как в Проводнике.
Переносим в Far’е папку AllF в Pro, а ProF в All. Смотрим безопасность. Она такая. Папка AllF содержит такую же безопасность, как и до перемещения – наследует права доступа от папки All, которая уже не является родительской для нее (ЯВНЫХ настроек НЕТ). Аналогично, ProF, находясь в All содержит те же наследуемые настройки безопасности от папки Pro. Такое поведение при переносе было в Проводнике Windows XP. Это не удобно в использовании, приводит к проблемам доступа, например, если я из своего места на сетевом диске переместил файлы в каталог с общим доступом, то другие его там могут не увидеть. При копировании таких проблем нет.

Опыт 0х3 (Access rights: (•) Inherit)
Переносим в Far’е папку AllF в Pro, а ProF в All. Смотрим безопасность. Она такая. Папка AllF содержит такую же безопасность как Pro, однако все права доступа указаны ЯВНО. Аналогично, ProF, находясь в All содержит ЯВНО указанные права доступа как у родительской папки All. Как видно, это также не соответствует поведению Проводника. Также не удобно. Получается, идет разрыв наследования безопасности и в случае изменения прав доступа у родительских папок, безопасность перемещенных таким образом дочерних папок останется без изменения, что также может легко привести к проблемам доступа.

Получается, к сожалению, что в Far’е нет возможности выставить точно такое же поведение, как в Проводнике, что касается переноса файлов в пределах одного диска, и что имеет смысл, если есть права на изменения прав доступа содержимого папки назначения. Это весьма востребовано, например, при работе по администрированию и обслуживанию сетевых каталогов.

Насчет наличия прав на изменение прав доступа перемещаемых объектов, Вы, DrKnS, совершенно правы. Опыты показали, что при отсутствии таких прав Far ведет себя более честно, он сообщает о недостатке прав и переносит файлы без изменения безопасности. Проводник переносит по-тихому, без предупреждения и без изменения безопасности.  Сначала мне показалось, что Проводник умеет это делать только с правами Изменение, однако, это так, только когда ты являешься владельцем перемещаемых объектов.

Перенос файлов и прав доступа (безопасность)

Posted: Sat 27 Jul, 2019 18:54
by DrKnS
ogpzdry wrote:
Wed 24 Jul, 2019 11:58
в Far’е нет возможности выставить точно такое же поведение, как в Проводнике
А можете резюмировать, что именно не получается? Желательно максимально кратко.

Перенос файлов и прав доступа (безопасность)

Posted: Tue 30 Jul, 2019 10:31
by ogpzdry
Спасибо! Постараюсь.
Хотелось бы, чтобы при переносе файлов на одном диске с опцией безопасности Наследовать (при наличии соответствующих прав) права доступа перенесенных файлов были такими же, как у новой родительской папки, но были указаны неявно, иначе получается разрыв наследования безопасности, что очень печально. (В версии 3.0.5354 они получаются явными.) Иными словами, чтобы результат прав доступа был такой же, как при копировании этих же файлов в Far'e ([x] Использовать системную функцию копирования). Именно так при наличии прав ведет себя Проводник при переносе файлов на одном диске.
Пожалуй, это главное резюме просьбы, остальное зависит от этого.

Перенос файлов и прав доступа (безопасность)

Posted: Wed 31 Jul, 2019 00:50
by DrKnS
ogpzdry wrote:
Tue 30 Jul, 2019 10:31
получается разрыв наследования безопасности, что очень печально
5438.

Перенос файлов и прав доступа (безопасность)

Posted: Wed 07 Aug, 2019 09:30
by ogpzdry
Огромное спасибо!
Тестирую, пользуюсь, наслаждаюсь!
Режим Copy и Inherited отрабатывают как в Проводнике, супер! Нет разрыва наследования!
Мне показалось, что теперь режим Default работает каким-то третьим способом (вроде, должен использовать либо Copy либо Inherited), после перемещения файлов в пределах диска при наличии прав на изменение безопасности, он на одни элементы делает наследование как нужно (в качестве родителя указана конкретная родительская папка), а в других случаях с наследованием тоже все хорошо, но в качестве родителя указано непонятное "Родительский объект". Напрашивается, что используется какая-то третья схема формирования настроек безопасности перемещаемых файлов.
Очень хочется, чтобы Default для процедуры перемещения был закреплен на умолчания Проводника - при перемещении в пределах одного диска поведение было как при явно указанной опции Inherited точь в точь.

Перенос файлов и прав доступа (безопасность)

Posted: Wed 07 Aug, 2019 10:42
by DrKnS
ogpzdry wrote:
Wed 07 Aug, 2019 09:30
Мне показалось, что теперь режим Default работает каким-то третьим способом
Не должно - Default сейчас это "вообще ничего не делать с правами доступа, расслабиться и откинуться на спинку кресла".
ogpzdry wrote:
Wed 07 Aug, 2019 09:30
хочется, чтобы Default для процедуры перемещения был закреплен на умолчания Проводника
Речь об этих политиках или о чём-то другом?

Перенос файлов и прав доступа (безопасность)

Posted: Fri 09 Aug, 2019 07:13
by ogpzdry
Спасибо за объяснения, перевариваю.

Я понял, что Default - это все-таки третий вариант обработки элементов безопасности файлов при переносе В ПРЕДЕЛАХ ОДНОГО ДИСКА (речь только об этих ситуациях, при копировании на любой диск или при переносе на другой диск всегда все было понятно):
Copy - копируются само собой с разрывом наследования по отношению к новому каталогу-родителю, так как элементы указываются явно (бывает очень востребовано, что в Проводнике одним кликом не сделаешь!!!);
Inherited - при наличии прав наследуются от нового каталога-родителя (или прародителя, все хорошо работает, полностью идентично Проводнику!!!);
Default - элементы безопасности вообще остаются без изменений, что не всегда совпадает с поведением Проводника (мне сложно здесь увидеть практическую ценность, правда, это может влиять на скорость переноса в пределах одного диска, наверное).

Это просто мое личное мнение. В принципе, если есть возможность выставить и сохранить конфигурацию на Inherited, то уже здорово! Но на мой взгляд было бы лучше при Default отрабатывать по одному из двух вариантов, т.е. либо по Copy, либо по Inherited, либо оставлять без изменений (если нет прав на изменения, Проводник также поступает), АНАЛОГИЧНО текущему поведению Проводника. Это избавило бы от разных результатов при таких переносах по умолчанию в Фаре и в Проводнике, ведь большинство, включая админов и спецов, вероятно, чаще всего используют режим Default, а саму разницу в поведении смогут заметить только при наступлении проблем.

Перенос файлов и прав доступа (безопасность)

Posted: Fri 09 Aug, 2019 22:15
by DrKnS
ogpzdry wrote:
Fri 09 Aug, 2019 07:13
Default - элементы безопасности вообще остаются без изменений, что не всегда совпадает с поведением Проводника (мне сложно здесь увидеть практическую ценность, правда, это может влиять на скорость переноса в пределах одного диска, наверное).
Default - да, как написано выше, это "ничего не делать".

Ничегонеделание, в общем случае, приводит к следующему:
1. При копировании чего угодно куда угодно права наследуются.
2. При переносе в пределах тома права остаются теми же (потому что по сути это переименование).
3. При переносе за пределы тома права наследуются (потому что перенос за пределы тома - по сути копирование + удаление).

Лично я не против, чтобы по умолчанию было Inherit, но это может иметь забавные последствия.
Например, фар не различает переименование и перенос файла. Вы можете сознательно иметь файл со специальными правами, потом переименовать его и внезапно обнаружить, что они превратились в тыкву.

Перенос файлов и прав доступа (безопасность)

Posted: Tue 27 Aug, 2019 11:18
by ogpzdry
Добрый день!
Спасибо за ответ.
Насчет переименования я полностью согласен! Иначе нельзя. Вероятно определиться с переименованием не так сложно - если не меняется путь до объекта... Наверное, эти две операции хорошо было бы по-любому различать, вероятно, достаточно на уровне программного кода, не на уровне интерфейса. При голом переименовании, наверное, вообще безопасность трогать не нужно, игнорируя опции для прав, смысла просто нет...
Обрадовался. Появилось время. Поставил версию 3.0.5454. Знакомлюсь, кажется есть изменения по правам и не мало...