Какая связь между UAC и ACL на платформах Windows? Это две разные схемы безопасности? Или одно надмножество другого?
Интуитивно я ожидал, что они связаны между собой, но я пытался понять это уже несколько часов, но не нашел никакой документации через поисковые запросы Google, в которой говорится об обеих темах, а также о сравнении / контрасте / обсуждении отношений.
Любые мысли и ссылки будут оценены.
Они связаны тем, что для своего функционирования UAC полагается на существование списков ACL (и всех связанных устройств безопасности).
UAC работает путем удаления (технически говоря, отключения) токена администратора из процессов без повышенных прав. Это означает, что если ACL для определенного файла или папки разрешает доступ только администраторам, процессы без повышенных прав не будут иметь доступа. Вот почему установщик не может писать в Program Files без предварительного повышения прав.
РЕДАКТИРОВАТЬ:
Видеть Эта статья для получения дополнительной информации об UAC.
В частности: «Когда администратор входит в систему на компьютере под управлением Windows 7 или Windows Vista, пользователю назначаются два отдельных маркера доступа. Маркеры доступа, которые содержат членство пользователя в группе, а также данные авторизации и контроля доступа, используются Операционная система Windows для управления ресурсами и задачами, доступными пользователю ».
Я полагаю, вы могли бы возразить, что UAC зависит от модели авторизации Windows, ACL которой являются лишь отдельным компонентом, и, следовательно, UAC не имеет отношения к ACL. Я не думаю, что это полезный способ смотреть на это. Скажу так: если бы не было ACL, UAC был бы бессмысленным.
Вам также следует прочитать Эта статья который устраняет некоторые распространенные заблуждения об UAC, в частности заблуждение, что это функция безопасности: «Основная цель UAC - дать возможность большему количеству пользователей работать со стандартными правами пользователя. Однако одна из технологий UAC выглядит и пахнет защитой особенность: запрос согласия. Многие люди считали, что тот факт, что программное обеспечение должно запрашивать у пользователя права администратора, означает, что они могут предотвратить получение вредоносными программами прав администратора ".
Это отдельные схемы безопасности. UAC переворачивает дисплей и предлагает вам отдельно аутентифицировать приложение, которое вы пытаетесь установить / изменить / и т. Д.
ACL определяют, к чему вы можете / не можете получить доступ и т. Д. Между ними нет ничего общего.
В качестве мысленного эксперимента: у вас есть установщик (install.exe) в папке (C: \ folder). Если у пользователя нет разрешения на доступ к папке, установщик никогда не запустится, независимо от того, включен ли UAC или нет. Если у пользователя нет прав на установку программного обеспечения, установщик не запустится независимо от того, включен ли UAC. Если у пользователя ДЕЙСТВИТЕЛЬНО есть доступ к папке и он может устанавливать программное обеспечение, установщик будет работать независимо от того, включен ли UAC.
UAC не предназначался для замены ACL. Его привили к Windows, чтобы предотвратить установку без вывода сообщений и эскалацию программ.
xxxxxx