This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Symlink creation on Windows should work without privilege escalation
Type: Stage: resolved
Components: Versions: Python 3.9
process
Status: closed Resolution: works for me
Dependencies: Superseder:
Assigned To: Nosy List: eryksun, jaraco, steve.dower
Priority: normal Keywords:

Created on 2019-06-30 19:52 by jaraco, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Messages (4)
msg346935 - (view) Author: Jason R. Coombs (jaraco) * (Python committer) Date: 2019-06-30 19:52
A few years ago, Windows [announced more lenient support for creating symbolic links](). This more lenient support requires the caller to pass a flag in the API. Neither the blog post nor the API docs give any indication of why one would not ever pass that flag, and passing it will enable symlink to work in more cases that work in Unix, so I believe Python should set the SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE flag.
msg346936 - (view) Author: Jason R. Coombs (jaraco) * (Python committer) Date: 2019-06-30 19:53
The missing reference above should be https://blogs.windows.com/windowsdeveloper/2016/12/02/symlinks-windows-10/#iqm9GJhlyWhcM78e.97
msg346938 - (view) Author: Jason R. Coombs (jaraco) * (Python committer) Date: 2019-06-30 19:59
I see looking at the code and docs now that this work was done for Python 3.8.
msg346940 - (view) Author: Eryk Sun (eryksun) * (Python triager) Date: 2019-06-30 20:22
FYI, this only works when the system is in developer mode. If you want authenticated users and non-elevated administrators to have symlink rights in applications that haven't been updated to use this flag, or without enabling developer mode, grant the right to create symbolic links to the "Authenticated Users" (S-1-5-11) well-known group.
History
Date User Action Args
2022-04-11 14:59:17adminsetgithub: 81634
2019-06-30 20:22:54eryksunsetnosy: + eryksun
messages: + msg346940
2019-06-30 19:59:41jaracosetstatus: open -> closed
resolution: works for me
messages: + msg346938

stage: resolved
2019-06-30 19:53:17jaracosetmessages: + msg346936
2019-06-30 19:52:50jaracocreate