web-dev-qa-db-ja.com

リモートシンボリックリンク/ジャンクション

かなり明白なものかもしれませんが、確かな答えを見つけるのにいくつかの問題がありました。

さまざまなバージョンのアプリケーションを含むWindowsネットワーク共有上のディレクトリがあります。 「current」と呼ばれるこれらの1つへのリンクが必要です。これは、他のすべてのバージョンの横にあり、これらの1つを指すディレクトリへのシンボリックリンクになります。

このリンクを作成することは、私が思っていたよりも問題のようです。シンボリックリンクは、作成されたのと同じマシン上のリンクのみを表示し(明らかな理由で機能しません)、さまざまな制限のために実際には不可能なサーバー上でジャンクションを実行する必要があるようです。

これについて行くための最良の方法は何でしょうか?ファイルを2回コピーするだけでよいのでしょうか、それともリモートで作成してアクセスできるシンボリックリンクを作成できるのでしょうか。

2
Blueberry

サーバーへのリモートアクセスを取得できる場合(管理者権限が必要な場合があります)、発見したように、ファイルへのハードリンク、またはフォルダーへのジャンクションを作成できます。 Windowsファイル共有プロトコルはファイルシステムリンクをサポートしていないため、標準のマップされたドライブまたはリモート共有を介してそれらを作成することはできません。

共有を表示しているユーザーがリンクを表示する権限を持っている場合、シンボリックリンクは作成後に共有と機能の上に表示されると思いますが、前述のように、リモート共有にシンボリックリンクを作成することはできません。同様の質問が、ユーザーがpsexecを使用してコマンドをリモートで実行し、サーバー上にリンクを作成することを解決した場合に尋ねられました。ただし、これには管理者権限が必要です。

2
Darth Android

サーバーへの管理者アクセス権がある場合(およびその場合のみ)、シンボリックリンクをリモートで作成できます。ただし、最初にクライアントでリモートシンボリックリンクのサポートを有効にする必要があるため、デフォルトでは機能しません。これはセキュリティ上の理由によるものです。

次のコマンドを使用して、クライアントでリモートからリモートへのシンボリックリンクを有効にできます。

fsutil behavior set SymlinkEvaluation R2R:1

次のように、もう一度オフにすることができます。

fsutil behavior set SymlinkEvaluation R2R:0

現在の設定を確認するには:

fsutil behavior SymlinkEvaluation
1
Harry Johnston