Icacls Предоставить всем пользователям доступ к папке, включая новые файлы?

346
Mark Deven

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

Icacls %fold% /grant Everyone:F /inheritance:e /T 

Однако эти параметры не применяются к вновь созданным файлам. Чего мне не хватает в команде Icacls?

1

1 ответ на вопрос

2
grawity

Вы включаете наследование для этого элемента отдельно от записей ACL. Это означает, что он получит ACE от своего родителя. Он не имеет абсолютно никакого отношения к тому, будет ли он предоставлять собственные настраиваемые записи ACE для наследования детьми.

Вы должны пометить каждую запись ACL как наследуемую отдельно для дочерних файлов (наследование объекта) и дочерних папок (наследование контейнера):

icacls foo / grant Каждый: (OI) (CI) F

Это эквивалентно раскрывающемуся «Наследовать: [Файлы и подпапки]» в Свойствах - Безопасность - Дополнительно .

Когда вы добавляете ACE, помеченные как наследуемые, icacls будет распространять их автоматически, и эта /Tопция не нужна (может быть, даже немного вредна).

Совет: сначала используйте `takeown`, затем` icacls`. «Все» могут быть заменены текущим именем пользователя. Biswapriyo 5 лет назад 0
@Biswapriyo: зачем ты это делаешь? ОП специально хочет предоставить доступ _все пользователи_, а не только самим себе. grawity 5 лет назад 2
Я смогу проверить это в ближайшее время, спасибо. Mark Deven 5 лет назад 0
вопрос, что мне поставить на место `foo`? Или это то, что я должен был там иметь? Mark Deven 5 лет назад 0
@MarkDodsons `foo` будет заменен на`% fold% `... это просто путь к папке. Pimp Juice IT 5 лет назад 0
Благодарю. Foo обычно ссылается на указанную папку или файл? Mark Deven 5 лет назад 0
Это часто используемое [слово-заполнитель] (https://en.m.wikipedia.org/wiki/Placeholder_name#Computing). Как и ваш `% Fold%` в вашем собственном примере, он ссылается на все, что ему нужно для ссылки в данный момент, и вы должны заменить его реальным, будь то файл или что-то еще. grawity 5 лет назад 0

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