Problem bei netzwerkbasierter Software


#1

Hallo zusammen,

folgendes Problem habe ich und brauche Hilfe:

Ich habe eine Multimedia-DVD-ROM (Musix 2, Helbling-Verlag) als pgmadmin auf Laufwerk (K:) (/home/samba/progs) installiert. Die Installationsanleitung des Verlags sieht vor, dass die Programmdaten auf einem Netzlaufwerk mit nur Leserechten für die User installiert wird, die Benutzerdaten aber auf einem Laufwerk mit Schreibrechten für die Benutzer der Software.

Ich habe also das Programm auf (K:) und die Benutzerdaten auf (H: > musix2 > daten) installiert. Nach der Onlineaktivierung und dem Anlegen eines Programm-Benutzers (fis) lief die Software auch. Also: Image erstellt.

Leider läuft die Software nicht als anderer Benutzer sondern nur, wenn ich als pgmadmin angemeldet bin.
Wenn ich als normaler Benutzer (fis) angemeldet bin und die Software starten will, lande ich wieder bei der Onlineaktivierung.
Hier der Unterschied des Verzeichnisses zwischen pgmadmin und meinem Benutzer:

20:32/0 server /home/administrators/pgmadmin/musix2/daten # ls -l ./
insgesamt 16
drwxr-xr-x 2 pgmadmin domadmins 4096 Okt 9 09:32 fis
-rw-r–r-- 1 pgmadmin domadmins 677 Okt 8 12:32 license.xml
-rw-r–r-- 1 pgmadmin domadmins 583 Okt 9 09:42 log.txt
-rw-r–r-- 1 pgmadmin domadmins 754 Okt 8 13:46 userlist.xml
20:32/0 server /home/administrators/pgmadmin/musix2/daten # ls -l /home/teachers /fis/musix2/daten/
insgesamt 8
-rw-r–r-- 1 fis teachers 583 Okt 9 09:37 log.txt
-rw-r–r-- 1 fis teachers 143 Okt 8 13:33 userlist.xml

Es fehlen unter meinem Benutzer der das Verzeichnis “fis” und die “license.xml”

Zur Info:Wir haben linuxmuster.net 6.2 und Windows 10 Clients.

Viele Grüße,
Andreas


#2

Hallo Andreas,

Um sicher zu gehen, ob dies das Problem ist, würde ich an Deiner Stelle einmal händisch die Datei license.xml ins Home des Benutzers kopieren (Unterordner …musix2/daten) und dann schauen, ob die Onlineaktivierung dann abgeschaltet ist.

Wenn das der Fall ist, musst Du nur noch dafür sorgen, dass die Datei bei jedem Benutzer dort auch liegt. Ich habe nur Linux-Clients und weiß daher nicht, wie die Lösung für Windows ist. Die Linux-Lösung wäre: Händisch die Datei license.xml ins Home des linuxadmins kopieren (Unterordner …musix2/daten) und ein neues Image erstellen.
Für Windows müsste das so ähnlich gehen:
http://docs.linuxmuster.net/de/latest/clients/windows10clients/defaultprofile.html

Gruß
Stefan


#3

Hallo Andreas,

Ich habe also das Programm auf (K:) und die Benutzerdaten auf (H: >
musix2 > daten) installiert. Nach der Onlineaktivierung und dem Anlegen
eines Programm-Benutzers (fis) lief die Software auch. Also: Image erstellt.

… das kann nicht funktionieren, da nur der pgmadmin Zugriff auf “sein”
H hat.
Du mußt für das Programm ein schreibbares Share auf dem Server
einrichten (meist als S: gemountet) und in dieses den schreibbaren Teil
der Software legen.

dafür habe ich folgendes gemacht:

  1. auf dem server unter /etc/samba/ in der Datei smb.conf.shares in
    diesem Bereich die KOmmentarzeichen (Semikoli) entfernt:

program share with write permissions

[pgmw]
comment = Windows Programs with write perms
path = /home/samba/pgmw
admin users = @domadmins
writeable = Yes
guest ok = No

  1. das Verzeichnis pgmw erstellt (falls nicht vorhanden:
    mkdir /home/samba/pgmw

  2. Rechte anpassen:
    chmod -R 775 /home/samba/pgmw

  3. Einfügen des Laufwerks S in der /home/samba/netlogon/login.bat
    Diese Zeile sollte vorhanden sein:

:winnt
call \\server\netlogon\logon.bat H: %USERNAME% K: pgm R: cdrom T: shares
V: tasks

ändern zu

:winnt
call \\server\netlogon\logon.bat H: %USERNAME% K: pgm R: cdrom S: pgmw
T: shares V: tasks
  1. samba neu starten (nicht währen Nutzer am Netz angemeldet sind)
    service smbd restart

Danach sollte es am Client nach dem Login von pgmadmin (und anderen
Netzwerknutzern) das zusätzliche Share S: geben, in welchem alle
Schreibrechte haben.

Ich kann mir die Bemerkung aber nicht verkneifen: dein Programm ist
nicht Netzwerkfähig!
Wenn ein Programm ein schreibbares Share braucht, dann ist das
stümperhaft programmiert. Sowas darf nicht sein.
Du hast Daten “für alle” auf einem schreibbaren share liegen. Was hält
den den Peter aus der 6a davon ab einfach mal den Inhalt des Laufwerks S
zu löschen? Nichts.
Was passiert den, wenn am Ende der Stunde 30 Schüler gleichzeitig das
Programm beenden und alle damit gleichzeitig in S schreiben? in die
selbe Datei? Wer regelt den Zugriff? Niemand. Da kann gerne mal was
schief gehen…
Will man im Netzwerk Daten schreibbar für mehrere Nutzer vor halten, so
gehören sie in eine Datenbank: die regelt den Zugriff und auch
konkurierende Zugriffe.

Lg

Holger


#4

Ich denke, dass wenn das Programm die Benutzerdaten (und auch die für die Lizenz nötigen Dateien) wirklich unter dem Pfad H: \musix2\ daten speichert, braucht man kein gemeinsames Share, weil jeder Benutzer ja unter H: sein eigenes Home hat. Man muss nur dafür sorgen, dass die Dateien ins Home jedes Benutzers kopiert werden. Oder irre ich mich da?

Gruß
Stefan


#5

Hallo Stefan,

Ich kann mir die Bemerkung aber nicht verkneifen: dein Programm ist
nicht Netzwerkfähig!

Ich denke, dass wenn das Programm die Benutzerdaten (und auch die für
die Lizenz nötigen Dateien) wirklich unter dem Pfad H: \musix2\ daten
speichert, braucht man kein gemeinsames Share, weil jeder Benutzer ja
unter H: sein eigenes Home hat. Man muss nur dafür sorgen, dass die
Dateien ins Home jedes Benutzers kopiert werden. Oder irre ich mich da?

ich fürchte ja, den das Verzeichnis heißt ja musix2/daten/ und nicht
“lizenz”: es werden also wohl Daten hinzu kommen.
Weswegen sollte man den auch die Lizenz in ein schreibbares Share legen?
Noch so ein Schwachsinn dieser Software…

LG

Holger


#6

Hallo Andreas!

Ich habe nach unserem Telefonat gestern nochmal drüber geschlafen, es müsste im Prinzip so funktionieren:

  1. Kopiere das Verzeichnis musix2/daten des pgmadmin mit Inhalt in ein Verzeichnis(Share) das jeder User lesen kann. Wenn vorhanden K:\

  2. Füge Folgendes im Abschnitt custom stuff in der Datei /home/samba/netlogon/common.bat ein. Achtungdirekt an einem Windows-Client als pgmadmin machen. (z.B. notepad)

REM ### Add your custom stuff here - begin ###
...
REM musix2-Einstellungen
REM Anlegen der Datenstruktur wenn sie fehlt
IF NOT EXIST H:\musix2 mkdir H:\musix2
IF NOT EXIST H:\musix2/daten mkdir H:\musix2/daten
REM Abbruch wenn Originale fehlen
IF NOT EXIST K:\musix2\daten\license.xml GOTO musix2_end
REM Abbruch wenn Originale schon im Home-Verzeichnis des Users
IF EXIST H:\musix2/daten\license.xml GOTO musix2_end
REM Kopieren der fehlenden Daten für den User
xcopy K:\musix2/daten H:\musix2\daten\ /E
:musix2_end
REM ### Custom stuff - end ###
  1. Lösche bei deinem User das Verzeichnis falls vorhanden.
  2. Ausloggen
  3. Beim nächsten Einloggen hast du hoffentlich das fehlende.

Beste Grüße

Thorsten


#7

Hallo Stefan,

Um sicher zu gehen, ob dies das Problem ist, würde ich an Deiner Stelle einmal händisch die Datei license.xml ins Home des Benutzers kopieren (Unterordner …musix2/daten) und dann schauen, ob die Onlineaktivierung dann abgeschaltet ist.

Das hatte ich schon probiert, allerdings ohne Erfolg - hätte ich eigentlich in meinem ersten Post erwähnen können. Sorry…

Der Besitzer der beiden Dateien war allerdings immer noch der pgmadmin.

VG, Andreas


#8

Hallo Thorsten,

Bevor ich einen Fehler mache: Bisher komme ich via Putty auf den Server, wenn ich an einem Windowsrechner arbeite. Kann ich die o.g. Datei auch darin bearbeiten, wenn ich als pgmadmin angemeldet bin? Falls nicht, brauche ich noch eine Anleitung, wie ich die Datei in Notepad geöffnet bekomme.

VG, Andreas


#9

Hallo Andreas!

Nee, dann bearbeitst Du sie unter linux.

Hast du um 14.30 Uhr Zeit für einen support-Anruf. Sitze dann für dich an der bekannten Nummer.

Beste Grüße

Thorsten


#10

Hallo Thorsten

ich habe leider keine Zeit - Konferenz. Ich melde mich später.

VG Andreas


#11

Hallo Andreas!

Ich habe mal im Netz nach einer Anleitung gesucht:

  1. Öffnen Sie einen Ordner im Explorer.
  2. Sie sehen dann ein Fenster mit einer Navigationsleiste in der linken Randspalte.
  3. Falls Sie die Navigationsleiste nicht sehen, gehen Sie so vor:
  • Wählen Sie in Windows 8 und 10 Ansicht , klicken dann auf Navigationsbereich und aktivieren dann Navigationsbereich .
  • Unter Windows 7 klicken Sie auf Organisieren und dann aktivieren dann in Layout den Navigationsbereich .
  1. Ganz unten im Navigationsbereich finden Sie den Eintrag Netzwerk .
  2. Klicken Sie doppelt darauf.
  3. Nach ein paar Augenblicken (bei großen Netzen kann es länger dauern) erscheinen alle Computer, die in Ihrem Netzwerk vorhanden sind.
  4. Um nach einer Freigabe auf einem der Rechner zu suchen, klicken Sie doppelt darauf.
  5. Nach einem Moment sehen Sie die Freigaben und können sie öffnen und nutzen.

Hier wäre die Freigabe netlogon das was du brauchst.

Beste Grüße

Thorsten


#12

Hallo Holger, Stefan, Thorsten,

vielen Dank für Eure Hilfen! Der Vorschlag von Holger, Erstellen eines beschreibbaren Shares, hat teilweise Erfolg gehabt.
Teilweise deshalb, weil ich die Software zwar als angemeldeter Schüler (mustermax) zum Laufen bringe, nicht jedoch als Lehrer. Beim mustermax erscheint im Explorer auch das pgmw(S:), bei den Lehrern und auch beim pgmadmin heißt das Laufwerk S “Schülerhomes”. Der Laufwerksbuchstabe scheint m.E. schon vergeben gewesen zu sein. In der /home/samba/netlogon/login.bat erscheint kein Laufwerk mit dem Namen “Schülerhomes”. Wo wird das denn erzeugt? Kann ich einfach einen noch unbenutzten Laufwerksbuchstaben vergeben?

@Holger: Du schreibst:

Nach dieser Anleitung, die ich vorhin gegoogelt habe,
http://www.linuxmuster.net/wikiarchiv/dokumentation:handbuch51:wartung:einrichtung:samba_netlogon
sollen die Rechte des Verteichnisses mit chmod jedoch auf 1777 geändert werden:

Meldet man sich jetzt als Benutzer administrator oder pgmadmin an, können Programme auf Laufwerk M: installiert werden.

Soll ein Programmverzeichnis auf diesem Share für alle Nutzer schreibbar gemacht werden, damit das Programm z.B. dort seine Lernstände abspeichern kann, müssen die Rechte für das Verzeichnis mit folgendem Befehl gesetzt werden:

chmod 1777 <Verzeichnis>

Damit wird das Verzeichnis für alle Nutzer schreibbar. Gleichzeitig sorgt das Sticky Bit 1) dafür, dass die Nutzer sich nicht gegenseitig ihre Dateien weglöschen können.

Aus diesem Grund hatte ich die Rechte tatsächlich auf 777 gesetzt.

Viele Grüße,
Andreas


#13

Hallo Andreas,

vielen Dank für Eure Hilfen! Der Vorschlag von Holger, Erstellen eines
beschreibbaren Shares, hat teilweise Erfolg gehabt.
Teilweise deshalb, weil ich die Software zwar als angemeldeter Schüler
(mustermax) zum Laufen bringe, nicht jedoch als Lehrer. Beim mustermax
erscheint im Explorer auch das pgmw(S:), bei den Lehrern und auch beim
pgmadmin heißt das Laufwerk S “Schülerhomes”. Der Laufwerksbuchstabe
scheint m.E. schon vergeben gewesen zu sein. In der
/home/samba/netlogon/login.bat erscheint kein Laufwerk mit dem Namen
“Schülerhomes”. Wo wird das denn erzeugt? Kann ich einfach einen noch
unbenutzten Laufwerksbuchstaben vergeben?

… sorry: mein Fehler.
S ist bei Lehrern schon belegt.
Nimm W oder Q …

LG

Holger


#14

Hallo Holger,

ich habe den Laufwerksbuchstaben geändert und jetzt klappt es bei allen Benutzern :smiley:

Vielen Dank Euch allen fürs Helfen!
VG, Andreas


#15

Hallo Andreas,

ich habe den Laufwerksbuchstaben geändert und jetzt klappt es bei allen
Benutzern :smiley:

super.

Ich würde dir nur empfehlen den Inhalt von “Q” (also dem Schreibbaren
Share) regelmäßig auf dem Server weg zu sichern.
Mit rsnapshot macht man das normalerweise, weil man eine History bekommt
und Dank Hardlinks nicht viel Platz verbraucht.

Es könnte ja doch mal vorkommen, dass jemand was löscht …

LG

Holger


#16

Hallo Holger,

danke für den Tipp mit rsnapshot.
Ich habe für das Verzeichnis das Sticky-bit mit chmod 1777 gesetzt.

20:55/0 server ~ # ls -l /home/samba/pgmw/
insgesamt 4
drwxrwxrwt 3 root domadmins 4096 Okt 10 15:53 musix2

So wie ich es verstanden habe, sollte nun keiner mehr außer root das Verzeichnis und was darin ist löschen können. Ist das richtig?

VG, Andreas