windows10のユーザフォルダにある見えないシンボリックリンクの正体
WSLで作業しているとき, /mnt/c/Users/User/
内で ls
を実行するとアクセス権限のメッセージが出ることに気が付いた.
ls: cannot read symbolic link 'Application Data': Permission denied ls: cannot read symbolic link 'Cookies': Permission denied ls: cannot read symbolic link 'Local Settings': Permission denied ls: cannot read symbolic link 'My Documents': Permission denied ls: cannot read symbolic link 'NetHood': Permission denied ls: cannot read symbolic link 'PrintHood': Permission denied ls: cannot read symbolic link 'Recent': Permission denied ls: cannot read symbolic link 'SendTo': Permission denied ls: cannot read symbolic link 'Templates': Permission denied ls: cannot read symbolic link 'スタート メニュー': Permission denied
こんな感じで身に覚えのないファイルが表示されるので,どうにか消せないものか調べてみた.
まずpowershellでアクセスできるか確認してみる.
PS C:\Users\User> ls ディレクトリ: C:\Users\User Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2017/11/12 18:33 .dlv d----- 2017/11/16 14:53 .ssh d----- 2017/12/15 16:31 .texlive2017 d----- 2017/10/18 22:52 .vscode d-r--- 2018/01/07 3:08 3D Objects d-r--- 2018/01/07 3:08 Contacts d-r--- 2018/01/16 16:13 Desktop d-r--- 2018/01/18 15:05 Documents d-r--- 2018/01/15 15:30 Downloads d-r--- 2018/01/07 3:08 Favorites d----- 2017/11/04 1:11 go d-r--- 2018/01/07 3:08 Links d-r--- 2018/01/13 17:52 Music d-r--- 2017/12/08 14:21 OneDrive d-r--- 2018/01/15 18:13 Pictures d----- 2017/10/13 10:51 Roaming d-r--- 2018/01/07 3:08 Saved Games d-r--- 2018/01/07 3:08 Searches d----- 2017/10/20 12:22 source d-r--- 2018/01/07 14:35 Videos d----- 2017/10/30 0:10 Workspace -a---- 2018/01/19 23:45 13 .bash_history -a---- 2017/12/15 17:20 59 .gitconfig -a---- 2017/12/26 15:00 1060 .viminfo
My Documentsなんてないじゃん.と思ったけど隠しディレクトリ表示されていないので -Hidden
使って表示してみた.
Mode LastWriteTime Length Name ---- ------------- ------ ---- d--h-- 2017/10/20 16:04 AppData d--hsl 2017/10/20 16:04 Application Data d--hsl 2017/10/20 16:04 Cookies d--hs- 2018/01/18 18:27 IntelGraphicsProfiles d--hsl 2017/10/20 16:04 Local Settings d--h-- 2017/10/20 16:10 MicrosoftEdgeBackups d--hsl 2017/10/20 16:04 My Documents d--hsl 2017/10/20 16:04 NetHood d--hsl 2017/10/20 16:04 PrintHood d--hsl 2017/10/20 16:04 Recent d--hsl 2017/10/20 16:04 SendTo d--hsl 2017/10/20 16:04 Templates d--hsl 2017/10/20 16:04 スタート メニュー
で,中を見てみる.
PS C:\Users\User> cd '.\My Documents\' PS C:\Users\User\My Documents> ls ls : パス 'C:\Users\User\My Documents' へのアクセスが拒否されました。 発生場所 行:1 文字:1 + ls + ~~ + CategoryInfo : PermissionDenied: (C:\Users\User\My Documents:String) [Get-ChildItem], UnauthorizedAcc essException + FullyQualifiedErrorId : DirUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetChildItemCommand
わからん.
ということで,謎のディレクトリの名前だけで調べてたぶんこれだろうと考えているものがwindowsの特殊フォルダ.
名前は一致しているからたぶんそう. わからん.
ここから追記
この記事を投稿してから,有力な情報をいただいたので書き残しておきます.
上記の隠しシンボリックリンクだと思っていたものは以前のwindowsで使われていたフォルダジャンクションだったようで,後方互換のために残っているらしい(たしかにxpでc:\My Documentsでアクセスで来ていた気がする).
なので,消せないのではという結論に至った.
また追記
WSL関係なかったので改題しました.