2018/03/31
symbolic link privilege not held が出る場合の対処方法 (Windows 10)
Python でシンボリックリンクを作成するには os.symlink()
を使用します。
ただ、Windows でこれを普通に実行すると OSError: symbolic link privilege not held
が発生してしまいます。
原因は権限不足
シンボリックリンクの作成には SeCreateSymbolicLinkPrivilege
が必要です。
しかし、デフォルトでこの権限が与えられているのは管理者のみ1なので、一般ユーザで実行すると上記のエラーが発生してしまいます。
参考
対策 (Windows 10 Pro)
SeCreateSymbolicLinkPrivilege
を対象のユーザーに与えます。
以下は Windows 10 Pro で動作確認しました。
スタートメニューから
gpedit
(グループポリシーの編集)を起動コンピューターの構成 → Windowsの設定 → セキュリティの設定 → ローカルポリシー → ユーザー権限の割り当て → シンボリックリンクの作成
ユーザーを追加する
サインアウト
一度サインアウトしないと反映されません
他の環境での対策
Windows 10 Home には gpedit
がインストールされていないようなので、事前にインストールする必要があります。また、Windows 7 では secpol.msc
を使用するようです2。
参考
0 件のコメント:
コメントを投稿