GNU/Linux >> Linux の 問題 >  >> Linux

すべてのホストと共有の自動マウントと検出を使用して、LinuxマシンでWindowsネットワークを閲覧します。

最新バージョンは次の場所にあります:

http://linux.bononline.nl/linux/automountsmbshares/index.php

インデックス
  • 1。はじめにとまとめ
はじめに

しばらくの間、コンピューターがWindowsネットワークを検出し、オンデマンドで共有をマウントできるようにするための良い方法を探していました。現時点では、十分な解決策はありません。私が選んだデスクトップ(KDE)でキオスレイブを試し、FUSEプログラムのFusesmbとSmbNetFsを試した後、私は本当に満足していませんでした。コンピューターがすべてのワークグループ/ドメイン、ホスト、および共有を検出し、オンデマンドでホストに共有をマウントできるようにする方法が必要でした。ある人は言うでしょう:あなたが選んだ株を手でマウントし、そしてあなたは去ります。でもダメ!!これは私が望むものではありません。コンピューターに、使用可能なすべてのホストと共有を自動的に検出させ、必要な場合にのみ共有をマウントさせることができます。これは可能であるはずです!そして、試した後、私はそれがそうであることを知りました!

次の問題は私見に必要です:

  • SMBネットワーク(ドメイン、ホスト、共有)の自動検出
  • ホームディレクトリにログインしているユーザーにとって意味のある表現の構築
  • オンデマンドでの株式の自動マウント
  • しばらく使用されなかった後の共有の自動アンマウント
  • SMBFSやCIFSなどのカーネルfsの使用
  • デスクトップマネージャーから独立
  • SSHやFTPなどの他のネットワークサービスのサポート

FUSEプログラムFusesmbは、私が探しているものに非常に近いものですが、権限の適切な表示、inotify、シンボリックリンク、ATTR / ACLのサポートなど、CIFSが持つ拡張機能を欠いています。 FUSEプログラムにこれらの機能がない理由を見つけるのに少し時間がかかりました。 FuseSMBは、Sambaパッケージの一部であるsmbclientライブラリsmbclient.soに基づいており、smbfsやcifsとは何の関係もありません。

結果

この構築の結果、ホームディレクトリにネットワーク関連のディレクトリ(グローバルネットワーク)が作成され、オートマウンタは、サポートされているすべてのネットワークサービスにアクセスするための参照可能なツリーを提供します。

現時点では、SMBとSSHのサービスをサポートしています(私はFTPに取り組んでいます)。 「ネットワークマウントポイント」へのアクセス:

/ home / sbon / Global Network /
SSHホスト
Windowsネットワーク

Windowsネットワーク(==smb)にアクセスすると、すべてのワークグループやドメインが表示されます:

/>
WindowsネットワークBONONLINE

CWWERKGROEP


SSHホスト

ワークグループCWWERKGROEPに入ると、すべてのサーバーと他のホストが表示されます:

/>
WindowsネットワークBONONLINE

CWWERKGROEP ROUTER

PC1


SSHホスト

サーバールーターに入ると、接続しているユーザーが利用できる共有が表示されます。

/ホーム/ sbon /グローバルネットワーク/>
SSHホスト

BONONLINE CWWERKGROEP

ROUTER cwdocumenten

公共sbon

共有にアクセスすると、自動的にマウントされます(CIFSまたはSMBFSを使用)。クレデンシャルの使用がサポートされており、ゲストログインがデフォルトです。

smbサービスの「マルチマウントマップ」を作成するには、networkcacheを使用します。ワークグループやドメインに関する情報を提供します。利用可能なホストとサーバーおよび共有。これは、いくつかのユーティリティ(ホストとワークグループ/ドメインを決定するためのnbtscan、およびホストごとの共有を決定するためのsmbclient)を利用するいくつかのスクリプトによって維持されます。

SSHホスト(=ssh)にアクセスすると、このユーザーがアクセスできるすべてのホストが表示されます:

/ home / sbon / Global Network /
SSHホスト
ネットワーク192.168.0.2
P>> P

ここでは、このツリーの作成にキャッシュは使用されていませんが、ファイル.known_hostsが使用されています。さらに、利用可能なmount.sshfsはありませんでした。 FUSEとsshfsを使用して作成しました。 (およびumount.sshfs)。
これで、ホスト192.168.0.2にアクセスすると、192.168.0.2のルートがマウントされます。

どのように機能しますか

この構造はオートマウンターを利用しています。ユーザーがログインして新しいセッションが開始されると、auto.masterファイルへの「networkmountpoint」が追加され、automounterデーモンが「reload」シグナルを受け取ります。このマウントポイント、名前のデフォルトは「グローバルネットワーク」で、ユーザーのホームディレクトリにあります。これにリンクされているのは、サポートされているすべてのネットワークサービスと検出されたリソースに基づいてマップを作成するスクリプト(auto.network)です。参照オプションとともに、これは参照可能なマップを提供し、アクセス時に共有/ホストがマウントされます。

ユーザーがログオフしてセッションが終了すると、マウントポイントが再び削除され、automounterデーモンがリロード信号を再度取得して変更を有効にします。

ここでは、セッションの開始時と終了時にroot権限でスクリプトを実行するKDMの機能が使用されます。

現時点では、SMBとSSHのみがサポートされています。

既知の問題

いくつかのボトルネックがあります。
-共有が追加されたり、ホストがオフラインになったり、smb環境で他の何かが変更されたりすると、キャッシュにも表示されるまでに時間がかかります。このキャッシュは、「プル」ベースのメカニズムで動作するスクリプトによって維持されます。次に、オートマウンターは、キャッシュ内のデータが変更されたことをそれ自体では検出しません。タイムアウト後に自身のデータ(マルチマウントマップ)を更新するだけで、それでもすべての変更を完全に取得することはありません。
-オートマウンターは、参照可能なマウントマップを提示するように指示されます。これは、トップレベルのディレクトリが常に利用可能であることを意味します。これは非常に良いことです。タイムアウトした後でも、利用可能なネットワークは常に表示され、ユーザーがアクセスできます。実際には、「ネットワークサービス」の1つが消えることがあります...
-空のauto.masterファイル(および空のインクルード)で開始すると、オートマウンターにいくつかの問題が発生します。起動時に、ログインしているユーザーがいないため、autofsが管理するネットワークマウントポイントがない場合、オートマウンターは空のマップで起動する必要があります。

リンク

autofsを使用したWindowsまたはSamba共有へのアクセス

既存のファイルを使用してSMB共有のautofsを設定するためのガイド;

LinuxホストをWindows環境に統合する

別の方法で共有にアクセスするようにautofsを設定するためのガイド。

HOWTO Automount filesystems(AUTOFS)/ udev with autofs

ここでは、udevでautofsを使用してハードウェアをマウントするために、ほぼ同じ構造が使用されています。ここでも、マウントポイントはauto.masterファイルに動的に追加および削除されます。


Linux
  1. Linuxサーバーのネットワーク接続をnetstatで表示する

  2. Linuxのwatchコマンドでコマンドとタスクを監視する

  3. Powershell から OS バージョン、Linux および Windows を判別する

  1. findコマンドを使用してLinux上のファイルとディレクトリを検索します

  2. PlexyDeskを使用してLinuxデスクトップの機能を拡張する方法

  3. LinuxMintをWindows8にインストールする|デュアルブートWindows8およびLinuxMint12

  1. スキャンをネットワーク経由でLinuxマシンに送信します

  2. Linuxコンテナの舞台裏

  3. KaliLinuxでFluxionを使用してネットワークの邪悪なツインを作成する