Unter macOS sind Extended Attributes wie unter den meisten Betriebsystemen einfache name/value-Paare. Im unterschied zu Linux oder FreeBSD haben die Attribute keinen Namespace wie user oder system sondern einfach nur einen frei wählbaren Namen.
Extended Attributes können mit dem Tool xattr angezeigt und modifiziert werden. Außerdem kann auch ls Extended Attributes anzeigen. Eine kleine Übersicht über xattr:
Namen aller Attribute oder oder mehrerer Dateien auflisten:
xattr file ...
Value eines Attributs ausgeben:
xattr -p attr_name file ...
Attribut setzen:
xattr -w attr_name attr_value file ...
Attribut entfernen:
xattr -d attr_name file ...
Alle Attribute entfernen:
xattr -c file ...
Außerdem zeigt ls -l@ an, ob und welche Attribute eine Datei hat.
Ein kleines Beispiel:
$ echo "hello" > test.txt
$ rm test.txt
$ echo "Hello World" > hello.txt
$ echo test > test.txt
$ xattr -w mime_type "text/plain" hello.txt
$ xattr -w author Olaf hello.txt
$ xattr -w testxattr testvalue test.txt
$ ls -l@
total 16
-rw-r--r--@ 1 olaf staff 12 9 Dez 19:18 hello.txt
author 4
mime_type 10
-rw-r--r--@ 1 olaf staff 5 9 Dez 19:18 test.txt
testxattr 9
$ xattr -p mime_type hello.txt
text/plain
Positiv ist, dass das macOS tar Extended Attributes im Archiv speichert. Auch cp kopiert sie standardmäßig. Insgesammt scheinen Extended Attributes unter macOS generell ein lebendigeres Feature als unter anderen Betriebsystemen zu sein, denn sie werden vom Finder oder anderen Programmen auch benutzt.
Nach vier Jahren Abstinenz jetzt wieder macOS? Was hab ich nur getan.
Von April 2009 bis September 2013 war ich schon mal Mac-User. Mich hat damals zum einen das OS interessiert, aber vor allem war ich vom Mac mini begeistert. Kompakte Hardware mit ausreichend Leistung, sehr leise und stromsparend. Irgendwann hat die Leistung jedoch nicht mehr gereicht und von OS X war ich auch genervt.
Der Wechsel zurück zu Linux war absolut schmerzlos. Irgendwelche spezielle Software, die nur unter OS X und nicht unter Linux läuft, hab ich nicht wirklich benutzt. Und Gnome 3 wirkte auf mich auch ein bisschen wie OS X. Aber Linux-Desktops wie Gnome 3 oder andere sind von der Funktionalität und Produktivität macOS oder Windows deutlich überlegen. Bei der Diskussion, was nun das beste Desktop-OS ist, wird gerne gesagt, dass Linux Gefrickel ist, wärend auf dem Mac alles einfach funktioniert. Das mag zwar sein. Doch wie oft installiert man das OS neu oder richtet neue Hardware ein? Vielleicht ist die Installation etwas frickeliger bei Linux (wobei sie mit meiner Hardware absolut problemlos ist), doch beim täglichen Arbeiten zählen andere Dinge. Windows und macOS können dann nur mit der größeren Auswahl an Anwendersoftware punkten.
Also warum sollte man als glücklicher Linux-User wieder zurück? Ohne Mac (meine Hackintosh-Versuche waren mehr oder weniger erfolglos) war ich nicht mehr in der Lage meine Software unter macOS zu testen. Auch weiß ich, dass dav unter einem aktuellen macOS nicht ohne weiteres kompiliert. Und meine Pläne für ein Multiplattform-GUI-Framework fallen ohne Mac auch aus. Auch ärgerte es mich, dass ich als Unix-Fan keinen Zugriff auf einen wichtigen Vertreter dieser Gattung hatte. Es musste also wohl oder übel wieder Apfel-Hardware her.
Die Auswahl ist da allerdings eher schlecht. Leider schafft es Apple nicht mehr, brauchbare Hardware zu bauen. Notebooks wollte ich nicht. Abgesehn davon taugen die auch nichts. Mac Pro ist alt und für die Tonne. Der iMac fällt auch aus, weil er ein AiO ist. Also muss wieder der Mac mini her. Das "aktuelle" Modell ist jedoch nicht nur von 2014, es ist auch noch schlechter als das Vorgängermodell von 2012.
Und der Mac mini ist jetzt auch gar nicht mal so gut. Selbst wenn man ein Modell mit aktueller CPU und wechselbaren RAM und SSD hätte. Vergleichbare Konkurrenzprodukte sind einfach besser. Mein aktueller Linux-PC ist ein Fujitsu D756. Ebenso leise und stromsparend, dafür keine verlötete CPU, kein verlöteter RAM, Platz für einige Disks und PCIe-Karten. Das ist jetzt jedoch ein Small Form Factor PC und nicht ganz so mini. Ich halte diese Geräteklasse zwar für überlegen, aber es gibt von PC-Herstellern auch deutlich kleinere Systeme. Ich fasse es zwar nicht, dass ich was positives über Lenovo sage, aber den ihr ThinkCentre M710/M910 Tiny ist ein sehr interessanter PC. Kleiner als der Mac mini, dafür leistungsfähiger, wartungsfreundlicher, erweiterbarer und mit mehr Schnittstellen. Günstiger glaube ich auch noch. Apple sollte also deutlich mehr tun als nur ein einfaches Update des Mac minis zu bringen.
Letztendlich hab ich dann doch den 2012er Mac mini gekauft. Dank Apple sind die Teile gebraucht nur zu abartig überhöhten Preisen erhältlich. An macOS muss ich mich jetzt erstmal wieder gewöhnen. Mein Haupt-Desktop wird definitiv Linux bleiben, weil ich da einfach die viel bessere Hardware für habe und die Bedienung von Gnome 3 einfach besser ist. Eine Chance gebe ich macOS aber schon, denn so ein bisschen hat mir das OS ja schon gefallen. Ein bisschen...
Dieser Artikel ist eine kurze Anleitung für die Einrichtung des LDAP-Clients unter Solaris. Der Artikel gilt sowohl für das aktuelle Solaris 11 als auch Solaris 10.
Netzwerk-Konfiguration (nur Solaris 11)
Solaris 11 hat für die Netzwerkkonfiguration zwei Profile (NCP): DefaultFixed und Automatic. Der LDAP-Client funktioniert jedoch nicht mit dem Automatic-NCP, daher muss zwingend DefaultFixed verwendet werden. Zumindestens wenn Solaris über die Live-CD installiert wurde ist standardmäßig das Automatic-NPC aktiv. Dies muss dann geändert werden.
netadm enable -p ncp defaultfixed
Danach muss noch das Netzwerk manuell konfiguriert werden. Wer einfach DHCP verwenden will kann dies folgendermaßen tun:
ipadm create-ip net0
ipadm create-addr -T dhcp net0/v4
DNS geht dann übrigens noch nicht, das beheben wir aber später.
LDAP-Client konfigurieren
Dieser Schritt ist identisch unter Solaris 10 und 11. Der folgende Befehl konfiguriert den LDAP-Client.
ldapclient manual -a credentialLevel=proxy -a authenticationMethod=simple \
-a defaultSearchBase=dc=example,dc=com -a domainName=example.com \
-a defaultServerList=<ip> -a proxyDN=<admin-cn> -a proxyPassword=<admin-pw> \
-a serviceSearchDescriptor=group:ou=Groups,dc=example,dc=com
Standardmäßig werden Benutzer in ou=People,dc=example,dc=com gesucht (für den Basis-DN dc=example,dc=com). Wo genau nach Gruppen gesucht wird weiß ich gar nicht, weshalb ich auch mit -a serviceSearchDescriptor=group:ou=Groups,dc=example,dc=com den passenden DN angebe. Wer dies für User ändern will kann dies mit -a serviceSearchDescriptor=passwd und -a serviceSearchDescriptor=shadow tun.
Name-Service konfigurieren
Nachdem der LDAP-Client konfiguriert ist, ist der Name Service Switch für die meisten eher suboptimal konfiguriert, denn Hostnamen werden per LDAP gesucht und nicht mehr mittels DNS. Unter Solaris 11 ändert man dies nur mit ein paar Befehlen:
svccfg -s "name-service/switch" setprop 'config/host = astring: "files dns"'
svcadm refresh name-service/switch
svcadm restart name-service/switch
Unter Solaris 10 muss die Datei /etc/nsswitch.conf angepasst werden. Dafür ändert man nur folgende zwei Zeilen:
hosts: files dns
ipnodes: files dns
PAM konfigurieren
Die User existieren zwar schon, einloggen kann man sich jedoch nicht. Unter Solaris 11 ersetzt man dafür in den Dateien /etc/pam.d/login und /etc/pam.d/other die Zeile auth required pam_unix_auth.so.1 mit folgenden zwei Zeilen:
auth binding pam_unix_auth.so.1 server_policy
auth required pam_ldap.so.1
Unter Solaris 10 muss nur die Datei /etc/pam.conf geändert werden. Die Zeile
login auth required pam_unix_auth.so.1
ersetzt man durch
login auth binding pam_unix_auth.so.1 server_policy
login auth required pam_ldap.so.1
und die Zeile
other auth required pam_unix_auth.so.1
mit
other auth binding pam_unix_auth.so.1 server_policy
other auth required pam_ldap.so.1
Danach kann man sich gewohnt mit su oder in Gnome mit LDAP-Benutzern einloggen.
Dateien auf der Kommandozeile kann man recht einfach mit openssl verschlüsseln.
openssl aes-256-cbc -in file.txt -out file.enc
Entschlüsseln geht mit:
openssl aes-256-cbc -d -in file.enc -out file.txt
Der Key wird dabei aus einem Passwort generiert, welches von openssl abgefragt wird.
Möchte man von dav verschlüsselte Dateien von Hand mit openssl entschlüsseln, wird es ein wenig komplizierter. Die Keys die von dav verwendet werden, werden binär in Dateien gespeichert. Ein AES256-Key ist dann einfach eine 32 bytes große Datei.
Datei entschlüsseln
Zuerst muss der Key in eine für das openssl-Tool kompatible Form gebracht werden, nämlich ein Hex-String ohne Space.
hexdump -ve '/1 "%02X"' < ~/.dav/keys/mykey > mykey.hex
Dann muss aus der verschlüsselte Datei (hier im Beispiel encfile) noch der Initialisierungsvektor extrahiert werden. Dieser wird von dav nämlich immer an den Anfang der Datei gepackt. Die restlichen Bytes sind dann die eigentlichen verschlüsselten Daten.
dd if=encfile of=iv.bin bs=16 count=1
dd if=encfile of=encdata bs=16 skip=1
hexdump -ve '/1 "%02X"' < iv.bin > iv.hex
Jetzt haben wir den Key und den IV in passender Form und können die Datei mit openssl entschlüsseln:
openssl aes-256-cbc -d -K `cat mykey.hex` -iv `cat iv.hex` -in encdata -out file
Datei verschlüsseln
Um eine Datei zu verschlüsseln brauchen wir zunächst einen zufälligen Initialisierungsvektor.
dd if=/dev/random of=iv.bin bs=16 count=1
hexdump -ve '/1 "%02X"' < iv.bin > iv.hex
Dann können wir die Datei mit openssl verschlüsseln und anschließend mit cat den IV und die verschlüsselte Datei zusammenfügen:
openssl aes-256-cbc -K `cat mykey.hex` -iv `cat iv.hex` -in file.txt -out encdata
cat iv.bin encdata > file.enc
Kommentare
dev | Artikel: Datei ver- und entschlüsseln mit openssl - kompatibel mit dav
Andreas | Artikel: Datenanalyse in der Shell Teil 1: Basis-Tools
Einfach und cool!
Danke Andreas
Rudi | Artikel: Raspberry Pi1 vs Raspberry Pi4 vs Fujitsu s920 vs Sun Ultra 45
Peter | Artikel: XNEdit - Mein NEdit-Fork mit Unicode-Support
Damit wird Nedit durch XNedit ersetzt.
Danke!
Olaf | Artikel: XNEdit - Mein NEdit-Fork mit Unicode-Support
Anti-Aliasing hängt von der Schriftart ab. Mit einem bitmap font sollte die Schrift klassisch wie in nedit aussehen.
Einfach unter Preferences -> Default Settings -> Text Fonts nach einer passenden Schriftart suchen.
Peter | Artikel: XNEdit - Mein NEdit-Fork mit Unicode-Support
Mettigel | Artikel: Raspberry Pi1 vs Raspberry Pi4 vs Fujitsu s920 vs Sun Ultra 45
Ich hatte gedacht, dass der GX-415 im s920 deutlich mehr Dampf hat als der Raspi4.
Mein Thinclient verbraucht mit 16 GB RAM ~11 W idle, das ist das Dreifache vom RP4. Das muss man dem kleinen echt lassen... Sparsam ist er.
Olaf | Artikel: Raspberry Pi1 vs Raspberry Pi4 vs Fujitsu s920 vs Sun Ultra 45
Ergebnisse von der Ultra 80 wären natürlich interessant, insbesondere im Vergleich mit dem rpi1.