Я надеюсь, что кто-то может исправить меня, если я ошибаюсь при попытке создать символическую ссылку в Windows 8.1 без необходимости запуска cmd.exe от имени администратора.
Всякий раз, когда я пытаюсь создать символическую ссылку из обычной командной строки, я получаю обычный ответ о разрешениях ...
C:\Users\MyUser>mklink symlink.txt mytextfile.txt
You do not have sufficient privilege to perform this operation.
... и он работает из командной строки администратора (как и ожидалось) ...
C:\Users\MyUser>mklink symlink.txt mytextfile.txt
symbolic link created for symlink.txt <<===>> mytextfile.txt
Однако не похоже, чтобы в Windows 8.1 работали какие-либо обычные исправления (по крайней мере, исправления, которые я мог найти).
Я попытался следовать ответу на Как создать ссылку в Windows 7 Home Premium как обычный пользователь? , но, похоже, не имеет никакого эффекта.
У меня также UAC установлен на самый низкий уровень.
Есть ли что-то еще, что мне не хватает?
windows
command-line
windows-8.1
symbolic-link
Карл Николл
источник
источник
Ответы:
Отсутствует привилегия в «отфильтрованном» токене
Либо отключите UAC. Или с включенным UAC: после включения
SECreateSymbolicLinkPrivilege
попробуйте использовать учетную запись без прав администратора .Пояснение
Это подвох 17. Из того, как я читаю MS-документацию.
Если в вашей учетной записи пользователя есть хорошо известная черная группа администраторов, то создается второй токен без повышенных прав.
Релевантно
SeCreateSymbolicLinkPrivilege
отфильтровывается, когда из повышенного токена генерируется ток с повышенными правами.Из MSDN: Изоляция привилегий пользовательского интерфейса (UIPI) :
Таким образом, решение состоит в том, чтобы полностью отключить второе поколение токенов. Либо удалив все упомянутые группы из вашей учетной записи, либо полностью отключив UAC.
(Отказ от ответственности: Пол Беттс сделал работу. Я просто добавил некоторые детали. Смотрите его ответ здесь: /programming/15320550/secreatesymboliclinkprivilege-ignored-on-windows-8 )
источник