Apple Mac OS X – User Accounts im Anmeldefenster verstecken

Jedes System welches ich neu aufsetzte (egal ob Privat oder in der Firma) bekommt von mir mindestens 2 Standard User Accounts. Einmal einen Admin User und dann der User selbst. Bei mobilen Clients gibt es dann oft noch einen 2ten mobilen Admin User (Grund hierfür wäre zu lange zum erklären).

Damit allerdings im Anmeldefenster nicht all diese Admin Accounts rumlungern sondern nur der User Account angezeigt wird, gibt es bei OS X zwei Wege.

Auch normale User Accounts können über das Terminal versteckt werden.

Continue reading

Fontcache unter Mac OS X 10.6 löschen

Ich musste es schon lange nicht mehr machen, doch jetzt war es mal wieder so weit und ich wollte unter 10.6 den Fontcache löschen und war vergeblich auf der suche nach dem Ordner „\Library\Caches\com.apple.ATS\xxx“:), dabei hat sich das seit 10.5 schon geändert ;).

Unter OS X 10.6 den User und System Fontcache löschen:

Terminal öffnen und folgende Befehle nacheinander eingeben:

Den User Fontcache löschen

atsutil databases -removeUser

Den System Fontcache löschen

sudo atsutil databases -remove

ATS Server stoppen

atsutil server -shutdown

ATS Server starten

atsutil server -ping

Fertig !

Für alle die es interessiert, der Fontcache befindet sich unter /var/folders/ …

Mac – Shell, „Daten“ aus der Shell in die Zwischenablage vom Finder

Wer bei OS X mal aus der Shell schnell etwas in die Finder Zwischenablage bringen muss dem sei mit pbcopy geholfen. Auch die Zwischenablage aus dem Finder kann in der Shell bequem ausgelesen werden.

Etwas von der Shell in die Zwischenablage, z.b. system.log

cat system.log | pbcopy

… system.log ist wohl ne schlechte idee in der zwischenablage ;), also lieber mal so:

echo „Ab in die Ablage“ | pbcopy

Danach kann man mit cmd + v dies einfach in ein Textdokument einfügen.

Um die Finder Zwischenablage auszulesen einfach in der Shell

Einfach anzeigen in der Shell pbpaste eintippen.

pbpaste

Danach sollte (sofern etwas in der Zwischenablage vorhanden ist) es einfach in den output geschreiben werden. Natürlich kann man sich den inhalt auch gleich in eine Datei schreiben:

pbpaste > ablage.txt

Viel spaß damit, wofür auch immer ihr es brauchen werdet^^

Schnell den aktuellen Ordner aus dem Terminal im Finder öffnen

Mac OS X -> Kurznotiz:

Möchte man schnell mal den Aktuellen Ordner aus dem Terminal im Finder öffnen, dann einfach:

open .

in der Shell eingeben und schon öffnet sich der Ordner im Finder.

Genauso kann man auch Dateien aus der Shell heraus öffnen

open texdatei.txt

öffnet die textdatei.txt mit dem aktuell zugewiesenen Programm für txt Dateien… Standard ist dies Texedit.

Mac – Warnung vor unzureichenden Festplattenplatz

Wie heute bei macfidelity gelesen warnt Mac OS X  ja bekanntermaßen leider erst recht spät das die Festplatte voll ist. Fidel hat in deinem Blogbeitrag ein Programm vorgestellt das einem bei einem selbst definierten Wert rechtzeitig warnt.

Da ich keine Lust habe die Software bei jedem einzelnen Mac zu installieren und zu konfigurieren (das müsste ich dann mehr als 100 mal machen) habe ich mich für eine Script variante entschieden :)

Wir haben bei uns in der Firma schon einen Ordner auf jeden Mac für Scripte (/Library/wartungsscripts/), dieser wird mit einer Softwareverteilung mit den entsprechenden Scripten gefüllt.

Das Script muss natürlich mittels „chmod +x scriptname“ scriptfähing gemacht und die Rechte mittels chown auf root:wheel gesetzt werden.

Das Scrip prüft den Festplattenplatz und warnt per E-Mail wenn weniger als 500 MB frei ist, der wert kann selbstverständlich angepasst werden.

Das Script mit Kommentaren zu Erklärung:

#!/bin/sh

#Minimum groesse in KB ab der gewarnt wird
minfreespace=512000

# E-Mail Adressen
mailto=email@mydomain.de
mailfrom=email@senderdomain.de

####################################
# Ab hier keine Änderungen machen! #
####################################

# Computernamen Herausfinden
macname=$(hostname -s)

# Den belegten Fetsplattenplatz herausfinden
freespace=$(df -k . | awk ‚FNR==2 {print $4}‘)

# Einfache if Anweisung mit logging im Systemlog und E-Mail senden wenn weniger als $minfreespace frei ist
if [ $freespace -lt $minfreespace ]
then
# Mit sleep ein wenig warten um sicherzustellen das auch die netzwerkverbindungen schon geladen sind.. ist ne angewohnheit von mir ;)
SLEEP 15
echo „Der Mac $macname hat weniger als $minfreespace KB freien Festplattenplatz“ | mail -s „Rechner $macname hat zu wenig Festplattenplatz“ $mailto -r $mailfrom
logger [Check Free Space] – Not enough free Disk Space.
else
logger [Check Free Space] – Disk space OK
fi

Damit das ganze dann auch noch vom System automatisch gestartet wird müssen wir das Script mit Launchd starten. Mit Launchd kann man Scripte (ähnlich wie cron) zu bestimmten Zeiten, beim Systemstart oder beim System shutdown ausführen.

Ich habe mich für die Variante Systemstart entschieden, somit wird das Script mittels Launchd beim Systemstart ausgeführt

Damit Launchd das Script startet muss einfach in dem Ordner /System/Library/LaunchDaemons/ eine Plist Datei mit dem Namen com.private.checkhd.plist angelegt werden (oder ein eigener Fantasie-Name ;) ).

Der Inhalt der plist Datei für Launchd:

<?xml version=“1.0″ encoding=“UTF-8″?>
<!DOCTYPE plist PUBLIC „-//Apple//DTD PLIST 1.0//EN“ „http://www.apple.com/DTDs/PropertyList-1.0.dtd“>
<plist version=“1.0″>
<dict>
<key>Label</key>
<string>com.private.checkhd</string>
<key>Program</key>
<string>/Library/wartungsscripts/checkhd.sh</string>
<key>ProgramArguments</key>
<array>
<string>checkhd.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>

Ihr müsst den Pfad zum Script entsprechend anpassen, oder ich legt das Script auch unter /Library/wartungsscripts/ mit dem Namen checkhd.sh ab.

Wichtig:
– Das Script muss ausführbar sein! (chmod +x script)
– Das Script und die plist für Launchd muss Besitzer root und Gruppe wheel sein (chown root:wheel datei)

Das ganze dann einfach mit einer Softwareverteilung im Netzwerk verteilen… fertig :)

Fragen ? Fragen !

:)

Mit einem Terminal Befehl eine ganze Ordnerstruktur anlegen

Wer oft für Projekte oder sonstige Sachen ein immer gleich bleibende Ordnerstruktur braucht dem könnte dieser Shell Befehl nützlich sein:

sehllordnerstruktur

mkdir -p „Projekt Name“/{html/{styles,images/{original,thumbs},includes},raw-data/{Bilder,Photoshop},sonstiges}

kurze Erklährung:
– Ordner mit Leerzeichen im Namen müssen in Anführungsstriche gesetzt werden
– Mehrere Ordner werden mit Kommas getrennt
– Unterordner werden mit Ordner/Unterordner angelegt
– Mehrere Unterordner werden in geschweift klammern gesetzt und mit Kommas getrennt

Das ganze am obigen Beispiel sieht dann im Finder so aus:

Ordnerstruktur

Wer will kann den befehl natürlich noch erweitern, ideen hierfür währen z.B.: Automatisch Datum an einen Ordner hängen um Jahres oder Monatsstrukturen zu bilden usw^^

Vieleicht habe ich hiermit dem einen oder anderen etwas händische Arbeit gespart^^

Oder habt ihr noch andere Ideen wie man sowas noch besser Abbilden kann ?

In der Shell schnell mal alle Dateien im Verzeichnis nach *.bak sichern

Kurznotiz, gilt für Mac / Linux / Unix / (bei Windows hilft nur „format c:“ ;) )

Oft muss ich in einem Ordner schnell mal alle Dateien sichern als Backup da ich sie im nächsten Moment überschreibe.

Um nicht den ganzen übergeordneten Ordner gleich komplett sichern zu müssen sondern nur die Dateien im aktuellen Ordner ohne Unterverzeichnisse zu sichern habe ich folgenden befehl:

for i in *.*; do cp $i $i.bak ; done

Alle Dateien im Ordner werden dann von xyz.txt nach xyz.txt.bak kopiert, wer anstelle des kopieren die Daten verschieben will ersetzt im script einfach „cp“ mit „mv“

Wer in einem Verzeichnis nur bestimmte Dateitypen z.B. *.html sichern mag macht dies dann so:

for i in *.html; do cp $i $i.bak ; done

somit werden an alle *.html Dateien im Ordner nach *.html.bak gesichert

Das gleiche geht mit jedem beliebigen Dateityp ^^

Viel spaß! Hoffe es hilft dem einem oder anderen :)

OS X Server-Admin Tools Probleme

Mh, nachdem heute mein Server-Admin gestartet ist waren 3 Server ausgegraut und die Meldung lautete „Dienste nicht erreichbar“ oder „Dienste nicht konfiguriert“, bekomme die genaue Fehlermeldung jetzt nicht wirklich zusammen. Selbst auf den Servern Lokal funktionierten die Server-Admin Tools nicht.

Im ersten Moment… schock… was ist passiert…. alle Dienste weg und jetzt alles neu konfigurieren ?

Naja, ganz so Schlimm war es zum glück doch nicht, die Dienste wie DNS, Open Directory, WWW, AFP, etc… liefen einwandfrei. Also wohl mal wieder ein Bug in den Server-Admin Tools :/

Etwas Recherche im Internet ergab das man den Server neustarten soll damit es wieder geht… lol… das können die Windows Admins ja gerne bei Ihren Kisten machen um ein Problem zu lösen.

Also weiteres Debugging…

Die Logfiles auf dem Server hatten zu hauf solch schöne Einträge:

23.03.09 10:01:38 Server Admin[1122] *** -[GroupTextField windowDidResignKey:]: unrecognized selector sent to instance 0x2a91e0

Diese entstanden jedoch nur wenn man den Server-Admin beendet und wieder gestartet hat.

Der Prozess servermgrd auf dem Server schien auf den ersten blick nicht zu hängen. Dieser Daemon wird gebraucht um mit dem Server-Admin den Server zu administrieren.

Um sicherzustellen das der servermgrd Daemon auf dem Server auch einwandfrei läuft kann man einfach mit einem Webbrowser die URL https://mein.server.de:311/ aufrufen. Wird hier erfolgreich etwas angezeigt läuft der Daemon auf jeden Fall einwandfrei.

Und genau das war nicht der Fall.

Um jetzt nicht den ganzen Server neustarten zu müssen killen wir einfach den Daemon:

Zuerst prüfen wir ob und unter welcher PID er läuft, also das Terminal öffnen und folgendes eingeben:

ps aux | grep servermgrd

Die Ausgabe sollte dann etwa so aussehen:

Terminal servermgrd

Danach einfach im Terminal den Prozess killen mit „kill (PID)“ in diesem Fall also:

kill 75

und manuell Launchd anweisen den Daemon zu starten mit dem Befehl:

launchctl load /System/Library/LaunchDaemons/com.apple.servermgrd.plist

Fertig! Alles läuft wieder einwandfrei und ich musste den Server nicht neustarten !!!

Habt ihr auch schon öfter schlechte Erfahrungen mit den Server-Admin Tools von Mac OS X gehabt ?

Die Serveradmin Tools sind leider sehr oft Buggi wie sau :/

OS X 10.5.x schnell mal den lokalen DNS Cache löschen

Merke! Wenn man unter OS X 10.5 mal schnell den Lokalen DNS Cache leeren möchte einfach im Terminal folgenden befehl eingeben:

dscacheutil -flushcache

Unter OS X 10.4 war das noch:

lookupd -flushcache

War grade etwas verwirrt da als den unter 10.4 bekannten Befehl eingegeben habe und der mit nur gesagt hat „-bash: lookupd: command not found“ ^^

MacBook Air CD / DVD sharing auch von jeden beliebigen Mac nutzen

Das MacBook Air hat ja kein CD / DVD Laufwerk, kann aber jedoch von jedem beliebigen Mac das CD / DVD Laufwerk benutzen, um diese Funktion zu aktivieren muss auf dem Mac (der das CD / DVD Laufwerk hat) das CD / DVD Sharing Aktiviert werden (Zu finden in den Systemeinstellungen -> Sharing). Nun kann man über das Netzwerk mit dem MacBook Air auf das Laufwerk zugreifen.

Diese Funktion hat Apple eigentlich nur dem MacBook Air spendiert, allerdings lässt es sich auch auf jeden anderen Mac freischalten.

Dafür müssen folgende 2 Shellbefehle im Terminal eingegeben werden (alles in eine Zeile):

defaults write com.apple.NetworkBrowser EnableODiskBrowsing -bool true

und danach

defaults write com.apple.NetworkBrowser ODSSupported -bool true

Jetzt einmal das System neustarten und schon kann man schön im Finder ein freigegebenes CD / DVD Laufwerk sehen :), siehe Screenshot:

Macbook DVD sharing