Почему я не могу удалить группу с icacls из файла после отмены прав на чтение?

1898
Zhro

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

Это удалит группу «Пользователи» просто отлично:

copy a b icacls b /inheritance:d icacls b /remove:g "Users" 

Результат: файл больше не имеет группы «Пользователи».

Но если я удалю доступ для чтения, то группа не может быть удалена с помощью icacls:

copy a b icacls b /inheritance:d icacls b /deny "Users":r icacls b /remove:g "Users" 

Результат: в файле все еще есть группа «Пользователи».

Чтобы обойти это, я должен сначала предоставить группе «полное» разрешение, а затем использовать его, /removeчтобы гарантировать, что группа будет удалена. Но это похоже на уязвимость, поскольку определенная группа, вкратце, будет иметь полный доступ.

1

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

1
Twisty Impersonator

Вы используете неправильный переключатель. Вам необходимо использовать /remove:d:

icacls b /remove:d "Users" 

Когда группе было отказано в разрешениях, у /remove:gкоммутатора нет прав на удаление.

В качестве альтернативы, чтобы удалить любые разрешения, назначенные группе, независимо от того, предоставлены они или нет, используйте:

icacls b /remove "Users" 

Резюме

  • /remove:gудаляет права (G)
  • /remove:dудаляет права, которые (D) включены
  • /remove удаляет все права

Более подробную информацию о коммутаторах Icacls можно найти на TechNet .

Мне пришлось использовать `/ remove BUILTIN \ Users` на моем сервере. Не знаю, почему `BUILTIN \` требовался при удалении, отлично работает на грантах. AlwaysLearning 5 лет назад 0