Bash: Anzahl der Dateien in den Unterverzeichnissen anzeigen

April 2nd, 2015

Hier ein Einzeiler, der die Anzahl der Dateien in den Unterverzeichnissen pro Verzeichnis auflistet:

echo -e "\n$(date)\n\nCount\tDir/File\n" && for f in $2*; do echo -e "$( [ -d ./"$f" ] && find ./"$f"  -type f  | wc -l)\t$f"; done && echo -e "\n$( find ./*  -type f  | wc -l )\ttotal number of files" && echo -e "$( du -sm) MB total size\n"

Bash: Namen des Netzwerkadapters herausfinden

April 2nd, 2015

Für manche Aufgaben benötigt man den Namen des primären Netzwerkadapters (z. B. eth... oder venet...).

Hier ein Einzeiler dafür:

ifconfig | grep "Link encap" | awk '{ print $1 }' | grep -v ":" | grep 0

Bash: Eigene IP-Adresse herausfinden

April 2nd, 2015

Folgender Einzeiler findet die eigene (erste!) IP-Adresse heraus:

ip a | grep "global" | awk '{ print $2 }'| awk -F. '{ print $1 "." $2 "." $3 "." $4 }' |  awk -F"/" '{print $1 }' | head -n 1

Plesk (ab 11): Port für die Administration verändern

April 25th, 2014

Normalerweise residiert Plesk ja unter den Ports 8880 und 8443 (letzterer ist SSL). Um die üblichen Hackingversuche abzublocken und trotzdem den Zugriff zu erlauben bietet es sich an, den Port für Plesk zu verändern. (Hinweis: Das funktioniert nur ohne Single-Sign-On)

Da generell der unverschlüsselte Port 8880 zu unsicher ist, sollte er zunächst durch die Firewall unbedingt vollständig geschlossen werden. 

Die Ports für die Admin-Oberfläche werden wie folgt geändert:

In der Datei /etc/sw-cp-server/applications.d/plesk.conf folgende Zeile suchen, und dort an den rot markierten Stellen den veränderten Port eintragen:

include_shell "/etc/sw-cp-server/applications.d/plesk.socket.sh 8443 ssl"
include_shell "/etc/sw-cp-server/applications.d/plesk.socket.sh 8880"
include_shell "/etc/sw-cp-server/applications.d/plesk.socket.sh 8443 ipv6 ssl"
include_shell "/etc/sw-cp-server/applications.d/plesk.socket.sh 8880 ipv6"

Jetzt in der Datei /etc/sw-cp-server/conf.d/plesk.conf den geänderten Port eintragen :

listen 8443 ssl;

Danach muss noch in der Datei /opt/psa/admin/conf/ssl-conf.sh der geänderte Port eingetragen werden. Dazu ganz am Ende an folgender Stelle den geänderten Port eintragen:

echo "ssl.plain-redirect = \"https://$hostname:8443/\""

Nun noch Plesk neu starten:

/etc/init.d/sw-cp-server restart

und voila - der Server ist unter neuer Nummer erreichbar.

HINWEIS: DIESES PROCEDERE IST NACH MANCHEN UPDATES ZU WIEDERHOLEN!

 

Horde kann keine Emails mit Anhängen (Attachments) mehr versenden

April 25th, 2014

Ursache:

Die Berechtigungen in /tmp sind (by default) von Horde aus falsch gesetzt.

Lösung:

In der Shell folgende Befehle eingeben:

chown -R horde_sysuser:horde_sysgroup /tmp/.horde
chown -R horde_sysuser:horde_sysgroup /tmp/.horde/*

GeoIP: Städte-Datenbank updaten

April 25th, 2014

GeoIP Lite zeigt auch Städtedaten an:

(Hinweis: Den Code bitte mit Copy/Paste entnehmen, um fehlerhafte Zeilenumbrüche zu vermeiden!)

 

  cd /usr/share/GeoIP
  wget -q http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
  wget -q http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
  gunzip -f GeoIP.dat.gz
  gunzip -f GeoLiteCity.dat.gz
  mv  GeoLiteCity.dat GeoIPCity.dat

Bash: Tree von Verzeichnissen erstellen

April 25th, 2014

Einzeiler: Tree erstellen von Verzeichnissen:

 

ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/   /' -e 's/-/|/'

 (Achtung: Die Zeile geht ggf. über den Rand des Fensters hinaus, beim Kopieren bitte also die ganze Zeile markieren!)

TLS 1.2 enable in Plesk mit Nginx

April 25th, 2014

Leider hat Plesk bis heute bei eingeschaltetem Nginx nur maximal TLS 1.0 enabled. Wie bekommt man TLS 1.2  eingeschaltet?

Im Plesk Verzeichnis (z. B. /opt/psa):

  • Ins Verzeichnis ./admin/conf/templates gehen
  • Dort ein Verzeichnis "custom" anlegen
  • Die Datei ./default/domain/nginxDomainVirtualHost.php ins Verzeichnis ./custom/Domain kopieren
  • Den Bereich mit den "ssl_protocols" usw. suchen, dort folgende Änderungen eintragen:
    ssl_session_cache           shared:SSL:10m;
    ssl_session_timeout         10m;
    ssl_protocols               TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers                 HIGH:!RC4:!eNULL:!aNULL:!LOW:!EXP:!MD5;
    ssl_prefer_server_ciphers   on;
    ssl_dhparam                 /etc/nginx/dhparam.pem;
# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Zuvor ist jedoch die Datei "dhparam.pem" zu erzeugen:

openssl dhparam -out dhparam.pem 4096

Dabei sollte man dann ein wenig Geduld mitbringen, das kann ein wenig dauern... :-)

Zum Schluss einfach die Websites mit Plesk rekonfigurieren:

httpmgr --reconfigure-all

Windows 8: Fehlermeldung in der Ereignisanzeige

April 14th, 2013

Hier die Fehlermeldung:

Évent ID: 153

Beschreibung: Der E/A-Vorgang bei der logischen Blockadresse "xxxxxxx" für Datenträger "0" wurde wiederholt.

Dieser Fehler trat vermehrt bei einer SSD auf, die laut SMART völlig intakt war.

Lösung:

Achtung: Für diese Lösung muss die Festplatte über SATA im AHCI Modus betrieben werden, die Festplatte muss HIPM und DIPM unterstützen.

Die folgende Änderung in der Registrierdatenbank ermöglicht in den Energieeinstellungen (power options) zwei zusätzliche Einstellungen für die Festplatte:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\0012ee47-9041-4b5d-9b77-535fba8b1442\0b2d69d7-a2a1-449c-9680-f91c70521c60]
"Attributes"=dword:00000002

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\0012ee47-9041-4b5d-9b77-535fba8b1442\dab60367-53fe-4fbc-825e-521d069d2456]
"Attributes"=dword:00000002

 

Ein Neustart des Computers ist nicht notwendig.

Danach können in den "Energieoptionen" unter "Erweiterte Energieeinstellungen ändern",  "Festplatte" zwei neue Einstellungen verändert werden, von denen für uns nur eine wichtig ist:

AHCI Link Power Management = "Active"

Diese Einstellung schaltet das AHCI Power Management aus. Danach war Ruhe in der Ereignisanzeige.

Gutes Tutorial dazu: http://www.sevenforums.com/tutorials/177819-ahci-link-power-management-enable-hipm-dipm.html

 

Windows 7 / Windows 8: Windows Updates werden nicht heruntergeladen

April 11th, 2013

Manchmal kann es dazu kommen, dass Windows Updates nicht heruntergeladen werden - und zwar ohne jede Fehlermeldung. Sie stehen dann, wenn man in der Systemsteuerung nachsieht im besten Fall auf Status "Updates werden heruntergeladen..." und bleiben bei "0%". Und zwar "auf ewig". Auch Netzwerktraffic ist nicht zu erkennen.

In der Ereignisanzeige ist von Fehlern weit und breit nichts zu sehen.

Hier ein FixIt von Microsoft, das dabei meist ganz gut aufräumt:

http://windows.microsoft.com/de-de/windows7/Windows-Update-error-80072efe-or-80072f76

Nachtrag 2017: Mittlerweile ist das Fixit leider nicht mehr auf der genannten Adresse erreichbar. Windows 7 und 8 ist wohl mittlerweile schon zu alt :-(

Plesk: Welche Ports braucht das Parallels Plesk Panel?

April 10th, 2013

Das Plesk Panel bzw. der damit verwaltete Server benötigt folgende IP Ports in der Firewall freigeschaltet:

  • 106 poppassd (nur für localhost!)
  • 5224 plesk-license-update (Benötigt für das automatische Lizenzupdate, nur ausgehende Verbindung)
  • 8443 plesk-https (wenn irgend mgl. in der Firewall auf bestimmte IP-Adressen begrenzen, z.B. auf ein VPN!)
  • 8447 autoinstaller (Neu seit Version 10.0 - nur nötig, wenn man das Update von Plesk über das Web Interface macht, und nicht via Konsole)
  • 8880 plesk-http (wenn irgend mgl. in der Firewall auf bestimmte IP-Adressen begrenzen, z.B. auf ein VPN!)
  • 11443 sw-cp-serverd (nur, wenn Plesk Billing installiert ist (SSO service))
  • 11444 sw-cp-serverd (nur, wenn Plesk Billing installiert ist (SSO service))

Mail:

  • 25 smtp
  • 110 pop3
  • 113 auth
  • 143 imap
  • 465 smtps
  • 587 mail message submission
  • 993 imaps
  • 995 pop3s

Datenbanken:

  • 3306 mysql (ACHTUNG: NUR für localhost, 127.0.0.1)
  • 5432 PostgeSQL (ACHTUNG: NUR für localhost, 127.0.0.1)

Internetserver (Web)

  • 80 http
  • 443 https

Dienste

  • 53 DNS (eingehend nur, wenn der eingebaute Namensserver verwendet wird)
  • 990 ftps (wenn verwendet)
  • 9080 tomcat (wenn installiert)

Wenn nicht unbedingt benötigt empfiehlt es sich, aus Gründen der Sicherheit den FTP Port (21) nicht freizugeben, sondern zu sperren.

Es empfiehlt sich ebenfalls, den SSH Dienst von Port 22 aus auf einen anderen Port zu legen. Wenn man das macht, bekommt man de facto keinen einzigen Einbruchsversuch mehr.

Siehe auch unter http://kb.parallels.com/de/391

Horde Groupware - Anpassen des Namens auf dem Loginbildschirm

März 15th, 2013

Hinweis: Die angegebenen Dateipfade beziehen sich auf eine Installation unter Plesk; bei anderer Installation bitte den Pfad entsprechend anpassen.

In der Datei /etc/psa-webmail/horde/horde/registry.php folgende Änderung vornehmen:

In folgendem Bereich:

$this->applications['horde'] = array(
    'fileroot' => '/usr/share/psa-horde',
    'webroot' => $webroot,
    'initial_page' => 'login.php',
    'name' => _("Horde"),
    'status' => 'active',
    'templates' => '/usr/share/psa-horde/templates',
    'provides' => 'horde',
);

unter 'name' statt "Horde" einfach den selbstgewählten Namen eintragen. Die Anführungszeichen müssen erhalten bleiben.

Diese Einstellung hat keinerlei Auswirkungen auf die weitere Funktionalität.

Mit sftp an einen Strato HiDrive verbinden

März 15th, 2013

Einfach folgenden Befehl ausführen ("[Username]" vorher natürlich mit dem echten Benutzernamen bei Strato HiDrive austauschen):

sshfs   [Username]@sftp.hidrive.strato.com:/ /mnt/ftpdata

Der Strato HiDrive wird damit mit verschlüsselter Verbindung auf das Verzeichnis /mnt/ftpdata gemountet. Das Passwort muss allerdings noch von Hand eingegeben werden; das Verwenden o.g. Befehls incl. Passwort in der Befehlszeile verbietet sich von selbst... (Stichwort: History...)

Windows: Ruhezustand deaktivieren

Februar 18th, 2013

Wenn eine SSD eingebaut wird, ist der Ruhezustand weder nötig (das System bootet mindestens genauso schnell, wie das Einlesen der Ruhezustandsdaten benötigt), noch sinnvoll. Beim Ruhezustand werden viele Megabyte auf die SSD geschrieben, was ihre Lebensdauer verkürzt. Das geschieht nicht, wenn man das System jedes Mal einfach herunterfährt.

Den Ruhezustand schaltet man auf einer administrativen Kommandozeile wie folgt aus:

powercfg -h off

Beim Ausschalten des Ruhezustands wird die Datei \hiberfil.sys auch physisch gelöscht.

Windows 8: Fehlermeldung bei Druckerinstallation - Workaround

Februar 14th, 2013

Kein Allheilmittel, aber...

Bei der Installation eines Druckertreibers, der unter Windows 7 noch problemlos lief, kann unter Windows 8 eine Fehlermeldung auftauchen:

"Error code 0x78A: Der Druckertreiber ist mit einer auf dem Computer aktivierten Richtlinie nicht kompatibel, der zufolge keine NT 4.0-Treiber zulässig sind."
"The printer driver is not compatible with a policy enabled on   your computer that blocks Windows NT 4.0 drivers. If you want to use this   driver, contact your system administrator about disabling this policy."

Die naheliegende Gruppenrichtlinie "Installation von Druckern, die Kernelmodustreiber verwenden, nicht zulassen", wie in http://support.microsoft.com/kb/282011/ empfohlen, greift unter Windows 8 nicht. Was tun?

Eine andere, etwas verstecktere Gruppenrichtlinie ändern. Sie lautet: "Vom Druckertreiber gemeldete Kompatibilitätseinstellung zur Ausführung des Druckertreibers außer Kraft setzen"

Zu finden ist sie unter:

(gpedit.msc öffnen)

Computerkonfiguration\Administrative Vorlagen\Drucker

Die o. g. Richtlinie aktivieren, dann auf der Kommandozeile mit "gpupdate /force" die Systemrichtlinie durchschlagen lassen, danach den gewünschten Drucker installieren.

Wer eine Windows 8 Home Premium hat, wird die Gruppenrichtlinie allerdings nicht finden.

Hier der Inhalt einer .REG-Datei, die einfach nur in eine Textdatei kopiert und dann in die Registrierdatenbank importiert werden muss. Diese .REG Datei funktioniert in allen Betriebssystemen von Windows Server 2003 bis zum aktuellen Windows 8.

REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Printers] 
"KMPrintersAreBlocked"=dword:00000000 
"PrintDriverIsolationOverrideCompat"=dword:00000001


Hier einige Hintergrundinformationen dazu:

  1. http://blogs.technet.com/b/askperf/2archive/2009/10/08/windows-7-windows-server-2008-r2-print-driver-isolation.aspx
  2. Siehe auch [MS-RPRN] v20120705  "Print System Remote Protocol Specification", Seite 166 und 167 incl. Fußnote  (erhältlich als PDF-Datei)

Nachtrag: Ggf. muss an gleicher Stelle auch noch eine weitere Gruppenrichtlinie angepasst werden: Druckertreiber in isolierten Prozessen ausführen auf Deaktiviert setzen.