Почему обычные пользователи в Windows не могут создавать символические ссылки?

4086
Joey

Начиная с Windows Vista, NTFS получила возможность представлять символические ссылки на файлы (в отличие от соединений каталогов). Также mklinkпоявилась утилита. Однако пользователи без прав администратора не могут создавать символические ссылки по умолчанию. Любые идеи о том, почему это может быть так? Я имею в виду, какой ущерб пользователь может нанести символическими ссылками, которые он не может сделать с жесткими ссылками или соединениями каталогов (оба из которых могут быть созданы без административных привилегий без проблем)?

22
Смотрите также здесь https://security.stackexchange.com/q/10194/ C. Yduqoli 5 лет назад 0

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

11
GeneQ

Символические ссылки на самом деле менее опасны, чем жесткие ссылки, правда. Я не думаю, что проблема здесь в безопасности, а в эффективности администрирования. Я думаю, что Microsoft приняла правильное решение, так как это сведет с ума администратора, когда пользователи начнут создавать символические ссылки везде, не зная, что они делают.

В Mac OS ярлыки являются символическими ссылками. Так что концептуально это менее запутанно, поскольку так было с самого начала. А для фанатов Linux вам не нужно рассказывать, что такое символические ссылки. ;-)

Но это не так для Windows. Представьте себе, объясняя обычному пользователю разницу между старым добрым ярлыком Windows, символической ссылкой и каталогом / жесткой ссылкой, и вы скоро поймете, что предоставление такой мощности массам откроет огромную банку извилистых червей технической поддержки.

Это мои два цента.

и именно поэтому окна не для SUPER пользователей :-) Sander Versluys 15 лет назад 4
На самом деле, * найти * команду `mklink`, вероятно, что-то, что обычный пользователь никогда не сделает. Таким образом, единственная разновидность «ссылки», с которой когда-либо столкнется обычный пользователь, это Ye Olde Shell Link. Таким образом, для подавляющего большинства пользователей не было бы необходимости объяснять символические ссылки, ссылки на оболочки и точки повторной обработки, поскольку (по правде говоря, вероятно) не существует легкодоступного метода создания ссылок другого типа. Тем не менее, это не совсем объясняет, почему обычные пользователи могут создавать жесткие ссылки и точки соединения, но без символических ссылок. Я бы очень хотел, иногда. Joey 15 лет назад 28
Хороший вопрос, Йоханнес. GeneQ 15 лет назад 0
Так как это вики, давайте сделаем это супер ответом. random 15 лет назад 0
Я считаю себя опытным пользователем, но до этого вопроса я думал, что переходы - это символические ссылки! (есть какая-нибудь ссылка на разницу между ними и символическими ссылками?) hasen 15 лет назад 2
hasen j: точки соединения по сути такие же, как символические ссылки, но они работают только для каталогов. До Vista не было возможности ссылаться на отдельные файлы. Хотя новые символические ссылки также работают для каталогов: http://hypftier.de/dump/link.txt Joey 15 лет назад 0
Самая большая опасность заключается в том, что создается бесконечный цикл. Пользователи должны будут ограничиться созданием ссылки на родительский узел, что приведет к тому, что программа, пересекающая подкаталоги, будет идти по кругу. surfasb 13 лет назад 0
Я думаю, что этот ответ - глупость. Введя это произвольное ограничение, Microsoft, по сути, представила функцию, которая может быть чрезвычайно полезной (есть причина, по которой символические ссылки существуют в UNIX / Linux почти всегда), но в настоящее время не может быть использована для многих. Отлично, Microsoft; Я не ожидал ничего меньшего от вас. > 8 ^ ( antred 7 лет назад 1
@surfasb Я написал множество программ, которые пересекают деревья каталогов, и защиту от циклических ссылок довольно просто реализовать, просто ведя список каталогов, в которых вы уже были. antred 7 лет назад 0
@antred не только замедляет поиск (вы даже сказали «список», а не «хэш-таблица» => квадратичная сложность). Есть и другие последствия, тоже. Например, следует ли копировать данные или ссылку при копировании (http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html перечисляет как минимум 4 возможные стратегии). Или следует ли включать символьные данные при сообщении об используемом пространстве. ivan_pozdeev 6 лет назад 0