Как через командную строку установить права безопасности на папка, допустим Images.
Руководство предлагает такое решение: icacls "C:\Temp\Images" /grant Everyone:F /t /c
Однако оно не устанавливает права полного контроля, почему то, где я ошибся
Что значит "не устанавливает права полного контроля"? Полный контроль для пользовательских каталогов у админа по дефолту. И вообще у всех, если это явно не запрещено.
Refguser, по умолчанию да, безусловно. Проблема в том, что их нет. Вероятнее всего причина отсутствия прав, какой то конфликт драйверов сканеров. На компьютере установлены несколько разнотипных сканеров и все они настроены на сохранение документов в эту папку. Пользователю удобно чтобы все отсканированные документы, не важно с какого сканера, попадали в эту папку и им по шаблону были даны соответствующие имена.
В какой то момент пользователь не может сохранить документы, и причина отсутствия такой возможности - отсутствие каких либо прав. Есть 2 варианта решения этой проблемы: найти виновника "сброса прав" и как то уже отталкиваться от этого, или при невозможности записи в папку проверить настройку прав и дать их через скрипт, ибо залезть и дать их через интерфейс та еще не травиальная задача для обычного пользователя.
Но вышеобозначенная команда не дает эти права, хотя согласно документации - именно она и должна давать.
Refguser, и да, для группы Everyone таких прав нет, по умолчанию есть права только на 4 группы: Пользователи прошедшие проверку, Система, Администраторы и Пользователи. И этих прав достаточно, чтобы записать что-то в эту папку. Но при конфликте, на папке нет никах прав вообще, и добавление группы "Все"/"Everyone" исправляет эту ситуацию, и добавляет все эти 4 группы дополнительно, словно они и были. Но исправляет, если это делать через интерфейс: Свойства - Безопасность - Редактировать - Добавить - Расширенные - Найти сейчас - далее выбор группы и несколько раз Ok
Но при конфликте, на папке нет никах прав вообще, и добавление группы "Все"/"Everyone" исправляет эту ситуацию, и добавляет все эти 4 группы дополнительно, словно они и были.
Они и были. Есть такой пункт "права на просмотр прав", если их нет, то вы просто не можете увидеть, какие права доступа кому назначены. Когда вы добавляете права на просмотр прав, то все остальные права как бы снимают шапки-невидимки и появляются перед вами "из ниоткуда", хотя на самом деле они всё это время здесь были, только невидимые. В GUI это называется "read permissions" ("чтение разрешений"), а в icacls называется RC "read control".
Однако оно не устанавливает права полного контроля, почему то, где я ошибся
Проверьте, не установлен ли запрет (deny), т.к. приоритет запрета выше, чем разрешения. Например, пользователь входит в две группы и для одной группы дано разрешение, а для другой группы запрет. В этом случае у пользователя не будет прав, т.к. запрет важнее.
Свой ответ: оказывается, нужно добавить наследование, тогда все ок, но чтобы это сделать, команду добавления нужно взять в кавычки: icacls "C:\Temp\Images" /grant 'Все:(CI)F' /t /c