Archiv der Kategorie: Memo

RegEx im DW8

Der DreamWeaver kann mehr, als man gemeinhin annehmen möchte: Hier ein Beispiel um

alt=“beschreibung“

durch

alt=“beschreibung“ title=“beschreibung“

zu ersetzen.

screenshot_001

Sollten im alt Tag mehrere Wörter vorkommen oder ist man auf der Suche nach einer Rundumlösung, dann wie folgt verfahren:

screenshot_002

Zusammenfassung:

Suchen:

alt=“(.*?)“

Ersetzen:

alt=“$1″ title=“$1″

Hier eine Liste der RegEx auf den Adobe Seiten – zwar für DW9, aber es geht auch in DW8.


Shalla Memo

Da ich heute bei Uli einen IPCop aufsetzen muss, setz ich kurz meine Einstellungen hier rein – als Memo für die Konfiguration der Shalla Blacklist. Ich kann mir die Zusammenhänge zwischen manchen Kategoriennamen und deren Wirkung einfach nicht richtig merken.

Ältere IPCop Installationen verwenden evtl. noch andere Bezeichnungen. Da der Updatemechanismus die nicht mehr gepflegten Kategorien wohl nicht (immer?) selbst entfernt, muss hier gelegentlich von Hand nachgeholfen werden. Gespeichert werden die Einträge auf dem Cop hier:

/var/ipcop/urlfilter/blacklists

In der Datei global_usage ist jeweils eine kurze Beschreibung der Kategorien zu finden.

Zuerst auf dem Weboberfläche des Cops die Häkchen bei der entsprechenden Kategorie entfernen und [Speichern und Neustart] anklicken. Dann im oben genannten Verzeichnis als root mit

rm -r kategorienname/

die entsprechenden Unterverzeichnisse und deren Inhalte entfernen und die URL Filter Seite im Anschluss im Cop neu laden. Die Kategorie sollte dann verschwunden sein. Wer aus Versehen zu viel gelöscht hat führt ein Update der Filterliste durch, was dazu führt, dass die aus Versehen gelöschten Verzeichnisse wieder angelegt werden.

Alle Einträge, die auf der Weboberfläche vorgenommen werden, scheinen in die folgenden Dateien geschrieben zu werden:

/var/ipcop/urlfilter/settings
/var/ipcop/urlfilter/squidGuard.conf

Zwecks ‚em Überblick hier mal meine Einstellungen:

screenshot_003

public key für scp only Nutzer

Auf unserem Root sind mehrere Nutzer angelegt, die sich nur über scp anmelden können. Damit dies auch im public key Verfahren inklusive Passwort für den Key und dann auch noch mit gFTP funktioniert, müssen die folgenden Schritte durchlaufen werden.

Zuerst einen neuen Schlüssel für den Nutzer erzeugen, was auch lokal auf dem Client geschehen kann. Dabei einen gesonderten Namen für den Key angeben, damit dieser nicht in id_dsa landet (im Beispiel unten ist dies /home/dirk/.ssh/scpnutzer_dsa):

dirk@lokal:~$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/dirk/.ssh/id_dsa): /home/dirk/.ssh/scpnutzer_dsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/dirk/.ssh/scpnutzer_dsa.
Your public key has been saved in /home/dirk/.ssh/scpnutzer_dsa.pub.
The key fingerprint is:
1a:7a:19:9d:86:fc:01:34:ad:c5:94:13:81:8f:76:c6 dirk@lokal

Diesen dann mit scp auf den Server schieben – und zwar von einem Account aus, der auch über SSH auf den Server darf (ist ja klar):

scp scpnutzer_dsa.pub dirk@www.server.de:/home/scpnutzer/.ssh/

Auf dem Server den gerade hochgeladenen public key im Verzeichnis .ssh in die Datei authorized_keys integrieren:

cat scpnutzer_dsa.pub >> authorized_keys

Jetzt die Nutzung von gFTP (sofern gewünscht) vorbereiten. Da gFTP nicht selbst mit public keys umgehen kann (soweit ich weiß), den key zuerst „laden“ mit Hilfe von ssh-add:

dirk@lokal:~/.ssh$ ssh-add /home/dirk/.ssh/scpnutzer_dsa
Enter passphrase for /home/dirk/.ssh/scpnutzer_dsa:
Identity added: /home/dirk/.ssh/scpnutzer_dsa (/home/dirk/.ssh/scpnutzer_dsa)

Ob alles funktioniert hat ist nach Eingabe von

dirk@loakl:~/.ssh$ ssh-add -l

zu sehen. Eine Liste der von ssh-add verwalteten Keys wird ausgegeben.

In gFTP selbst nun zuerst zu /FTP /Optionen /Netz und hier als „Voreingestelltes Protokoll“ den Eintrag SSH2 wählen. Dann in gFTP unter /FTP /Optionen /SSH und dort den Haken bei „Benötige SSH Nutzername/Passwort“ entfernen.

Der Zugriff mit gFTP sollte nun funktionieren. Wenn nicht, dann hilft eine Analyse mit Hilfe von scp und dem Schalter -v im Terminal – das gFTP Log selbst gibt meist wenig Brauchbares aus.

Die Dateien scpnutzer_dsa.pub und scpnutzer_dsa – wenn alles funktioniert – an den SCP Nutzer weitergeben (und dabei einschärfen, dass diese Dateien nicht verloren gehen dürfen). Nicht vergessen das Kennwort mitzuteilen 🙂

Quelle und weitere Informationen (vor allem zum Setup von SSH über public key auf dem Server selbst): http://wiki.ubuntuusers.de/SSH

UNR Installation

Zur Installation von Ubuntu Netbook Remix:

Image herunterladen – z.B. hier

USB Stick anstecken. Ein

dmesg | tail -20

liefert (unter anderem) die Ausgabe

scsi 10:0:0:0: Direct-Access     Sharkoon Flexi-Drive EC   v1.0 PQ: 0 ANSI: 0 CCS
[12504.696223] sd 10:0:0:0: [sdg] 8060928 512-byte hardware sectors (4127 MB)
[12504.696854] sd 10:0:0:0: [sdg] Write Protect is off
[12504.696857] sd 10:0:0:0: [sdg] Mode Sense: 23 00 00 00
[12504.696859] sd 10:0:0:0: [sdg] Assuming drive cache: write through
[12504.699466] sd 10:0:0:0: [sdg] 8060928 512-byte hardware sectors (4127 MB)
[12504.700088] sd 10:0:0:0: [sdg] Write Protect is off
[12504.700091] sd 10:0:0:0: [sdg] Mode Sense: 23 00 00 00
[12504.700092] sd 10:0:0:0: [sdg] Assuming drive cache: write through
[12504.700095]  sdg: sdg1
[12504.701021] sd 10:0:0:0: [sdg] Attached SCSI removable disk
[12504.701056] sd 10:0:0:0: Attached scsi generic sg7 type 0

und zeigt damit, wo der USB Stick sitzt. Bei mir landen die Sticks meist auf /dev/sdg/

Diesen nun unmounten:

sudo umount /dev/sdg1

Ein

sudo dd if=/home/dirk/Desktop/ubuntu-9.04-netbook-remix-i386.img of=/dev/sdg bs=1M

schreibt das Image dann auf den Stick – bei gleichzeitiger Vernichtung aller dort vorhandenen Daten. Die Pfade müssen selbstverständlich an die lokalen Gegebenheiten angepasst werden.

Den Stick dann am Netbook einstöpseln und von diesem Booten. Bei einem Wind U100 muss hierzu beim Boot [F11] gedrückt werden, um eine Auswahl der möglichen Bootdevices zu sehen.

Der Rest verläuft wie bei einer Installation von CD.

OOo3 auf Hardy

Bis jetzt hatte ich OOo3 über die DEB Pakete von de.openoffice.org zusätzlich zur 2.4er Version installiert. Heute stolperte ich bei launchpad über ein OOo3 für Hardy, das mir hoffentlich nun auch die Updatearbeiten abnimmt.

sudo apt-get remove openoffice.org3

entfernte die von Hand installierten Pakete. Im Fall von Fehlermeldungen sollte eine Entfernung mit Hilfe von Synaptic gelingen, das nach „openoffice“ durchsucht werden kann.

Mit einem Editor der Wahl /etc/apt/sources.list bearbeiten:

sudo vi /etc/apt/sources.list

Hier (am Ende) die folgende(n) Zeile(n) hinzufügen:

deb http://ppa.launchpad.net/openoffice-pkgs/ppa/ubuntu hardy main
deb-src http://ppa.launchpad.net/openoffice-pkgs/ppa/ubuntu hardy main

Anschließend ein

sudo apt-get update

durchführen und sich die Fehlermeldungen ansehen. Ein fehlender Key wird moniert:

W: GPG error: http://ppa.launchpad.net hardy Release: Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 60D11217247D1CFF

Diesen Key nun importieren:

sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 60D11217247D1CFF

Dann ein

sudo apt-get update && sudo apt-get upgrade

und OpenOffice 3 sollte sich auf der Platte befinden, die 2.4er Version wurde hierdurch ersetzt.

IPCop Memo

Es sieht so aus, als würde 2009 noch das Jahr des IPCop werden. Jetzt spinnt der paedML Linux Cop meiner Schule auch noch – und trennt uns dauernd vom Netz.

Hier eine Reihe von Memos zum Thema – mehr für mich, als für andere:

Neuinstallation

Bei Konfigurationsproblemen nach dem Neuaufsetzen des paedML IPCops hilft es wohl, vorher den Inhalt von

/var/backup/linuxmuster/ipcop/

zu löschen und dann nochmal den IPCop nach Handbuch aufzusetzen. Ausführlichere Informationen zur Neuinstallation sind hier zu finden.

Trennungsschmerzen

Ich hoffe mal, dass ich meinen IPCop jetzt wieder im Griff habe. Ziemlich schnell hatte ich für die dauernd um 9, 12 und 15 Uhr erfolgenden Trennungen vom Netz den Squid im Verdacht. Das hat sich nun erhärtet. Auf die Spur gebracht hat mich freshclam, das nicht mehr wollte:

# freshclam
ClamAV update process started at Sat Jan 24 19:29:24 2009
main.cld is up to date (version: 49, sigs: 437972, f-level: 35, builder:
sven)
connect_error: getsockopt(SO_ERROR): fd=4 error=111: Connection refused
Can’t connect to port 80 of host db.local.clamav.net (IP: 130.59.10.36)
Trying host db.local.clamav.net (193.1.193.64)…

usw usw. Auf der Suche nach einer Ursache bin ich auf einen Fehler in unserer squid.conf gestoßen, der den sauberen Restart des Squid nach dem Neuaufbau des Caches verhindert.

Auf dem IPCop:

# /usr/local/bin/restartsquid
2009/01/24 19:36:03| squid.conf line 14: acl QUERY urlpath_regex cgi-bin ?
2009/01/24 19:36:03| aclParseRegexList: Invalid regular expression ‚?‘:
Invalid preceding regular expression
2009/01/24 19:36:03| Creating Swap Directories
2009/01/24 19:36:14| squid.conf line 14: acl QUERY urlpath_regex cgi-bin ?
2009/01/24 19:36:14| aclParseRegexList: Invalid regular expression ‚?‘:
Invalid preceding regular expression

Sieht offensichtlich nicht gut aus.

# vi /var/ipcop/proxy/squid.conf

Dort stand in Zeile 14:

acl QUERY urlpath_regex cgi-bin ?

Es müsste aber lauten – so zeigte ein Vergleich mit meinem eigenen IPCop:

acl QUERY urlpath_regex cgi-bin \\?

Das hab ich verändert und dann den Squid auf dem IPCop neu gestartet:

# /usr/local/bin/restartsquid
2009/01/24 19:44:02| Creating Swap Directories

Jetzt geht freshclam vom Server aus wieder (das so oder so automatisiert ist):

# freshclam
ClamAV update process started at Sat Jan 24 19:36:33 2009
main.cld is up to date (version: 49, sigs: 437972, f-level: 35, builder:
sven)
Downloading daily-8896.cdiff [100%]
Downloading daily-8897.cdiff [100%]
Downloading daily-8898.cdiff [100%]
Downloading daily-8899.cdiff [100%]
daily.cld updated (version: 8899, sigs: 61181, f-level: 38, builder: edwin)
Database updated (499153 signatures) from db.local.clamav.net (IP:
130.59.10.36)
Clamd successfully notified about the update.

Jetzt bin ich mal gespannt. Komisch ist es aber schon, dass ein backslash so einfach verschwinden kann.

SMB trouble

Unter OpenSuSE 11.1 und auch unter Intrepid war es nur möglich auf dem Server-share Dateien und Verzeichnisse zu schreiben, zu lesen und zu löschen. An den Inhalt von Dateien durfte ich nicht ran. Speicherversuche quittierte gedit z.B. mit der Meldung

Unerwarteter Fehler not a directory

Dieses Problem hatten auch andere. Leider hab ich das erst gemerkt, als die SuSE vom Vostro schon wieder verschwunden und ein Intrepid installiert war. Dabei ist die SuSE garnicht die Schuldige – die Ursache für Probleme beim Verändern von Dateiinhalten auf Server-shares scheint eher an CIFS selbst zu liegen.

Bei mir (Debian Etch Server mit unixextensions = yes) hat es ausgereicht in der fstab auf den Intrepid Clients

//10.32.1.1/verwalter /home/dirk/Serververz cifs
rw,user,nounix,auto,uid=dirk,gid=dirk,credentials=/home/dirk/.credentials/server.cred,iocharset=utf8 0 0

zu schreiben.

Vom Intrepid Client aus gesehen erhalten die Dateien nun

-rwxrwSrwx 1 dirk dirk 307 2009-01-20 10:04 test.txt

Die gleiche Datei vom Hardy Client aus gesehen:

-rw-r–r– 1 dirk dirk 389 2009-01-20 10:05 test.txt

Auf dem Server sieht es aber richtig so aus:

-rw-r–r– 1 verwalter teachers 389 2009-01-20 10:05 test.txt

Die Übersetzung klappt also. Änderungen an der smb.conf waren nicht nötig.

Nebenwirkungen habe ich noch nicht getestet – aber jetzt kann ich wenigstens wieder von allen Clients aus den Inhalt von Dateien verändern.

Ob das nun alles auch mit rsync noch hinhaut werde ich sehen: Bisher rsyncte ich vor einem Dienstgang meine Verzeichnisse des Servers mit denen des Clients und wenn ich zurückkam ging es in die andere Richtung. Im dümmsten Fall tut rsync garnix mehr – im anderen dümmsten Fall schiebt rsync alles rüber und nicht nur die Veränderungen.

IPCop Umzug

Nur als Memo für mich, da mich dies demnächst auch selbst erwartet: Der Umzug des IPCop der Rea war relativ einfach zu bewerkstelligen – sofern man sich gleich von Anfang an an die Anleitung im Adminhandbuch hält 😉

Zuerst wird ein Backup eines noch funktionierenden, alten IPCops erstellt, das das Skript unter /var/backup/linuxmuster/ipcop mit Zeit und Datumsstempel ablegt:

/usr/share/linuxmuster-ipcop/backup-settings.sh

Hier wäre demnach auch eine Eingriffsmöglichkeit zu finden, falls beim Restore Änderungen nötig werden – durch Löschen der Backupdatei, die nicht-funktionierende Systemzustände beinhalten: Das Restore Skript greift sich jeweils das aktuellste Backup!

Dann die neue Hardware nach der Installation des IPCop von der paedML CD ins Netz hängen und kurz überprüfen, ob diese vom Server aus zu erreichen ist. Wenn ja, wird der Restoreprozess gestartet:

/usr/share/linuxmuster-ipcop/restore-dedicated.sh

Die Bildschirmausgabe hierzu:

linuxmuster’s dedicated IPCop restoring tool
——————————————–

Please enter IPCop’s root password:
Moving known_hosts away …
Uploading ssh key … Success!
Reading IPCop version … Success!
Upgrading IPCop 1.4.18 to 1.4.19 … Success!
Upgrading IPCop 1.4.19 to 1.4.20 … Success!
Upgrading IPCop 1.4.20 to 1.4.21 … Success!
Creating addon package … Success!
Uploading addon package … Success!
Installing addons (may take a while) … Success!
Restoring settings from backup:
* Uploading archive backup-090102-094722.tar.gz … Success!
* Unpacking archive … Success!
Done. Rebooting IPCop.

Nach einem erfolgreichen Reboot des „neuen“ IPCop fehlt noch ein reconfigure:

# dpkg-reconfigure linuxmuster-ipcop
Backing up ipcop settings to /var/backup/linuxmuster/ipcop …
Checking IPCop’s time server config …
Checking IPCop’s extern access config …
Checking IPCop’s bot config …
Checking if BOT’s admin mac is set …
Setting BOT’s admin mac to server’s internal mac address …

Für den Abschluss muss dann noch überprüft werden, ob die Keys an den richtigen Stellen liegen:

# ssh ipcop -p 222
The authenticity of host ‚ipcop (10.16.1.254)‘ can’t be established.
RSA key fingerprint is dd:f6:f8:ac:22:4c:bd:71:e1:8b:97:b4:b0:ca:e3:67.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‚ipcop‘ (RSA) to the list

Fertig. Sollte auf dem neuen IPCop eine andere Netzwerkkartenkonfiguration vorhanden sein hilft ein

setup

auf der IPCop-Root-Konsole weiter, das den Setupprozess des IPCop anwirft.