Archiv des Autors: hermann

Festplatte aus einem Mac unter Linux mounten

Beim mounten einer Festplatte die mit hfsplus formatiert war, erhielt ich die folgende Meldung in der /var/log/syslog.

hfs: unable to find HFS+ superblock

Damit Ubuntu die Festplatte überhaupt erkannte, musste ich zuvor die hfsprogs(apt-get install hfsprogs) installieren.

Mit Hilfe von fdisk /dev/sde fand ich heraus, das die Festplatte anscheinend nur eine Partition hat. Diese versuchte ich mit mount -t hfsplus /dev/sde1 /media/temp zu mounten, jedoch ohne Erfolg. Im Internet fand ich die verschiedensten Optionen die ich mit angeben konnte, die Lösung war aber die zweite Partition zu mounten.

Das Problem ist, das fdisk in diesem Fall nur die mbr Tabelle anzeigen kann und es sich bei der sde1 um die EFI Partition gehandelt hat. Die sde2 Partition läßt sich dann mit mount -t hfsplus /dev/sde2 /media/temp als read only mounten. Der Grund für das read only ist, das unter Mac das journaling aktiviert wurde. Um die Festplatte auch schreibbar zu mounten, muss vorher das journaling deaktiviert werden. Dieses geht jedoch leider nur unter einem Mac mit dem Befehl:

diskutil disableJournal Volume Name

SSH Keys verwalten

Ich finde ein ssh-keymanager ist sinnvoll wenn man mehrere Benutzer und Linuxserver verwalten muss. Angenommen man hat um die 40 Entwickler die auf bis zu 100 verschiedene Server zugreifen müssen. Für jeden Entwickler ein Benutzerkonto auf dem jeweiligen System zu erstellen ist sehr zeitaufwendig und bedarf auch einer guten Dokumentation. Meine Idee ist es ein Benutzerkonto zu erstellen zum Beispiel ewl , unter diesem Benutzer können sich alle Entwickler anmelden. Vorraussetzung ist das der Publickey des Entwickler in der authorized_keys hinterlegt wurde. Das hinterlegen des Keys würde in diesem Fall der ssh-keymanager übernehmen.

Installation
Die Inbetriebnahme des ssh-keymanagers ist recht einfach. Den Ordner entpacken und in ein entsprechendes Verzeichniss ablegen, auf den der Apache zugreifen kann. Eine Mysqldatenbank erstellen, den mitgelieferten Dump einspielen und die Zugangsdaten in der inc/connect.inc.php hinterlegen. Nun die Webseite aufrufen und mit admin / itbasic anmelden.

Damit die Keys verteilt werden können muss der Apache Benutzer in der Lage sein eine shell auszuführen, gegebenenfalls muss dafür die /etc/passwd angepasst werden. Zusätzlich muss unter dem Apache Benutzer ein Public key erstellt werden, dieser wird in der Mysqldatenbank(Tabelle systemkey) hinterlegt.

Host und Linuxbenutzer anlegen
Ein neuer Host wird über „Host => hinzufügen“ hinzugefügt, wichtig ist hierbei das die korrekte IP Adresse angegeben wird. Nachdem der Host angelegt wurde, kann über „Host => anzeigen“ ein neuer Linuxbenutzer für den Host angelegt werden. Der Linuxbenutzer muss nun jedoch noch manuell auf dem eigentlichen System angelegt werden und der zuvor erstellte public key des Apache muss in der authorized_keys abgelegt werden.
Bevor der erste Abgleich der Keys stattfinden kann, muss man sich über den Apache Benutzer an dem neuen Host anmelden. Durch die Anmeldung wird der Neue Host zu den known_hosts hinzugefügt.

Benutzer / Benutzergruppe
Unter Benutzer gibt es die Möglichkeit einen neuen Benutzer anzulegen bzw sich alle Benutzer anzuzeigen zu lassen.
Für die einfachere Verwaltung können Benutzer zu Gruppen zusammengefasst werden, diese Benutzergruppe wird dann dem entsprechendem Linuxbenutzer zugewiesen.

Abgleich
Unter Abgeich => Systemkey wir lediglich für den einfachen Zugriff der Public Key des Apache Benutzers dargestellt.
Bei dem Punkt anzeigen werden alles Linuxbenutzer aufgelistet die aktualisiert werden müssen. Ändert zum Beispiel ein Benutzer seinen Public Key, wird der entsprechende Linuxbenutzer hier aufgeführt. Ein klick auf den Pfeil stößt den Abgleich der Keys an.

Das Layout könnte man sicherlich noch überarbeiten, aber ich denke fürs erste sollte es reichen. Wenn jemand einen Fehler findet oder einen Änderungswunsch hat, einfach eine email schreiben.

 

Serverübersicht

 

Benutzerübersicht

 

Download

Kleine Anmerkung
Da meine grafischen Fähigkeiten leider nur reichen um Bilder mit Hilfe von Gimp zurechtzuschneiden, benutze ich folgende Buttons: http://fortawesome.github.io/Font-Awesome/

Noch reicht ein einfaches Webhostingpaket

Im Moment habe ich für www.itbasic.de und www.pialuise.de ein einfaches Webhostingpaket mit 3 Domänen, zwei mysql Datenbanken und einigen email Postfächern. Für einfache php Seiten reicht es vollkommen aus, nur zwischenzeitlich möchte man doch ein wenig mehr. Natürlich könnte man seinen heimischen Rechner per dyndns oder noip erreichbar machen, jedoch reicht für größere Anwendungen die Anbindung kaum aus ( Zumindest stellenweise in Ostfriesland). Damit man sich nicht um Hardware, Stromkosten und die Anbindung kümmern muss, bietet es sich an einen Virtuellen Server anzumieten.
Einen Virtual Privat Server bekommt man bei Containerhost (VPS hosting für WebApplications & WebSites im Backend von Java & PHP) schon ab 16 Euro im Monat. Für den Preis bekommt man 2 CPU’s, eine 25 GB große Festplatte, 3 GB RAM und 700 GB Traffic.
Bei diesem Server handelt es sich um einen von drei angebotenen Tarifen, eine Übersicht findet ihr hier.
Im übrigen sind bei allen VPS Tarifen java, tomcat und mod_jk bereits eingerichtet und konfiguriert.

Manchmal hat man nicht genügend Zeit sich um die Verwaltung des Server zu kümmern und gleichzeitig noch seine Anwendung weiterzuentwickeln. Für so einen Fall bietet containerhost einen Managed Service an. Unter dem Managed Service fällt unter anderem das Installieren des Betriebssystem (z.B. Fedora, Ubuntu, Centos), das einspielen von Updates und das Konfigurieren der Standarddienste.
Natürlich hat man auch die Möglichkeit alles von Grund auf selbst einzurichten, hierfür gibt es Minimal-Installationen. Sollte man sich dann mit einer Konfigurationsänderung nicht sicher sein, kann vorher ein Snapshot erstellt werden. Dieser lässt sich im Falle einer Kaputtkonfiguration wieder einspielen.

Hilfestellungen und weitere Informationen über das Angebot findet ihr im Wiki zum Thema Hosting & Java Entwicklung.

Sysadminday 2013

Wenn der ein oder andere Sysadmin heute schlecht erreichbar ist, könnte es an dem Sysadminday liegen. Eventuell wird gerade eine Runde Desktopdomino, Notebookfrisbee, Notebookschießen oder Festplattenboule gespielt.

 

Notebookfrisbee

Notebookfrisbee

Notebookschiessen

Notebookschiessen

Festplattenboule

Festplattenboule

 

 

[Raspberry Pi] CUL in Fhem einbinden

Endlich habe ich es geschafft die Stehlampen im Garten an den FS20 Umschalter anzuschließen. Über die Fernbedienung konnte ich die einzelnen Ausgänge bereits schalten, nun sollte es auch über Fhem möglich sein.

In der Dokumentation hatte ich gelesen das es reicht die CUL anzuschließen und den Fhem neu zu starten. Kurz nach dem Neustart kam folgende Meldung auf der Kommandozeile:

Use of uninitialized value in string ne at ./FHEM/99_CULflash.pm line 63.

Die Meldung tritt auf wenn man beim einstecken den kleinen Taster nicht eingedrückt hat. Also nochmal raus, Taster drücken, einstecken und Fhem neu starten.

Jedoch blinkte die CUL nicht und In den fhem logs kam folgende Meldungen
Can't open /dev/ttyAMA0: Keine Berechtigung

Ich änderte die Rechte auf /dev/ttAMA0 und startete Fhem neu, diesmal erhielt ich folgende Meldung:
usb create starting
Opening CUL device /dev/ttyAMA0
Setting CUL baudrate to 38400
CUL device opened
usb create end

Was mich jedoch wunderte ist, das in den Dokumentationen von /dev/ttyACM0 die Rede ist und die CUL auch nicht blinkte. In einem Forum stieß ich auf die Lösung, wenn Fhem auf dem Rasbperry Pi läuft gibt es Probleme beim einspielen der Firmware.

Also lud ich mich mir FLIP für Windows von Atmel herunter und die benötigte Firmware. Nach der Installation der Software ließ sich die Firmware ohne Probleme aufspielen und die CUL blinkte.
Nun gab es unter Linux auch das Device /dev/ttyACM0 und in der fhem.cfg fügte ich folgende Zeile hinzu:
define CUL1 CUL /dev/ttyACM0@9600 1234

Einbinden in Fhem

Ich hatte erst am nächsten Tag Zeit den FS20 Aktor in Fhem einzubinden. Als ich Fhem im Browser aufrief gab es bereits den Raum FS20, darunter befanden sich vier Schalter.
Ich klickte den ersten Schalter an und siehe da, die Lampen gingen an. Anscheinend erkennt die CUL alle FS20 Vorgänge und leitet sie an den Fhem weiter, dieser erstellt den passenden Schalter.
Nun musste ich nur noch in der fhem.cfg die angelegten Schalter nach meinen Wünschen umbenennen.

fhem fs20

Automatisch angelegte Schalter

Fhem registriert es wenn ich die Lampen per Fernbedienung schalte und ändert den Status im Webfrontend.

cul

CUL gekauft www.busware.de