web-dev-qa-db-ja.com

非表示のWindows共有が実際には非表示になっていないのはなぜですか?

共有名にドル記号を追加することで、Windowsはそれをクライアントから見えなくするだろうと教えられてきました。実際、Windowsでは、株価がドル記号で終わることはありません。名前を手動で入力する必要があります。

Linuxデスクトップで共有フォルダーのリストを閲覧すると、すべての共有が非表示か非表示かを問わず問題なく表示されます。 C $やADMIN $のようなすべての共有は、表示されている共有と一緒に存在します。

WindowsのSMBサーバーは、設計上、これらの名前を誰にも教えていないだけだと思いましたが、Linuxがそれらを表示できるのはなぜですか?

ログインした共有のリストを表示するには、それと関係があるのでしょうか。すべての共有を表示できる特別なユーザーグループはありますか?

3
Luc

コメントですでに述べたように、共有名の後ろにあるドル記号はクライアントによって解釈されるだけなので、共有はビューから削除されます。最終的に、共有NetShareEnum AP​​I呼び出し の結果セットの一部になります。 net view \\computername /allコマンドを使用して、Windows Vista/Server 2008からすべての共有(非表示の共有を含む) を一覧表示することもできます。

必要な特権の種類は、サーバーのバージョンと構成によって異なる場合があります。 Windows Server 2003以前では、デフォルトでNULLセッションを使用した共有の列挙が許可されていました(したがって、認証を提供する必要はまったくありませんでした)。 Windows Server 2008はこれを変更し、「全員」がすべての共有を列挙できるようになります。これには、有効なユーザー(有効な場合はゲストユーザーを含む)を使用した認証が必要になります。

5
the-wabbit