как сделать симлинк в windows
Создание символических ссылок
Относится к:
Описывает лучшие практики, расположение, значения, управление политикой и соображения безопасности для параметра Создать символические ссылки политики безопасности.
Справочники
Это право пользователя определяет, могут ли пользователи создавать символическую ссылку с устройства, на которое они вошли.
Символическая ссылка — это объект файловой системы, который указывает на другой объект файловой системы. Объект, на который указывается, называется целевой. Символические ссылки прозрачны для пользователей. Ссылки отображаются как обычные файлы или каталоги, и пользователь или приложение могут действовать точно так же. Символические ссылки предназначены для обеспечения совместимости миграции и приложений с UNIX операционными системами. Корпорация Майкрософт реализовала символические ссылки, чтобы функционировать так же, как UNIX ссылки.
Предупреждение: Эта привилегия должна быть предоставлена только доверенным пользователям. Символические ссылки могут подвергать уязвимости безопасности в приложениях, которые не предназначены для их обработки. Constant: SeCreateSymbolicLinkPrivilege
Возможные значения
Рекомендации
Location
Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment
Значения по умолчанию
По умолчанию члены группы Администраторы имеют это право.
В следующей таблице приведены фактические и действующие значения по умолчанию для этой политики. Значения по умолчанию также можно найти на странице свойств политики.
Тип сервера или объект групповой политики | Значение по умолчанию |
---|---|
Default Domain Policy | Не определено |
Политика контроллера домена по умолчанию | Не определено |
Параметры по умолчанию для автономного сервера | Не определено |
Действующие параметры по умолчанию для контроллера домена | Администраторы |
Действующие параметры по умолчанию для рядового сервера | Администраторы |
Действующие параметры по умолчанию для клиентского компьютера | Администраторы |
Управление политикой
В этом разделе описываются различные функции и средства, доступные для управления этой политикой.
Перезагрузка устройства не требуется для того, чтобы этот параметр политики был эффективным.
Изменения прав пользователя вступают в силу при его следующем входе в учетную запись.
Групповая политика
Параметры применяются в следующем порядке с помощью объекта групповой политики (GPO), который перезаписывал параметры на локальном компьютере при следующем обновлении групповой политики:
Когда локальный параметр серый, он указывает, что GPO в настоящее время контролирует этот параметр.
Средства командной строки
Этот параметр можно использовать в сочетании с параметром символической системы файлов ссылок, которым можно управлять с помощью средства командной строки для управления типами symlinks, разрешенными на устройстве. Дополнительные сведения введите fsutil behavior set symlinkevaluation /? в командной подсказке.
Вопросы безопасности
В этом разделе описывается, каким образом злоумышленник может использовать компонент или его конфигурацию, как реализовать меры противодействия, а также рассматриваются возможные отрицательные последствия их реализации.
Уязвимость
Пользователи, у которых есть право пользователя создать символические ссылки, могут случайно или злонамеренно подвергать вашу систему символическим атакам ссылок. Символические атаки ссылок можно использовать для изменения разрешений в файле, для искажения данных, для уничтожения данных или для атаки doS.
Противодействие
Не назначьте право пользователя создавать символические ссылки стандартным пользователям. Ограничить это право доверенными администраторами. Вы можете использовать команду fsutil для создания параметра символической системы файлов ссылок, которая управляет типами символических ссылок, которые можно создать на компьютере.
Возможное влияние
Нет. Не определена конфигурация по умолчанию.
Ссылки в Windows, символьные и не только
Предыстория
В своём топике «Впечатления от Яндекс.Субботника» хабрачеловек absolvo высказал удивление, что один из докладчиков не знал о том, что символьные ссылки есть и в Windows. Честно говоря, не знал этого и я, поэтому поинтересовался об этих ссылках в комментариях.
Думаю, то, что удалось выяснить, может показаться кому-нибудь полезным.
Сразу оговорюсь, что под ссылками в Windows я понимаю ссылки в NTFS. В FAT механизмов ссылок, насколько мне известно, предусмотрено не было.
Hard Links можно создавать только на файлы, Junction Points — только на директории, Symbolic Links — на файлы и директории. В дальнейшем под «жёсткими ссылками» подразумеваются Hard Links, под «символьными» — Junction Points и Symbolic Links.
Жёсткие ссылки действительны в пределах одного раздела, символьные — могут пересекать границы разделов. В связи с этим символьные ссылки могут поломаться, если структуру разделов поменять.
Не со всем, что поддерживается ядром, умеет нормально работать эксплорер. Будьте осторожны при использовании Junction Points в версиях Windows до Vista. При удалении Junction Point эксплорер может залезть внутрь директории, на которую ссылается Junction Point и поудалять там всё, а затем удалить Junction Point, хотя должен лишь удалить ссылку. Наверняка могут возникнуть проблемы и при перемещении или копировании Junction Point’ов.
Мне неизвестно, нормально ли в версиях Windows до Vista относятся к Junction Points стандартные утилиты типа rmdir.
Дополнительные материалы по теме
Отмечу англоязычную статью, в которой описаны нюансы использования ссылок и некоторые программы, позволяющие с ними работать. Статья устаревшая, так что в ней говорится только о Hard Links и Junction Points (причём на последние в статье нередко ссылаются, как на symbolic links. ).
По словам хабрачеловека SamDark, хорошее описание всех видов ссылок есть ещё в справке по NTFS Links (дополнению для Total Commander, см. ниже).
Теперь можно перейти к рассмотрению программ для работы со ссылками. Да-да, если вы не пользуетесь FAR (см. ниже), вам понадобятся отдельные программы. Все программы, перечисленные ниже, бесплатны.
Утилиты от Microsoft
Windows >= Vista
В Windows Vista добавили команду mklink для создания символьных и жёстких ссылок (спасибо за информацию хабрачеловеку metamorph).
Windows >= 2000
fsutil hardlink create ссылка файл
Создаёт Hard Link на файл (источник).
linkd ссылка директория
Создаёт Junction Point на директорию (источник). Утилита входит в Microsoft Windows Resources Kit.
Расширения для Explorer
NTFS Link интегрируется в Explorer и добавляет во всплывающее меню, появляюшееся после перетаскивания правой кнопкой мыши, пункты «Create junction point» и «Create hard link». Кроме того, она перехватывает вызовы Explorer’а, обеспечивая нормальное перемещение/копирование/удаление созданных ссылок.
NTFS Links (не путать с дополнением для Total Commander, см. ниже) — абсолютно аналогичная программа. Спасибо за комментарий хабрачеловеку vpbar.
Я рекомендую: Link Shell Extension — аналогичная программа, обладающая расширенным функционалом и очень подробным описанием. Спасибо за комментарий хабрачеловеку versia.
NTFS Links — дополнение для Total Commander
Страница программы (за информацию спасибо хабрачеловеку SamDark). Плагин может запускаться как отдельная программа, вне Total Commander’а.
Консольный файловый менеджер FAR уже давно поддерживает Hard Links и Junction Points «из коробки». Для создания ссылки используйте сочетание клавиш Alt-F6 😉 Спасибо за комментарий хабрачеловеку 4xis.
Junction Link Magic
Junction Link Magic — программа с графическим интерфейсом для создания, изменения и модификации Junction Points. Спасибо за комментарий хабрачеловеку vady.
Junction — консольная программа для создания Junction Points
UPD: обновил топик с учётом комментариев.
Создание символьной ссылки для папки в Windows 8.1, 8, 7, Vista
Доброго времени суток! Сегодня рассмотрим интересную тему под названием «Символьные ссылки». Вариантов использования данного инструмента не так уж много. К примеру, если вы используете часть оперативной памяти как RAM-диск, можно перенести какую-либо игру или её часть (скажем папки с графикой) и создать символьную ссылку. Это значительно ускорит загрузку уровней и карт. Также символьные ссылки можно использовать для переноса папки пользователя целиком, но об этом напишу в одной из следующих статей.
Что такое симлинк?
Итак, что такое символьная ссылка или симлинк? Для начала процитирую Википедию:
Символьная ссылка (также симлинк от англ. Symbolic link, символическая ссылка) — специальный файл в файловой системе, для которого не формируются никакие данные, кроме одной текстовой строки с указателем. Эта строка трактуется как путь к файлу, который должен быть открыт при попытке обратиться к данной ссылке (файлу). Символьная ссылка занимает ровно столько места в файловой системе, сколько требуется для записи её содержимого (нормальный файл занимает как минимум один блок раздела).
Итак, это файл, который содержит в себе только ссылку на другой файл или каталог, ничего больше. Система же при обращении к этому файлу ведет себя точно так же, как если бы это был файл(папка), на который ссылается символьная ссылка. Что на самом деле является очень удобным. К примеру,на рабочем столе можно создать ряд символьных ссылок на часто используемые папки, и копирование файлов в эти папки окажется секундным делом. Теперь попробуем создать символьную ссылку для произвольной папки.
Инструкция по созданию символьной ссылки
1) Создаем (или копируем) папку в нужном нам месте. В моем случае я создам папку mkfolder на локальном диске D :
2) Открываем командную строку, для этого жмём Win+R и в открывшемся окне пишем cmd:
3) В открывшемся окне командной строки нам необходимо создать символьную ссылку для нашей папки. Делается это с помощью команды mklink. В моем случае я пишу так, создавая в корне диска С папку с именем mklink, которая будет ссылать на папку D:\mkfolder :
где, mklink — команда создания символьной ссылки
/j — атрибут создания соединения для каталога
c:\mklink — место создания файла с символьной ссылкой / имя новой символьной ссылки
d:\mkfolder — Путь, на который ссылается символьная ссылка
4) Жмём клавишу Enter, и, если всё введено правильно, командный интерпретатор Windows сообщит о создании соединения:
5) Пройдем на диск C и посмотрим на созданную символьную ссылку:
6) Главное её отличие от обычного ярлыка в том, что если зайти в папку mklink, система будет считать, что вы находитесь именно на диске C в папке mklink, но на самом деле вы будете видеть и работать с файлами, которые находятся на диске D в папке mkfolder:
Альтернативный способ
Мне символьные ссылки нужны довольно редко и я без проблем запомнил команду командной строки и использую первый метод. Но в Windows есть альтернативный способ для папок:
1) Копируем папку, для которой нам нужно создать символьную ссылку.
Папка AppData скрытая, для того чтобы включить отображение скрытых папок, воспользуйтесь этой статьей.
3) Жмём правой клавишей по окну каталога и выбираем «Вставить ярлык». Система создаст символьную ссылку до исходного каталога и теперь её можно перенести в нужное для вас место и переименовать.
На этом всё. Надеюсь эта статья оказалась вам полезной, нажмите одну из кнопок ниже, чтобы рассказать о ней друзьям. Также подпишитесь на обновления сайта, введя свой e-mail в поле справа.
Как создавать символические ссылки (Symlinks) в системе Windows
Windows 10, 8, 7 и Vista поддерживают символические ссылки, которые указывают на файл или папку в вашей системе. Вы можете создать их с помощью командной строки или стороннего инструмента под названием Link Shell Extension.
Что такое символические ссылки
Символические ссылки – это, по сути, расширенные ярлыки. Создайте символическую ссылку на отдельный файл или папку, и эта ссылка будет выглядеть так же, как файл или папка для Windows, хотя это только ссылка, указывающая на файл или папку.
Например, предположим, что у вас есть программа, которая использует файлы в папке C:\Program. А Вам хотелось бы сохранить этот каталог в D:\Refuse, но программа требует, чтобы её файлы были в C:\Program. Вы можете перенести исходный каталог из C:\Program в D:\Refuse, а затем создать символическую ссылку C:\Program, указав на D:\Refuse. Когда вы перезапустите программу, она попытается получить доступ к своему каталогу в C:\Program. Windows автоматически перенаправит её на D:\Refuse, и всё будет работать так, как если бы оно было в C:\Program.
Этот трюк можно использовать для всех целей, включая синхронизацию любой папки с такими программами, как Dropbox, Google Drive и OneDrive.
Существует два типа символических ссылок: жесткая и мягкая. Мягкие символические ссылки работают аналогично стандартным ярлыкам. Когда вы открываете мягкую ссылку на папку, вы будете перенаправлены в папку, где хранятся файлы. Однако, жесткая ссылка заставляет его выглядеть так, как будто файл или папка действительно существуют в местоположении символической ссылки, и ваши приложения не будут знать о подмене. В большинстве ситуаций жесткие символические ссылки более полезны.
Обратите внимание, что Windows фактически не использует термины «жесткая ссылка» и «мягкая ссылка». Вместо этого используются термины «жесткая ссылка» и «символическая ссылка». В документации Windows «символическая ссылка» – это то же самое, что «мягкая ссылка». Тем не менее, mklink-команда может создавать как жесткие ссылки, так и софт-ссылки (известные как «символические ссылки» в Windows).
Как создать символические ссылки с mklink
Вы можете создавать символические ссылки, используя команду mklink в окне командной строки в качестве администратора. Чтобы открыть её, найдите ярлык «Командная строка» в меню «Пуск», щелкните его правой кнопкой мыши и выберите «Запуск от имени администратора».
В Windows Creators Update вы можете использовать обычное окно командной строки, не запуская его как администратор. Однако, чтобы сделать это без окна командной строки администратора, вы должны сначала включить режим разработчика в Параметры → Обновление и безопасность → Разработчики.
Без каких-либо дополнительных опций mklink создает символическую ссылку на файл. Команда ниже создает символическую или «мягкую» ссылку (Link) на объект Target:
mklink Link Target
Используйте /D, если вы хотите создать символическую ссылку, указывающую на каталог:
mklink /D Link Target
Используйте /H, если вы хотите создать жесткую ссылку, указывающую на файл:
mklink /H Link Target
Используйте /J для создания жесткой ссылки, указывающую на каталог:
mklink /J Link Target
Так, например, если вы хотите создать жесткую ссылку в C:\LinkToFolder, которая указывала бы на C:\Users\Name\OriginalFolder, вы должны выполнить следующую команду:
mklink /J C:\LinkToFolder C:\Users\Name\OriginalFolder
Вам нужно будет помещать в кавычки пути с пробелами. Например, если папка называется C:\Link To Folder и C:\Users\Name\Original Folder, вы должны использовать следующую команду:
mklink /J «C:\Link To Folder» «C:\Users\Name\Original Folder»
Если вы увидите сообщение «У вас недостаточно прав для выполнения этой операции», Вам следует запустить Командную строку как Администратор.
Как создать символическую ссылку с помощью графического инструмента
Если вы хотите создавать символические ссылки с помощью инструмента с графическим интерфейсом, загрузите Link Shell Extension. Обязательно загрузите соответствующий пакет необходимых библиотек – найдёте их на странице загрузки инструмента.
После установки найдите файл или папку, для которой вы хотите создать ссылку, щелкните её правой кнопкой мыши и выберите «Запомнить источник ссылки» в контекстном меню.
Затем вы можете щелкнуть правой кнопкой мыши в другой папке, указать на меню «Поместить как» и выбрать тип создаваемой ссылки.
Как удалить символические ссылки
Чтобы избавиться от символической ссылки, вы можете просто удалить её, как и любой другой файл или каталог. Только будьте осторожны: удаляйте ссылку, а не файл или каталог, к которому она привязана.
Как создавать и удалять симлинки
Windows
Работы с символьными ссылками в Windows ведутся из командной строки.
Синтаксис
Симлинк на файл
mklink C:\Users\dmosk\Desktop\cmd.exe C:\Windows\system32\cmd.exe
* в данном примере на рабочем столе пользователя dmosk будет создан симлинк на файл cmd.exe.
Симлинк на директорию
mklink /D «C:\Users\dmosk\Desktop\Сетевая папка» \\dmosk.local\share
* в примере создается симлинк на сетевую папку \\dmosk.local\share
** так как в названии папки есть пробел, путь заключен в кавычки.
Для создания ссылки на папку доступен также ключ /J. Созданная таким образом ссылка будет по некоторым особенностям напоминать жесткую ссылку.
Удалить симлинк
В Windows его можно удалить в проводнике, как обычный файл или папку.
Или использовать командную строку.
Для папки:
rmdir «C:\Users\dmosk\Desktop\Сетевая папка»
Для файла:
Разрешить симлинки в Windows
Если при попытке перейти по символьной ссылке мы получим ошибку «Символическая ссылка не может быть загружена, так как ее тип отключен», открываем командную строку от администратора и вводим команду:
fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
Если это не помогло, пробуем создать симлинк с ключом /J.
Linux и FreeBSD
Создание
В системах на базе Linux (например, Ubuntu или CentOS) и FreeBSD симлинк для каталога и файла создаются одинаково: