[dashing] globale Variablen

Ich nutze zwei verschiedene Systemen für die Dashboards. Das eine System wird zur Entwicklung von Widgets bzw. Anpassung von Scripts verwendet, das andere System für die Produktive Darstellung. Bislang mussten die Scripte nachdem sie auf das Prodsystem kopiert wurden angepasst werden, da teilweise absolute Pfade hinterlegt wurden.

Das ganze muss durch das setzen einer globalen Variable nicht mehr erfolgen. In dem Jobs Verzeichnis wurde die Datei variable.rb abgelegt, in der Datei sind die benötigten Variablen wie folgt angegeben: $GPFAD=“testsystem“
Damit in den Ruby Dateien darauf zugegriffen werden kann, muss zunächst die variable.rb eingebunden werden.

require_relative(‚variable.rb‘)
Nun kann innerhalb der rb Datei über $GPFAD auf die Variable zugegriffen werden.

Mongodb unter Mac nutzen

Ich wollte mich in nächster Zeit ein wenig mit mongodb und nodejs beschäftigen. Hierfür habe ich Mongodb von der Seite https://www.mongodb.com/download-center/community heruntergeladen.

Die tgz Datei wurde mit tar -zxvf mongodb-osx-ssl-x86_64-<version>.tgz entpackt und unter /usr/local/bin abgelegt. Für den Speicherort der Daten habe ich mich für das Standardverzeichnis /data/db entschieden. Das Verzeichnis wurde unter dem root Benutzer angelegt und der Besitzer der Verzeichnisse wurde auf meinen Benutzer mit dem ich auf dem Mac arbeite geändert.

Zum starten der mongodb muss folgendes auf der Kommandozeile ausgeführt werden

export PATH=/usr/local/bin/mongodb-osx-x86_64-4.0.6/bin:$PATH
mongod

Um sich die Eingabe des Export Befehls zu sparen, wurde dieser in der .bash_profile hinterlegt

Kennwortabfrage zur cryptoAPI im Browser

Bei einem Kollegen kam beim öffnen der Browsers immer als erstes eine Kennwort Abfrage zur cryptoAPI. Das Problem bestand erst seit kurzem, nachdem ein Zertifikat installiert wurde, welches für den Zugriff auf eine Seite benötigt wurde.
Die Ursache hierfür war, das beim Import des Zertifikats der Haken gesetzt wurde bei „Hohe Sicherheit für den privaten Schlüssel aktivieren….“
Das Zertifikat wurde aus dem Zertifikatsstore (certmgr.msc) entfernt und erneut importiert, jedoch ohne den entsprechenden Haken. Im Anschluss bestand das Problem nicht mehr.

[openhab] Installation auf dem Synology NAS

Bei der Installation von Openhab auf einem Synology NAS kommt es zu dem folgendem Fehler:

Fehlermeldung aus der angegebenen Log Datei
The User Home service is not enabled. Please enable this feature in the User control panel in DSM.

In den Systemeinstellungen für Benutzer musste unter dem Reiter Erweitert der Benutzer-Home-Dienst aktiviert werden.

Im Anschluss konnte die Installation durchgeführt werden.

[puppet] Benutzer anlegen

Wird ein Benutzer auf einem node benötigt, müssen nur folgende Zeilen in der Konfiguration hinterlegt werden:

user { 'stefan':
ensure => present,
comment => 'Entwickler Projekt 1',
home => '/home/stefan',
managehome => true,
shell => '/bin/bash',
}
ssh_authorized_key { 'stefan_ssh':
user => 'stefan',
type => 'rsa',
key => 'djdjdjdjdj',
}

Da der Benutzer und vermutlich auch die Benutzer der Kollegen auf verschiedenen Servern benötigt werden, wurde hierfür ein Modul /etc/puppetlabs/code/environments/production/modules/ewl_gruppe1/manifests/init.pp erstellt in dem die Mitglieder aufgeführt sind:
class ewl_gruppe1 {

group {'ewl_gruppe1':
ensure => 'present',
}

user { 'stefan':
ensure => present,
comment => 'Entwickler Projekt 1',
home => '/home/stefan',
managehome => true,
shell => '/bin/bash',
gid => 'ewl_gruppe1',
}
ssh_authorized_key { 'stefan_ssh':
user => 'stefan',
type => 'rsa',
key => 'djdjdjdjdj',
}

user { 'heino':
ensure => present,
comment => 'Entwickler Projekt 1',
home => '/home/heino',
managehome => true,
shell => '/bin/bash',
gid => 'ewl_gruppe1',
}
ssh_authorized_key { 'heino_ssh':
user => 'heino',
type => 'rsa',
key => 'dlwfjwdcweiufwiecniwefn',
}

}

Damit die weitere Verwaltung bzw Berechtigung über eine Gruppe erfolgen kann, wurde die Gruppe ewl_gruppe1 erstellt. Die Benutzer wurden über den Eintrag gid => ‚ewl_gruppe1‘ hinzugefügt.

Die Application auf dem Node läuft unter dem Benutzer application1, es ist nun für die Mitglieder der ewl_gruppe1 notwendig mittels su in den Benutzer zu wechseln.

Für die Anpassung der /etc/sudoers wurde das folgende Modul installiert:
puppet module install saz-sudo --version 5.0.0

In der Konfiguration des Nodes wird für die sudoers Anpassung folgendes hinterlegt:

sudo::conf { 'ewl_grupp1':
priority => 10,
content => "%ewl_gruppe1 ALL= NOPASSWD:/bin/su - application1",
}

Damit das Modul genutzt werden kann muss zunächst auf dem Puppet Master die folgende Zeile ausgeführt werden:
puppet apply /etc/puppetlabs/code/environments/production/manifests/site.pp --modulepath=/etc/puppetlabs/code/environments/production/modules/ $*
Auf dem Node reicht ein puppet agent --test und die Mitglieder der Gruppe ewl_gruppe1 können über sudo su – application1 zum entsprechenden Applicationsbenutzer wechseln.