Posts Tagged ‘Mac’

Sonntag, 26. Januar 2014

Sich schlüsselbasiert per SSH auf einer Synology Diskstation einloggen

Im Grunde ein einfaches Unterfangen, welches im Internet auf unzähligen Seiten dokumentiert ist. Kurzfassung: Auf dem eigenen Arbeitsrechner einen privaten und öffentlichen Schlüssel erstellen, auf der Synology Diskstation den SSH-Zugang aktivieren, eine Login-Shell einrichten und dort dann unter ~/.ssh/authorized_key den öffentlichen Schlüssel ablegen.

Was ich vor einigen Monaten mit meinem Raspberry Pi erfolgreich und innert kurzer Zeit hingebracht habe, wollte mich gestern während eineinhalb Stunden auf Trab halten. Neu wollte ich auch meinen persönlichen Account mit einem schlüsselbasierten SSH-Zugang ausstatten. Doch während der schlüsselbasierte Login mit dem Raspberry Pi-Konto problemlos funktionierte, wollte es mit dem privaten Konto einfach nicht klappen, obwohl die Konfiguration identisch war.

Lösung

Die nach unzähligen Pröbelversuchen eruierte Ursache: Das Home-Directory meines Benutzers war nicht mit den korrekten Berechtigungen versehen:

VAULT> ls -l /volume1/homes/     
...
drwxrwxrwx    6 mario    users         4096 Jan 26 10:42 mario
...

Nachdem ich folgenden Befehl ausgeführt hatte, klappte es plötzlich:

$ chmod 755 /volume1/homes/mario

Hierbei handelt es sich um eine im Grunde gut gemeinte Sicherheitsvorkehrung auf Unix-Systemen. Denn wenn andere Benutzer den Public Key eines anderen Benutzers ersetzen könnten, könnten sie sich anschliessen unter dessen Kontext einloggen.

Siehe auch der Beitrag SSH and home directory permissions auf Stackexchange.

Hintergründe

Ein grosses Problem dieser Synology-Box ist es, dass auf ihr ein abgespecktes Linux läuft, welches einerseits die gängigsten Debug-Optionen nicht zur Verfügung stellt (bspw. ein sauberes Logging der Aktivitäten von sshd), andererseits über eine schier unüberschaubare verschachtelte Konfiguration verfügt.

sshd_config

Insgesamt habe ich auf der Kiste drei sshd_config Konfigurationsdateien gefunden:

  • /etc/ssh/sshd_config
  • /etc.defaults/ssh/sshd_config
  • /usr/syno/etc.defaults/ssh/sshd_config

Welche ist nun die richtige? Und welche bleibt auch bei einem Update oder Neustart mit meinen Konfigurationsanpassungen bestehen? Ich weiss es bis heute nicht.

sshd neu starten

Auch hierfür gibt es mehrere Möglichkeiten. Im Netz habe ich zwei Befehle gefunden:

  • # killall sshd
  • # /usr/syno/etc.defaults/rc.d/S95sshd.sh restart

Wenn ich diese Befehle ausgeführt habe, bin ich natürlich schnurstracks aus der SSH-Session geflogen — logisch. Doch bei der Verwendung von killall hat man sich soeben gerade vollständig vom NAS ausgesperrt.

Glücklicherweise gibt es über das Web-GUI des NAS die Möglichkeit, SSH wieder zu starten:

  1. Control Panel
  2. Terminal
  3. [x] Enable SSH service

Was ich zudem auch realisiert habe: Wenn ich SSH über das GUI neu starte, wird /etc/ssh/sshd_config neu eingelesen. Wenn ich es mit den Kommandozeilenbefehlen neu starte, wird die Konfigurationsdatei irgendwie nicht beachtet …

Verschachtelte Start-Scripts

Wie genau wird nun aber SSH gestartet? Die Synology-Ingenieure haben sich wohl gesagt: “Wieso einfach, wenn es auch kompliziert geht?” und sich einige verschachtelte Scripts geleistet:

/usr/syno/etc.defaults/rc.d/S95sshd.sh liest einerseits /etc.defaults/rc.subr als auch /usr/syno/etc.defaults/rc.ssh.subr ein. Gestartet wird der SSH-Daemon dann aber, indem das Script /usr/syno/etc.defaults/rc.ssh aufgerufen wird. Dieses Script sourced das bereits erwähnte /usr/syno/etc.defaults/rc.ssh.subr erneut.

Konfigurationsdatei forcieren

Als mir das Debugging zu blöd wurde, habe ich mich entschieden, die Konfigurationsdatei ein für allemal in das eigentliche Startscript /usr/syno/etc.defaults/rc.ssh hartzukodieren:

...
$SSHD -f /etc/ssh/sshd_config
...

Debugging in syslog? Fehlanzeige

Wer denkt, dass einem folgende Zeilen beim Debugging in /etc/ssh/sshd_config weiterhelfen, liegt falsch:

...
SyslogFacility AUTH
LogLevel DEBUG
...

In /var/log/messages, der einzigen von zwei Log-Dateien in diesem Verzeichnis, welche bisher am heutigen Tag aktualisiert wurden, finden sich keine weiterführenden Infos, wieso sich der Benutzer mario nicht Schlüsseln einloggen darf.

Tags: , , , , , , , , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 18. Dezember 2013

MacPorts bricht die Installation von python27 ab

Das Problem stellte sich bei mir bereits auf mehreren Computern. Bei der Analyse der von MacPorts erstellten Log-Datei wird offensichtlich, wo das Problem liegt:

:info:destroot You have not agreed to the Xcode license agreements, please run 'xcodebuild -license' (for user-level acceptance) or 'sudo xcodebuild -license' (for system-wide acceptance) from within a Terminal window to review and agree to the Xcode license agreements.

Wer kürzlich Apple Xcode aktualisiert hat, muss wie von Apple angeraten folgenden Befehl ausführen:

# xcodebuild -license

Danach laufen die MacPorts-Installationen wieder sauber durch.

Tags: , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Montag, 29. Oktober 2012

Web-Videos von arte, ARD, ZDF & Co. herunterladen

Das kriegt man offenbar mit folgendem Mac-Tool hin:

Mediathek for Mac

Leider ist ausgerechnet die arte-Doku, an welcher ich interessiert bin, offenbar nicht verfügbar:

Quelle: GOLDMAN SACHS – LA BANQUE QUI DIRIGE LE MONDE

Tags: , , , ,
Labels: Medien

Keine Kommentare | neuen Kommentar verfassen

Samstag, 2. Juni 2012

Bockende Web-Formulare von Hand (sprich: mit etwas JavaScript) absenden

Da versuchte ich also vor einigen Tagen, mich mit Safari unter Mac OS X 10.7 Lion in die Web-Mail-Lösung meines Arbeitgebers einzuloggen — doch bereits beim Eingabeformular für Benutzernamen und Passwort steckte ich fest:

Irgendwie fehlte hier der Senden-Button, welcher unter Windows im Microsoft Internet Explorer präsent war! Nun, da ich in meiner Freizeit als Web-Entwickler tätig bin, hatte ich selbstverständlich das Developer-Menu in Safari aktiviert. Dies erlaubte mir nun, mittels Rechtsklick irgendwo in den Hintergrund der Web-Seite zu klicken, Inspect Element auszuwählen und danach zügig in die (JavaScript-)Konsole zu wechseln.

Dort gab ich basierend auf Wissen, welches ich seinerzeit (im letzten Jahrhundert) über SelfHTML erlernt hatte, folgenden Befehl ein, gefolgt von einer Zeilenschaltung (je nach Tastatur Enter oder Return):

document.forms[0].submit();

Und schwupp landete ich auf der nächsten Seite des Web-Mail-Logins. Und dort wurde mir beschieden, dass mein Browser und Computer als unsicher eingestuft seien, weil es nicht möglich sei, ein ActiveX-Plugin zu installieren:

Bisher war ich ja immer der Meinung, dass gerade das umgekehrte der Fall ist. Ich helfe ein stattliches Vermögen wetten, dass mein Mac potentiell sicherer als die Windows-Kisten ist, die wir auf der Arbeit benutzen — und ich damit erst noch produktiver bin und das Gerät Zugfahrten ohne Strom länger übersteht, weil nicht hundert Hilfs-, Überwachungs- und Sicherheitsapplikationen im Hintergrund laufen und Strom fressen. Aber bei Corporate IT lernt man ja nie aus …

Nebenbei: Das Thema “Bring your own device” ging gerade kürzlich im Zusammenhang mit IBM durch die Presse. Und wurde dann auch noch aus anderer Warte kommentiert.

Tags: , , , , , , , , ,
Labels: Web

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 19. Februar 2012

MacPorts unter Lion

Xcode 4.3 kann nur noch über den Mac App Store bezogen werden. Applikationen, die über diesen Kanal vertrieben werden, müssen verschiedene Einschränkungen in Kauf nehmen — unter anderem können sie nicht mehr Dateien irgendwo auf der Macintosh HD ablegen.

Die ausführbaren Dateien liegen unter /Applications/Xcode.app/Contents/Developer, und dies muss man auf der Kommandozeile auch dementsprechend kundtun:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

Quelle: Untitled

Damit ist es aber noch nicht getan. In Xcode muss man nun noch die Command Line Tools installieren, die den gcc-Compiler zur Verfügung stellen:

  1. Xcode installieren
  2. Xcode starten
  3. Xcode
  4. Preferences
  5. Downloads
  6. Install Command Line Tools

Unklare Wirkung

Bei der Fehlersuche habe ich auch noch folgende Anpassung an /opt/local/etc/macports/macports.conf vorgenommen, weiss aber nicht, ob sie nötig ist oder nicht:

...
# Directory containing Xcode Tools (default is to ask xcode-select)
#developer_dir       /Developer
developer_dir        /
...

Tags: , , , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Samstag, 4. Juni 2011

3d0d7e5fb2ce288813306e4d4636395e047a3d28

3d0d7e5fb2ce288813306e4d4636395e047a3d28 — das ist der Dateiname der auf einem Computer gesicherten SQLite-Datenbank, die alle SMS-Nachrichten eines iPhones enthalten.

Die Datei ist bei Mac OS X unter

~/Library/Application Support/MobileSync/Backup/

abgelegt. Finden tut man sie am einfachsten mit folgendem Befehl:

$ find ~/Library/Application\ Support/MobileSync/Backup/ -name 3d0d7e5fb2ce288813306e4d4636395e047a3d28

Diese Datei kann man problemlos mit einem SQLite GUI öffnen — beispielsweise, um die Daten nach Excel zu exportieren. Folgende GUIs finden sich für Mac OS X (ungetestet):

Der Unix-Geek begnügt sich der Einfachheit halber aber mit der Kommandozeile:

$ sqlite3 ~/Library/Application\ Support/MobileSync/Backup/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/3d0d7e5fb2ce288813306e4d4636395e047a3d28
sqlite> .headers ON
sqlite> .tables
_SqliteDatabaseProperties  msg_group                
group_member               msg_pieces               
message
sqlite> select * from message limit 0,5;
ROWID|address|date|text|flags|replace|svc_center|group_id|association_id|height|UIFlags|version|subject|country|headers|recipients|read
...

Tags: , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Samstag, 4. Juni 2011

Manuell ein TimeMachine sparsebundle-Image anlegen

Für meinen betagten PowerMac G5 sah der Befehl folgendermassen aus:

$ hdiutil create -size 500g -fs HFS+J -volname "BETA" beta_000a95XXXXXX.sparsebundle

… wobei ich aus Datenschutzgründen die MAC-Adresse mittels “X”-Zeichen unkenntlich gemacht habe.

Das damit erstellte Image kann man anschliessend auf einer Samba-Freigabe auf einem Server ablegen und als TimeMachine-Ziel benutzen. Bei mir klappte diese Art von Backup einige Monate, bis das Image irgendwie korrumpiert wurde. Seither fahre ich kein TimeMachine-Backup mehr.

Vielleicht bringt ja die WWDC-Keynote 2011 eine interessante neue Möglichkeit (iCloud?), um Backups zu fahren.

Tags: , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 11. Mai 2011

Pixelmator fehlt “Copy Merged” — ein Workaround

In einem Bilddokument, bestehend aus mehreren Layern, möchte man eine Auswahl kopieren, dabei aber nicht nur die Bitmap-Daten des aktuellen Layers mitnehmen, sondern die Ansicht aller Layer kombiniert. In Adobe Photoshop heisst die Funktion “Copy Merged”. Leider fehlt diese in Pixelmator (noch). Hier ein Workaround:

Create a slice in the area you want to copy.

In the dialog with the slice info, drag the thumbnail to your desktop. It will now be a stand-alone image of the merged content, which you can drag & drop into your current or a different Pixelmator document. Still quite a workaround, but it’s substantially faster with a large file than copying and merging layers.

Quelle: Pixelmator | Support | View topic – Copy Merged

Tags: , , , ,
Labels: Allgemein

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 9. Januar 2011

Digitaler Mitschnitt eines Telefonanrufs unter Mac OS X

Soeben packte mich der Reiz, einen Telefonanruf (auf eine nicht mehr gültige Rufnummer, notabene) mitzuschneiden und zwecks Belustigung an meine Kollegen zu versenden.

Unter Mac OS X absolut kein Problem. Man benötigt:

Nachdem man sowohl Skype wie auch Audio Hijack installiert hat, startet man zuerst Audio Hijack und eröffnet eine neue Session, die auf die Applikation “Skype” zeigt. Ein Klick auf den Knopf Hijack startet Skype und macht Audio Hijack bereit für den Mitschnitt.

Nachdem man die Handy-Nummer in das Wählfeld von Skype eingegeben hat (aber noch ohne den Wählen-Knopf zu drücken), muss man die Audio Hijack-Aufnahme mittels Record starten. Anschliessend wechselt man umgehend zurück nach Skype und wählt die Nummer.

Die Audiodaten, die über den Lautsprecher ertönen, werden im Hintergrund digital mitgeschnitten und im Session-Profil angegeben Ordner im AIFF-Format abgelegt.

Nachdem die Aufnahme abgeschlossen wurde, konvertiert man sich die übergrosse AIFF-Datei ins MP3-Format, damit die Mailserver sich nicht verschlucken:

$ ffmpeg -i Skype\ 20110109\ 1702.aiff -f mp3 -ab 192k -ar 44100 41790000000-2011-01-09.mp3

Es erschien bei mir zwar die Fehlermeldung

[libmp3lame @ 0x189ac00]lame: output buffer too small (buffer index: 8777, free bytes: 1015)
Audio encoding failed

doch das MP3 liess sich mit VLC problemlos abspielen.

Tags: , , , , , , , ,
Labels: Allgemein

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 25. November 2010

Mac OS X 10.5 eine individuelle Druckervoreinstellung “einbrennen”

What you are looking for is the com.apple.print.lastPresetPref key, which has a class of string, and a default value of Standard. Just replace Standard with the exact name of your saved preset, then save the edited file. If you’re running 10.5, you’re done — voilà!

Quelle: Modify default custom print settings in 10.5 and 10.6 – Mac OS X Hints

Am Besten öffnet man Apples Property List Editor (Teil von XCode), in dem man in einem Terminal-Shell folgenden Befehl eingibt:

$ open ~/Library/Preferences/com.apple.print.custompresets.plist

So habe ich es endlich fertiggebracht, dass Mac OS X 10.5 auf meinem HP Laserjet 1300 auf Tray 1 druckt, welches mit Ausschusspapier bestückt ist …

Tags: , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen