最新バージョンは次の場所にあります:
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ファイルに動的に追加および削除されます。