PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : samba von windowsrechner fernkonfigurieren



Nogo
25.02.08, 14:51
Hallo,

kennt jemand ein Programm oder eine Lösung für folgende Problemstellung:

Für einen Windows-Server habe ich ein (AutoIt) Script erstellt, das automatisch für Nutzer ein Verzeichnis auf dem Server anlegt und die Rechte dort dem entsprechenden Nutzer anpasst. Dabei verwende ich dort das Tool rmtshare.exe.

Gibt es ein Administrationstool, auf Windows lauffähig (eventuell mit cygwin), das scriptfähig Samba fernbedienen kann?

derRichard
25.02.08, 15:10
hallo!

was verstehst du unter "samba bedienen"?

//richard

Littletux
26.02.08, 01:38
möglicherweise wäre webmin das was Du suchst
Läuft über Browser

Ansonsten vielleicht einen ssh client installieren
http://www.rz.uni-freiburg.de/pc/app/ssh2/winsoft/SSHWin-3_2_9.exe

Nogo
26.02.08, 07:33
was verstehst du unter "samba bedienen"

fernbedienen- soll eine Umschreibung sein für: Von einem anderen Netzwerkrechner in einem lokalen Netz aus auf der Kommandozeile administrieren können.


möglicherweise wäre webmin das was Du suchst
Läuft über Browser


Ich bin moderater Anfänger in Linux, wenn ich das richtig verstehe, dann kann ich das zwar zur Fernadministration am Windows PC nutzen, aber nicht (ohne erweiterte Kenntnisse) zur Automation.



Ansonsten vielleicht einen ssh client installieren

Da ich in einem geschlossen Netz arbeite, reicht mir die Sicherheit von Telnet vollkommen. Auch hier kann ich (i.m.h.o.) nicht automatisieren.

Ich suche etwas in der Art von rmtshare.exe. Vielleicht kann die Syntax ja klarmachen was dieses Tool kann:


RMTSHARE \\server
\\server\sharename
\\server\sharename=drive:path [/USERS:number | /UNLIMITED]
[/REMARK:"text"]
[/GRANT [user[:perm][ /GRANT user[:perm]]]]
[/REMOVE user]
\\server\sharename=printername /PRINTER [/USERS:number | /UNLIMITED]
[/REMARK:"text"]
[/GRANT [user[:perm][ /GRANT user[:perm]]]]
[/REMOVE user]
\\server\sharename [/USERS:number | /UNLIMITED]
[/REMARK:"text"]
[/GRANT [user[:perm][ /GRANT user[:perm]]]]
[/REMOVE user]
\\server\sharename /DELETE

Dieses Tool in einem Script kann also, nur nach Eingabe des Usernamens, auf einem (windows) Server ein Verzeichnis freigeben und die Freigaberechte nach meinen Vorgaben setzen.

Ich suche also etwas wie rmtshare.exe für die Administration eines Samba-Servers.

Bloggy
26.02.08, 09:32
Habe ich das richtig Verstanden das du mit hilfe eines Befehls
auf einem Linuxserver Freigaben des Samba dämon steuern willst,
anstatt dies per editieren der smb.conf?

Nogo
26.02.08, 10:37
Ja, es könnte das Editieren der smb.conf auch übernehmen.

Es müßte aber auch neue User anlegen in der Datei ......., (Da ich mit mit Linux noch nicht auskenne, weiß ich noch nicht, in welcher Datei diese Angaben liegen.)

Bloggy
26.02.08, 11:06
Wenn es um user-anlegen geht wäre es interesant zu wissen wie du Benutzer verwaltest... nutzt du eine LDAP-Datenbank oder "normale" Linux Benutzer?

andererseits installier doch webmin, die Verwaltung von samba ist damit recht einfach auch für "Anfänger" dort kannst du dann neue Freigaben einrichten Benutzer und Gruppen anlegen usw...

Webmin lässt sich relativ einfach installieren:

bei Fedora über eine Console als root "yum install webmin"
bei Debian über eine Console als root "apt-get install webmin"
bei SUSE über yast2 -> Software hinzufügen (oder so hies das)

falls du mehr Infos brauchst schau mal auf http://www.webmin.com/

PS: nach der Installation läuft Webmin standartmäsig auf port 10000

Nogo
26.02.08, 11:43
Das ganze soll mit einer Terastation Pro II (Linux-Raid-NAS) laufen, daher kann ich (Linux-DAU) so leicht nichts installieren. Das Anlegen von Verzeichnissen oder Users ist nicht so schwierig per eingebautem Webinterface, aber ich bin auch mal im Urlaub, da muß es reibungsfrei laufen. Das mit dem Webinterface ist aber wiederum zu kompliziert für Computerlaien, die es dann alle halbe Jahre für drei Wochen nutzen sollen.

Ich wollte es ausloten, ob ich die Terastation als Server verwenden kann, ohne den bisher (mit einem XP-Rechner als Server) reibungslosen Administrationsablauf aufgeben zu müssen.

Vielen Dank an alle, die hier geholfen haben, meine Frage hat sich damit geklärt.

Bloggy
26.02.08, 11:53
Das ganze soll mit einer Terastation Pro II (Linux-Raid-NAS) laufen, daher kann ich (Linux-DAU) so leicht nichts installieren. Das Anlegen von Verzeichnissen oder Users ist nicht so schwierig per eingebautem Webinterface, aber ich bin auch mal im Urlaub, da muß es reibungsfrei laufen. Das mit dem Webinterface ist aber wiederum zu kompliziert für Computerlaien, die es dann alle halbe Jahre für drei Wochen nutzen sollen.

Ich wollte es ausloten, ob ich die Terastation als Server verwenden kann, ohne den bisher (mit einem XP-Rechner als Server) reibungslosen Administrationsablauf aufgeben zu müssen.

Vielen Dank an alle, die hier geholfen haben, meine Frage hat sich damit geklärt.

Entschuldige aber wenn ich das richtig verstehe willst du sagen das ein script für den laien der zumeist keine Console kennt einfacher ist?

dann mach ne Anleitung mit screenshots und genauen Anweisungen was wo rein muss!

Nogo
27.02.08, 08:30
Ich habe nur den Teilaspekt hier geschildert, der für meine Fragestellung relevant ist, ich hätte natürlich bei Adam und Eva anfangen können. Der Zorn und die Nichtachtung, die so etwas in den "ambitionierten" Foren hervorruft, den kann ich allerdings verstehen.


dann mach ne Anleitung mit screenshots und genauen Anweisungen was wo rein muss!

Mach ich gerne, Du mußt ja nicht gleich den Adrenalinspiegel steigen lassen. Wenn jemand sich für den gesamten Zusammenhang interessiert, selbstverständlich, ich erhalte Hilfe in eurem Forum, da werd ich meine (sehr spezielle Lösung) nicht vorenthalten.

Vorab muß ich aber erklären, daß ich Anfänger in AutoIt bin und ebenso hier auch das erste mal mit rmtshare gearbeitet habe, daher ist die Lösung sicher nicht elegant:


Ich arbeite mit einem Bildanalyseprogramm für viel wechselnde netzinterne Kunden. Für jeden Kunden habe ich eine Access-Datenbank auf die das Labor und NUR er zugreifen können sollen. In einer ini-Datei liegen die Angaben für Server usw. Das wird ausgelesen. Das Script fragt dann nach dem Nutzernamen und der Domäne (das ist auch das einzige was der Nutzer tun muß, daher sind Screenshots hier unsinnig), legt das entsprechende Verzeichnis an. rmtshare wird mit den Parametern aufgerufen, die nötig sind, um das Verzeichnis mit den entsprechenden Rechten zu versehen. Das Script erzeugt den Code, der nötig ist, eine datenkompatible, personalisierte Datenbank in der Bildanalysensoftware zu erzeugen und ruft die Bildanalysensoftware auf, die dann diesen Code ausführt:



; Variablen
Dim $NeuNutzer, $Befehl, $Domaene , $Datenverzeichnis
Const $Admin = "AdminName", $Passwort = 'PASSWORT'


$Rechner = IniRead('UserMetalloneu.ini', 'Config' , 'Server', 'NN')
If $Rechner = 'NN' then
IniWrite('UserMetalloNeu.ini', 'Config', 'Server', 'ServerName')
$Rechner = 'RechnerName'
EndIf

$Datenverzeichnis = IniRead('UserMetalloneu.ini', 'Config' , 'Datenverzeichnis', 'NN')
If $Datenverzeichnis = 'NN' then
IniWrite('UserMetalloNeu.ini', 'Config', 'Datenverzeichnis', 'F:\User')
$Datenverzeichnis = 'F:\User'
EndIf

$Domaene = IniRead('UserMetalloneu.ini', 'Config' , 'Domaene', 'NN')
If $Domaene = 'NN' then
IniWrite('UserMetalloNeu.ini', 'Config', 'Domaene', 'Domaenenname')
$Domaene = 'Domaenenname'
EndIf

If Not IsAdmin() Then
RunAsSet($Admin, $Rechner, $Passwort)
Run('"' & @AutoItExe & '"' & ' "' & @ScriptFullPath & '"', @WorkingDir)
Exit
EndIf

;MsgBox(0,'Info','Mit diesem Skript kann man neue Benutzer anlegen lassen')

; Variablen und Umgebung einrichten
$NeuNutzer = InputBox('Welcher Nutzer soll eingerichtet werden?' , 'Bitte den GENAUEN Anmeldenamen eingeben')
If $NeuNutzer = '' then Exit
$Domaene = InputBox('In welcher Domaene ist dieser Nutzer?' , '', '')
If $Domaene = '' then Exit
;die Rechte für die Ausführung auf dem Rechner festlegenDirCreate($Datenverzeichnis & '\' & $UserDir & '\' & $NeuNutzer)

FileInstall("rmtshare.exe","rmtshare.exe")
DirCreate($Datenverzeichnis & '\' & $NeuNutzer)

$Befehl= "\\" & $Rechner & "\" & $NeuNutzer & "=" & $Datenverzeichnis & '\' & $NeuNutzer & ' /Grant ' & $Domaene & '\' & $NeuNutzer & ':r'
ClipPut($Befehl)
ShellExecuteWait('rmtshare', $Befehl)

;Die Userdatenbank anlegen
$Macrofile = $Datenverzeichnis & '\' &'Macro.sfm'
$File = FileOpen($MacroFile , 2)

;Macro für das Anlegen der Bilddatenbank erzeugen
FileWriteLine($File , 'AplNeu(Datenbankname:="' & $NeuNutzer & '", Datenbankverzeichnis:="' & $DatenVerzeichnis & '\\' & $NeuNutzer &'", Bildverzeichnis:="' & $DatenVerzeichnis & '\\' & $NeuNutzer & '", Quellstrukturdatei:="C:\\Programme\\Analysis pro\\ArchiveProcessTemplates\\Projekt.apl", Auszug:=FALSE, KennwortQuellstrukturdatei:="", Vorgangsname:="Projekt-Nr", Vorgangsfeld:=NULL);')
FileWriteLine($File, 'AplEinstellungen$(Minibildgröße:=1, Bildtyp:=14, Komprimierungsmethode:=4097, JpegQualität:=85);')
FileClose($File)

; Bilddatenbank mit Analysis anlegen und Einstellungen ändern
While ProcessExists('analySIS.exe')
If MsgBox(1, 'Warnung', 'Bitte Analysis beenden') = 2 then Exit
WEnd

RunAsSet()
ShellExecute(@ProgramFilesDir & '\' & 'ANalySIS Pro' & '\' & 'analySIS.exe', '-x ' & $MacroFile)
Opt("WinTitleMatchMode", 4)
WinWait("Einstellungen",'&Physikalische Minibildgröße:',30)
ControlSetText('Einstellungen','&Physikalische Minibildgröße:', 1021, 'U'&$NeuNutzer& '_<Datum>_<LaufNr>')
ControlSetText('Einstellungen','&Physikalische Minibildgröße:', 1007, 'U'&$NeuNutzer& '_<Datum>_<LaufNr>')
Opt("WinTitleMatchMode", 4)
ControlClick("Einstellungen","&Physikalische Minibildgröße:","Button15")



Entschuldige aber wenn ich das richtig verstehe willst du sagen das ein script für den laien der zumeist keine Console kennt einfacher ist?

Wie ich am Anfang skizziert habe, gibt es ein Script, das das übernimmt. Leicht abgeändert verwende ich es jetzt auch für den Umzug aller Datenbanken auf den neuen (XP-Server), da sind 50 Freigaben in wenigen Sekunden zuverlässig eingerichtet. Es hätte mir viel Zeit erspart, wenn es ein ähnliches Tool, wie rmtshare, auch für Samba geben würde. Und so kann auch jeder Computerlaie einen neuen Nutzer anlegen.

basti1985
27.02.08, 12:36
ich hab das zwar nur kuz überflogen doch wieso bastelst du dir nicht einfach einen bash-skript ??

Bloggy
28.02.08, 09:50
Wie verwaltest du die SAMBA-Benutzer über eine LDAP-Datenbank oder legst du "echte" posix-Benutzer an?