Я сделал File Cleaner Windows Service (используя . NET Core 3 Worker Service, размещенный в Windows Service ). Я настроил службу на запуск от имени администратора с полным доступом.
Теперь у меня есть два веб-сайта IIS, работающих под управлением IIS APP POOL\foo
и IIS APP POOL\bar
пользователей соответственно. Каждый сайт имеет свои собственные папки C:\web\foo\Uploads\
и C:\web\bar\Uploads\
, которые я хочу, чтобы программа очистки файлов периодически их удаляла.
Даже если я установил разрешение «Полный доступ» для папок Uploads
для Administrator
, вновь создаваемых файлов foo
и bar
все еще не могут быть удалены Администратором. Я могу вручную изменить владельца файлов в этой папке, а затем удалить их (что интересно, в проводнике файлов я могу просто удалить их без проблем), но я не знаю, как это сделать программно.
Учитывая что я могу дать любое разрешение моему запущенному приложению, как я могу установить владельца папки / файла / полный контроль для учетной записи, которая его запускает, а затем удалить ее?