PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Testen ob Sambashare online bzw zugänglich ist



SirSydom
27.02.06, 22:39
Hi,

ich möchte per Script testen ob ein bestimmtes Sambashare auf einem bestimmten Rechner (IP und FQDN bekannt) mit einem bestimmten Usernamen/Passwort erreichbar ist.

Wie kann ich sowas machen?

Pinky
27.02.06, 23:47
mit dem Befehl "smbclient -l" vielleicht.

SirSydom
02.03.06, 16:32
Ich habe es mit smbclient -L geschafft.

Ich habe dazu noch eine Frage:

Es gibt einen Sambaserver und ein paar Windowsclients. Es besteht die Möglichkeit Windows-Freigaben der Windows-Clients auf den Server zu mappen.

Ist der Windowsclient jedoch nicht verfügbar gibt das enorme Lags wenn man nur in das Verzeichnis wechselt.

Ich dachte zuerst an ein Script das testet ob der Server verfügbar ist und wenn nicht, das share unmounted und wenns wieder verfügbar ist wieder mounted. Das dann als cronjob alle 60s ausführen.

Nur ist das keine wirklich gute Lösung weil 60sek uU zu lang sind oder weil der umount nicht funktioniert wenn gerade jemand einen dieser oben beschriebenen Lags erfährt. (Device busy) Gibts was besseres? (zB die Timeouts runterstellen)

emba
02.03.06, 21:42
ich bin der meinung, dass sich dieses remote mapping von MS shares mittels DFS lösen lässt. einen umount kannst du mittels umount -f -l auf die beine helfen

greez

SirSydom
03.03.06, 00:12
DFS? Nein, das ist nicht das was ich brauche.
Es geht weniger darum, Netzlaufwerke zu verbinden, als viel mehr darum:

User1 sitzt im Lan und hat sagen wir mal seine mp3s freigegeben.

User2 sitzt irgendwo (sagen wir in einem I-Net Cafe mit HTTP Proxy. Der geht dann auf das Webinterface des Servers und mappt \\user1\free_music in sein homedrive.

Über FTP und einen PHP-FTP-Client kann er dann die MP3s herunterladen.

Wenn jetzt User1 seinen Rechner ausschaltet erfährt User2 extreme Lags beim arbeiten mit dem FTP-Clienten (uU). Und das will ich vermeiden.

umount -f -l klingt gut. Wirklich beide Optionen gleichzeitig verwenden?

emba
03.03.06, 08:29
meist muss der lazy parameter mit dazu
wieso nutzt du nicht ein anderes protokoll, bspw. webdav auf den rechnern, wenn du primär von außen zugreifen willst?

ansonsten fällt mir spontan nichts ein, was du machen kannst, damit der mountpoint auch im falle eines power offs sauber bleibt

greez

SirSydom
03.03.06, 08:59
Es ist kein Firmennetzwerk und ich bin nicht der Administrator dieser Kisten :)

Wir hängen hier mit ein paar Leuten in einem per W-LAN und Cable-LAN Netzwerk und teilen uns einen DSL6000 Anschluss. Und da das Windows-User sind, gibt da halt mal einer das frei, der andere das und der anderes das.

Ich möchte halt die Möglichkeit bieten auch von außen auf diese 'ach ich gib das mal frei' -Freigaben zuzugreifen.

Ich denke Ein Cronjob der jede Minute läuft wird es tun. Ist ja keine kritische Anwendung.

Das einzige was mich noch stört, ist das das testen ob ein Share verfügbar ist ewig dauert (ca 5sek).
Das liegt daran, das smbclient -L <hostname> lange braucht im Falle das <hostname> nicht verfügbar ist.
Gibt es ne Möglichkeit den Timeout runterzusetzen?

emba
03.03.06, 10:19
und webdav ist keine alternative?
du kannst dem smbclient AFAIK via smb.conf mitteilen, wie er die namensauflösung zu machen hat. bevorzugt sollte DNS verwendet werden. dann gibts sofort ein "destination unreachable"

greez