To pytanie ma już odpowiedź tutaj:
Mój katalog domowy to c: \ Users \ phi jako phi użytkownika, a ja utworzyłem katalog na c: \ Users \ abc. Potrzebuję dowiązania symbolicznego z c: \ Users \ phi \ hello do c: \ Users \ abc \ hello.
Uruchomię następujące polecenie
mklink c: \ Users \ abc \ hello c: \ Users \ phi \ hello
Ale dostaję błąd odmowy dostępu . Użytkownik phi jest administratorem, więc nie mam problemu z zapisywaniem plików w folderze c: \ Users \ abc.
Dlaczego to? Jak mklinkować?
SeCreateSymbolicLinkPrivilege
), podczas gdy w przypadku użytkowników administracyjnych należy je podwyższyć za pomocą polecenia „uruchom jako administrator”. Ale czy można również ustawićSeCreateSymbolicLinkPrivilege
administratora i uniknąć podwyższenia poziomu z poziomu uruchomienia jako administrator? To pytanie: stackoverflow.com/questions/29956470/... wskazuje, że aby użytkownicy administracyjni nie musieli podwyższać poziomu, Kontrola konta użytkownika musi być wyłączona.Znalazłem odpowiedź z tej strony . Krótko mówiąc, powinienem był uruchomić cmd.exe jako Administrator.
źródło
Pamiętaj, że ten sam błąd zostanie wyświetlony podczas próby utworzenia skrzyżowań na mapowanych dyskach . Ciągnąłem za to włosy, dopóki nie natknąłem się na przykłady na tej stronie w witrynie MSDN Hard Links and Junctions .
Krótka odpowiedź: mklink można używać tylko w lokalnych woluminach.
źródło
mklink
poza woluminami lokalnymi.mklink /d link_name \\server\share
działa dobrze.W systemie Windows 7 (i nowszych) potrzebujesz specjalnych uprawnień bezpieczeństwa do tworzenia łączy i skrzyżowań. Jako administrator możesz udzielić tego uprawnienia użytkownikom używającym
secpol.msc
do ustawianiaLocal Policies\User Rights Assignment\Create symbolic links
.Jeśli użytkownik jest zalogowany w tym czasie, będzie musiał się wylogować i zalogować ponownie, aby móc utworzyć łącza.
Zwróć uwagę, że linki mogą ujawniać słabości zabezpieczeń w niektórych aplikacjach - nie badałem, jakie mogą być te słabości.
źródło
Jeśli często korzystasz z systemu Linux, pamiętaj, że parametry są zamieniane w systemie Windows.
Jeśli użyjesz niewłaściwej kolejności, otrzymasz również komunikat „Odmowa dostępu”. Ponieważ próbujesz utworzyć dowiązanie symboliczne, w którym oryginał już istnieje.
Windows:
mklink /D link original
Linux:
ln -s original link
źródło
Otrzymywałem to, ponieważ przypadkowo natrafiłem
mklink /D
na plik. Link nie był wyświetlany w Eksploratorze, ale pojawił się w Eksploratorze Windows. Za pomocą wiersza polecenia usunąłem oryginalny niepoprawny link do katalogu, a następnie odtworzyłem go bez/D
opcji.Nawiasem mówiąc, otrzymywałem błąd „Odmowa dostępu”, mimo że uruchomiłem cmd.exe jako administrator.
źródło
Oprócz działania
mklink
jako Administrator powinieneś również upewnić się, że masz wystarczające uprawnienia do folderu docelowego, z którym się łączysz.źródło
Jeśli uruchomisz:
powinno działać. W moim przypadku PowerShell i cmd dały takie same wyniki. W przypadku programu Power Shell wystarczy uruchomić polecenie
źródło
mklink /D src tgt
zamiast tego.Może to zabrzmieć dziwnie, ale sprawdź, czy plik lub folder już nie istnieje, który próbujesz utworzyć. Czasami łatwo jest przeoczyć w wierszu polecenia cmd.
źródło
W przypadku katalogów musisz zrobić:
źródło