Schul-Konfiguration von Thunderbird

Seite: 3/3
(1501 Worte insgesamt im Text)
(13452 mal aufgerufen)  Druckerfreundliche Ansicht

Lösungen

Um das Problem mit dem Start von "nicht installierten" Windows-Programmen zu lösen, schreibe ich die notwendigen Verknüpfungen bei jedem Einloggvorgang des Nutzers in sein jeweiliges lokales Profilverzeichnis. Dazu wird ein vorgefertigtes und mit Daten gefülltes Verzeichnis per xcopy kopiert. Die Quelldateien habe ich in "/var/lib/samba/netlogon/umgebung/all users" abgelegt.
In dem Quellverzeichnis stehen die notwendigen Daten und können gegebenenfalls aktualisiert werden.

Verzeichnisse:
+--Anwendungsdaten
+ +-Mozilla
! ! +Firefox ; hier liegt die profiles.ini fuer Firefox
! +Thunderbird ; hier liegt die profiles.ini fuer Thunderbird
+--Desktop ; Starticons fuer servergespeicherte Programme
+--Startmenü ; Starticons fuer servergespeicherte Programme
+-Programme ; Starticons fuer servergespeicherte Programme

Der XCopy Befehl wird bei jedem Einloggen des Nutzers aus der ?logon.bat? heraus mit den entsprechenden Parametern aufgerufen. So bin ich sicher, dass die Oberfläche stimmt.

;@xcopy "\\sokrates\netlogon\umgebung\All Users\*.*" "C:\Dokumente und Einstellungen\%username%\*.*" /S/Y/H/R/Q
Die Datei logon.bat

Die Dateien ?profiles.ini? verweisen auf die Pfade für die Profile von Firefox bzw. Thunderbird auf Laufwerk U:. Die Programme Firefox bzw. Thunderbird werten diese Dateien bei ihrem Start aus.

Um beim Anmelden des jeweiligen Nutzers ein Ereignis zu erzeugen, habe ich in der "smb.conf" das "preexec" und "postexec" Kommando in [homes] eingefügt.

root preexec = /var/lib/samba/script/userlogon %u %g %H %m %M %T root postexec = /var/lib/samba/script/userlogout %u %g %H %m %M %T
Änderungen in der Datei smb.conf

Die Kommandos rufen die von mir neu angelegten Dateien "/var/lib/samba/script/userlogon" und "/var/lib/samba/script/userlogout" auf ("/var/lib/samba/script/" fand ich gut wg. der Nähe zu /var/lib/samba/logon icon_smile ) In der "/var/lib/samba/script/userlogon" werden die Aufrufparameter ausgewertet und in Dateien geschrieben.

# die Aufrufparameter in lesbare Form bringen
nutzer=
gruppe=
home=
maschine=
maschinendomain=
datum=
zeit=

# wg.: meiner paranoia: aufschreiben, wer sich angemeldet hat .....,
# wg des datenschutzes: alle nutzer unterschreiben eine nutzerordnung
# die private nutzung ist nicht erlaubt.
echo "con # $nutzer # $gruppe # $datum # $zeit # $home # $maschine #
$maschinendomain" >>/var/log/samba/$maschine.con.log
# in der datei ?userlogout? steht analog: echo "dis # $nutzer # $gruppe #
$datum.....

# fuer die notwendigen persoenlichen daten:
# in LDAP nach dem nutzer suchen, die ?set? batchbefehle erzeugen und
# die zeilen in die ?mkset.bat? datei in home schreiben.
/usr/bin/ldapsearch -LLL -x -b "uid=$nutzer, dc=sts, dc=da; dc=schule, dc=de" sn cn mail description |sed "s/dn: /set dn=/g; s/sn: /set sn=/g; s/cn: /set cn=/g; s/mail: /set mail=/g; s/description: /set description=/g" > $home/mkset.bat

# den rest der daten auch noch, wenn die daten schon da sind,
# kann man sie auch windows geben icon_smile
echo "set nutzer=$nutzer" >> $home/mkset.bat
echo "set logondatum=$datum" >> $home/mkset.bat
echo "set logonzeit=$zeit" >> $home/mkset.bat
echo "set gruppe=$gruppe" >> $home/mkset.bat
echo "set maschine=$maschine" >> $home/mkset.bat
Die Datei /var/lib/samba/script/userlogon

Da jetzt alle notwendigen Daten auf dem jeweiligen Windowsrechner sind, kann der Rest der Arbeit auch der Windowsrechner machen.

In der ?logon.bat? wird die automatisch erzeugte Datei "mkset.bat" aufgerufen um die Umgebungsvariablen zu setzen. Nach dem Aufruf wird die Datei mkset.bat nicht mehr gebraucht und gelöscht.

call U:\mkset.bat
del /F U:\ mkset.bat
Die Datei logon.bat

Da jetzt die Umgebung steht, kann per echo Befehl die user.js mit den Nutzerdaten geschrieben werden. Dazu wird die Datei mkuserprefsjs.bat in U: kopiert, ausgeführt und lokal geloescht.

copy /Y "\\sokrates\netlogon\mkuserprefsjs.bat" u:\mkuserprefsjs.bat
call u:\mkuserprefsjs.bat
del /F u:\mkuserprefsjs.bat
Die Datei logon.bat

(Als Vorlage zur user.js habe ich einen neuen POP-Mailaccount mit Thunderbird angelegt. Den so erzeugten Datensatz aus der profs.js habe ich mit den entsprechenden Variablennamen versehen und zu einer Batch-Datei umgeschrieben.

;@echo off
rem lokale umgebungsvariablen setzen
set mailserver=192.168.000.003
set expfile=u:\thunderbird\user.js
set organisation= studienseminar darmstadt hessen
rem
rem user.js mit den umgebungsvariablen aus mkset.bat erzeugen
echo # Mozilla User Preferences >%expfile%
echo /* Do not edit this file. >>%expfile%
echo * >>%expfile%
echo * If YOU make changes to this file while the browser is running, >>%expfile%
echo * the changes will be overwritten when the browser exits. >>%expfile%
echo * >>%expfile%
echo * To make a manual change to preferences, you can visit the URL
about:config >>%expfile%
echo * For more information, see
http://www.mozilla.org/unix/customizing.html#prefs >>%expfile%
echo */ >>%expfile%
echo user_pref("app.update.autoUpdateEnabled", false); >>%expfile%
echo user_pref("extensions.update.autoUpdateEnabled", false); >>%expfile%
echo user_pref("mail.account.account1.server", "server1"); >>%expfile%
echo user_pref("mail.account.account2.identities", "id1"); >>%expfile%
echo user_pref("mail.account.account2.server", "server2"); >>%expfile%
echo user_pref("mail.accountmanager.accounts", "account1,account2"); >>%expfile%
echo user_pref("mail.accountmanager.defaultaccount", "account2"); >>%expfile%
echo user_pref("mail.accountmanager.localfoldersserver", "server1"); >>%expfile%
echo user_pref("mail.identity.id1.compose_html", false); >>%expfile%
echo user_pref("mail.identity.id1.directoryServer", ""); >>%expfile%
echo user_pref("mail.identity.id1.bcc_self", true); >>%expfile%
echo user_pref("mail.identity.id1.doBcc", true); >>%expfile%
echo user_pref("mail.identity.id1.doBccList", "%mail%"); >>%expfile%
echo user_pref("mail.identity.id1.draft_folder", "mailbox://%mail%/Drafts"); >>%expfile%
echo user_pref("mail.identity.id1.drafts_folder_picker_mode", "0"); >>%expfile%
echo user_pref("mail.identity.id1.encryption_cert_name", ""); >>%expfile%
echo user_pref("mail.identity.id1.encryptionpolicy", 0); >>%expfile%
echo user_pref("mail.identity.id1.escapedVCard", ""); >>%expfile%
echo user_pref("mail.identity.id1.fcc", false); >>%expfile%
echo user_pref("mail.identity.id1.fcc_folder", "mailbox://%mail%/Sent"); >>%expfile%
echo user_pref("mail.identity.id1.fcc_folder_picker_mode", "0"); >>%expfile%
echo user_pref("mail.identity.id1.fullName", "%cn%"); >>%expfile%
echo user_pref("mail.identity.id1.organization", "%organisation%"); >>%expfile%
echo user_pref("mail.identity.id1.overrideGlobal_Pref", false); >>%expfile%
echo user_pref("mail.identity.id1.reply_to", ""); >>%expfile%
echo user_pref("mail.identity.id1.sign_mail", false); >>%expfile%
echo user_pref("mail.identity.id1.signing_cert_name", ""); >>%expfile%
echo user_pref("mail.identity.id1.smtpServer", "smtp1"); >>%expfile%
echo user_pref("mail.identity.id1.stationery_folder", "mailbox://%mail%/Templates"); >>%expfile%
echo user_pref("mail.identity.id1.tmpl_folder_picker_mode", "0"); >>%expfile%
echo user_pref("mail.identity.id1.useremail", "%mail%"); >>%expfile%
echo user_pref("mail.identity.id1.valid", true); >>%expfile%
echo user_pref("mail.prompt_purge_threshhold", true); >>%expfile%
echo user_pref("mail.root.none", "u:\\thunderbird\\Mail"); >>%expfile%
echo user_pref("mail.root.none-rel", "[ProfD]Mail"); >>%expfile%
echo user_pref("mail.root.pop3", "u:\\thunderbird\\Mail"); >>%expfile%
echo user_pref("mail.root.pop3-rel", "[ProfD]Mail"); >>%expfile%
echo user_pref("mail.server.server1.directory", "u:\\thunderbird\\Mail\\Local Folders"); >>%expfile%
echo user_pref("mail.server.server1.directory-rel", "[ProfD]Mail/Local Folders"); >>%expfile%
echo user_pref("mail.server.server1.hostname", "Local Folders"); >>%expfile%
echo user_pref("mail.server.server1.name", "Lokale Ordner"); >>%expfile%
echo user_pref("mail.server.server1.type", "none"); >>%expfile%
echo user_pref("mail.server.server1.userName", "nobody"); >>%expfile%
echo user_pref("mail.server.server2.ageLimit", 30); >>%expfile%
echo user_pref("mail.server.server2.check_time", 5); >>%expfile%
echo user_pref("mail.server.server2.daysToKeepBodies", 30); >>%expfile%
echo user_pref("mail.server.server2.daysToKeepHdrs", 30); >>%expfile%
echo user_pref("mail.server.server2.directory", "u:\\thunderbird\\Mail\\mailserver"); >>%expfile%
echo user_pref("mail.server.server2.directory-rel", "[ProfD]Mail/mailserver"); >>%expfile%
echo user_pref("mail.server.server2.download_on_biff", true); >>%expfile%
echo user_pref("mail.server.server2.hostname", "%mailserver%"); >>%expfile%
echo user_pref("mail.server.server2.login_at_startup", true); >>%expfile%
echo user_pref("mail.server.server2.name", "%mail%"); >>%expfile%
echo user_pref("mail.server.server2.numHdrsToKeep", 30); >>%expfile%
echo user_pref("mail.server.server2.type", "pop3"); >>%expfile%
echo user_pref("mail.server.server2.userName", "%uid%"); >>%expfile%
echo user_pref("mail.smtp.defaultserver", "smtp1"); >>%expfile%
echo user_pref("mail.smtpserver.smtp1.auth_method", 1); >>%expfile%
echo user_pref("mail.smtpserver.smtp1.hostname", "%mailserver%"); >>%expfile%
echo user_pref("mail.smtpserver.smtp1.port", 25); >>%expfile%
echo user_pref("mail.smtpserver.smtp1.try_ssl", 0); >>%expfile%
echo user_pref("mail.smtpserver.smtp1.username", "%uid%"); >>%expfile%
echo user_pref("mail.smtpservers", "smtp1"); >>%expfile%
echo user_pref("mail.startup.enabledMailCheckOnce", true); >>%expfile%
echo user_pref("mailnews.quotingPrefs.version", 1); >>%expfile%
echo user_pref("mailnews.ui.threadpane.version", 5); >>%expfile%
Die Datei user.js




Kommentare

Einen Kommentar hinzufügen



 Suchen:


 Umfrage

(Nur für angemeldete Benutzer)

Was wird hier am meisten vermisst?

[ Ergebnis | Umfragen ]

Stimmen: 621
Kommentare: 0

 Zitate

Auch ein Traumjob berechtigt nicht zum Schlaf während der Arbeitszeit.

-- anonymous