+Ro+Di+Ri слабее, чем просто +Di+Ri ?

Как говорится, "век живи, век учись" или "Netware неисчерпаема, как атом"
. Полез тут кое-что в своих старых скриптах упорядочить и наткнулся на интересную вещь с аттрибутами на файловой системе NW (у меня это проявилось на NSS NW6.5, NSS NW5.1, TFS NW5.1 - различий не обнаружил).
1. Оказалось (просто не обращал на это особого внимания раньше), что если вы ставите атрибут +Ro на файл, то к нему автоматом добавляются атрибуты DiRi. Так ведёт себя штатный FLAG.EXE, точно также ведёт себя SETATTR от JRB. Автор JRB utilities предложил убедиться в этом самостоятельно, с помощью Wireshark - всё точно, так и есть.
2. А вот что меня лично шокировало - если поставить на файл/каталог только DiRi - этот файл/директорию никому не удастся удалить, даже админу - пока явно не снимет эти атрибуты. Но если добавить к DiRi атрибут Ro (или - см.п.1 - просто сделать +Ro) - то такой файл/директория... спокойно удаляются! Т.е., "усиление" защиты в виде дополнительного Ro-атрибута на самом деле защиту ослабляет. Удалял проводником, FAR-ом, TC.
Ещё немного по теме - стандартный FLAG.EXE не даёт поставить Ro на директорию:
FLAG-4.16 PTF-980818-906: Attributes specified are not applicable to Directories.
А вот SETATTR - ставит. В документации автор пишет, что просто игнорирует аттрибуты, которые нельзя поставить на директорию. Но по факту обнаружено, что 'SETATTR dir +Ro' (автоматом добавляются DiRi) отличается по поведению от 'SETATTR dir +Di+Ri' - точно также, как и с файлами, в случае с Ro директорию удалить МОЖНО, а БЕЗ Ro - НЕЛЬЗЯ. Чудеса.
Самое дурацкое для директории в этом случае, что SETATTR только ставит атрибуты, но не показывает (точнее, показывает фактически поставленные атрибуты только в момент установки, а просто посмотреть текущие аттрибуты - не имеет возможности). А FLAG для директорий колонку "DOS Attr" вообще не выводит. Получается, что поставив +Ro(+Di+Ri) на директорию, я потом не смогу визуально отличить этот вариант от +Di+Ri (без Ro). Но по факту-то они разные - с Ro удалить можно, без - нельзя.
Народ, у кого время и желание будет - попробуйте поиграться с Ro атрибутом для файлов и каталогов, мне интересно, как на других версиях с этим дело обстоит. John Baird пишет, что ему не удалось воспроизвести проблему с RoDiRi для директорий на NW6.0 и OES2 Linux SP2a. Для такого дела я выложу куда-нибудь в обменник утилиту SETATTR (напомню, стандартный FLAG.EXE отказывается ставить Ro на каталог).

1. Оказалось (просто не обращал на это особого внимания раньше), что если вы ставите атрибут +Ro на файл, то к нему автоматом добавляются атрибуты DiRi. Так ведёт себя штатный FLAG.EXE, точно также ведёт себя SETATTR от JRB. Автор JRB utilities предложил убедиться в этом самостоятельно, с помощью Wireshark - всё точно, так и есть.
2. А вот что меня лично шокировало - если поставить на файл/каталог только DiRi - этот файл/директорию никому не удастся удалить, даже админу - пока явно не снимет эти атрибуты. Но если добавить к DiRi атрибут Ro (или - см.п.1 - просто сделать +Ro) - то такой файл/директория... спокойно удаляются! Т.е., "усиление" защиты в виде дополнительного Ro-атрибута на самом деле защиту ослабляет. Удалял проводником, FAR-ом, TC.
Ещё немного по теме - стандартный FLAG.EXE не даёт поставить Ro на директорию:
FLAG-4.16 PTF-980818-906: Attributes specified are not applicable to Directories.
А вот SETATTR - ставит. В документации автор пишет, что просто игнорирует аттрибуты, которые нельзя поставить на директорию. Но по факту обнаружено, что 'SETATTR dir +Ro' (автоматом добавляются DiRi) отличается по поведению от 'SETATTR dir +Di+Ri' - точно также, как и с файлами, в случае с Ro директорию удалить МОЖНО, а БЕЗ Ro - НЕЛЬЗЯ. Чудеса.
Самое дурацкое для директории в этом случае, что SETATTR только ставит атрибуты, но не показывает (точнее, показывает фактически поставленные атрибуты только в момент установки, а просто посмотреть текущие аттрибуты - не имеет возможности). А FLAG для директорий колонку "DOS Attr" вообще не выводит. Получается, что поставив +Ro(+Di+Ri) на директорию, я потом не смогу визуально отличить этот вариант от +Di+Ri (без Ro). Но по факту-то они разные - с Ro удалить можно, без - нельзя.
Народ, у кого время и желание будет - попробуйте поиграться с Ro атрибутом для файлов и каталогов, мне интересно, как на других версиях с этим дело обстоит. John Baird пишет, что ему не удалось воспроизвести проблему с RoDiRi для директорий на NW6.0 и OES2 Linux SP2a. Для такого дела я выложу куда-нибудь в обменник утилиту SETATTR (напомню, стандартный FLAG.EXE отказывается ставить Ro на каталог).