Kurztipp: cron für bestimmten Benutzer deaktivieren

Um für bestimmte Benutzer die Möglichkeit zu deaktivieren cronjobs einzurichten, reicht es die userid in die Datei /etc/cron.deny einzutragen.

$ cat /etc/cron.deny
thomas

Wenn der jeweilige Benutzer nun einen cronjob anlegen will, sieht er ungefähr folgendes:

$ crontab -e
You (thomas) are not allowed to use this program (crontab)

Sinn macht das besonders für z.B. www-data unter Debian/Ubuntu, falls der Eintrag dort noch nicht vorhanden ist.

Kurztipp: Von MBR zu GPT wechseln

Hat man noch ein device welches mit MBR partitioniert ist, bemerkt aber nun, dass es auf dem Device noch 6 TB freien Speicher gibt, man diesen aber nicht einfach partitionieren kann, da MBR an seine Grenzen kommt, sollte man zu GPT wechseln.

z. B. so:

gdisk /dev/sdb

und w drücken. Dabei ist sdb ein reines Data Device von dem nicht gebootet wird. Bei Bootdevicen sind noch ein paar andere Schritte nötig (google).
Die Daten auf dem Device sollten natürlich gesichert sein….vielleicht ist man ja die Ausnahme.

Kurztipp: Underscores im Domainnamen

Nutzt man Domains mit underscores im Domainnamen z. B. donnerstag_gelb.de kann man mit neueren Apache Versionen (z. B. 2.4.29) Probleme bekommen. Dieser akzeptiert aus Gründen der Sicherheit solche nicht mehr. Hat man aber keine Möglichkeit den DNS und Servernamen zu ändern kann man die Option

HttpProtocolOptions unsafe

in die apache.conf oder im virtualhost setzen. Danach werden underscores wieder akzeptiert. Ob sinnvoll oder nicht entscheide jeder für sich selbst.

Kurztipp: Pacemaker nach Update auf Ubuntu 16.04

Da sich bei Ubuntu 16.04 auch die Namen der NICs ändern (z.B. von eth0 zu ens192) muss man auch die Konfiguration der Ressourcen anpassen. Das kann man sicherlich innerhalb der Konfiguration via crm anpassen, aber löschen der Ressource und neu anlegen geht natürlich auch. Was dann in etwa so ausieht:

crm resource stop FAILOVER-ADDR
crm configure delete FAILOVER-ADDR
crm configure primitive FAILOVER-ADDR ocf:heartbeat:IPaddr2 params ip="1.2.3.4" nic="ens192" op monitor interval="10s" meta is-managed="true" 

 

Kurztipp: calibre-web zur ebook Verwaltung

Calibre-web ist eine Software um seine Ebooks via Webinterface zu verwalten. Als Grundlage dient dabei die bereits vorhandene Calibre Datenbank. Vor einiger Zeit hatte ich kurz etwas zu bicbucstriim und cops geschrieben. Wobei beide Projekte gut sind aber noch viel Luft nach oben lassen. Ein fehlendes Feature ist z. B. das Erstellen von eigenen Buchsammlungen, was beide Projekte nicht können. Bei calibre-web können Benutzer solche Buchsammlungen anlegen und verwalten. Zu dem hat man auch die Möglichkeit Metadaten im Webinterface zu verändern. Es empfiehlt sich calibre-web hinter einem reverse proxy wie nginx oder Apache laufen zu lassen, Beispiele dazu finden sich auf der Projektseite. Die Suche und generelle Performance ist bei cops deutlich besser, aber die Sache mit den eigenen Buchsammlungen ist ein fast unschlagbarer Pluspunkt für calibre-web. Man kann natürlich auch problemlos cops, calibre-web und bicbucstriim parallel laufen lassen.

Mirko Lindner hat zu calibre-web einen guten Artikel auf pro-linux geschrieben.

 

Kurztipp: MySQL 5.7 Ubuntu 16.04 und max connections werden nicht übernommen

Steht im error.log von MySQL 5.7 etwas in der Art wie:

2018-02-02T13:30:24.539046Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
2018-02-02T13:30:24.539087Z 0 [Warning] Changed limits: max_connections: 214 (requested 800)
2018-02-02T13:30:24.539091Z 0 [Warning] Changed limits: table_open_cache: 400 (requested 1024)

auch diverse Einträge mit „Too many open files“ sind ein Hinweis,

hilft (vielleicht) folgendes

systemctl edit mysql

eintragen:

[Service]
LimitNOFILE=8000

Dadurch wurde nun die Datei /etc/systemd/system/mysql.service.d/override.conf angelegt

systemctl daemon-reload
systemctl restart mysql

Nun sollten die Werte aus der mysqld.conf übernommen werden.

Eventuell nochmal mit

mysql> show variables like '%connections%';

usw. prüfen.

Warum weshalb wieso findet man unter:

https://dev.mysql.com/doc/refman/5.7/en/using-systemd.html

https://stackoverflow.com/questions/39976756/the-max-connections-in-mysql-5-7

https://stackoverflow.com/questions/32760202/buffered-warning-changed-limits-max-connections-214-requested-800/33464069



							

Hinweis: Kernel Panic – Debian 8.10 und Kernelupdate

Wer wie ich Hardware (VMs  sind je nach Konfiguration auch betroffen, siehe Link) mit mehreren Sockets benutzt wird eventuell in diesen Bug gelaufen sein:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=883938

Im Bugreport stehen ein paar Workarounds (Kernelparam: maxcpus=1, nosmp oder numa=off), damit die Maschine wenigstens wieder bootet. Falls noch nicht geupdatet wurde am besten den momentanen Kernel pinnen oder einfach auf ein Update warten.

Apache mit unterschiedlichen Benutzerrechten

Bei Debian Derivaten läuft der Apache in der Regel mit www-data Benutzerrechten. Will man aber, dass der Apache unter verschiedenen Benutzern läuft wird es schon schwieriger. Da gibt es Lösungen wie zum Beispiel  mod_fcgid, PHP-FPM oder mpm-itk. Besonders das itk Modul fand ich im Vergleich zu PHP-FPM, sehr einfach zu konfigurieren. Getestet mit Debian 8 und Ubuntu 14.04.
Ein kleiness Beispiel:

apt-get install libapache2-mpm-itk

und in der jeweiligen Vhost Konfiguration trägt man folgendes ein:

<IfModule mpm_itk_module>
AssignUserId henry www-data
</IfModule>

Wobei henry der Benutzer und www-data die Gruppe ist.

Will man testen ob alles funktioniert, kann man einfach folgendes Skript ausprobieren:

<?php
$processUser = posix_getpwuid(posix_geteuid());
print $processUser['name'];
?>

Da sollte dann bei meinem Beispiel „henry“ angezeigt werden. Ansonsten einfach mal eine Datei via Webinterface hochladen und schauen wem Sie gehört.

Wichtig dabei ist, dass die jeweiligen Benutzer und Gruppen existieren müssen. Existiert z .B. kein henry oder keine Gruppe www-data, startet auch der Apache nicht. Bedeutet auch, falls man mit einer LDAP Benutzerverwaltung arbeitet und der LDAP läuft nicht stabil, sollte man die Benutzer aus dem LDAP auf den jeweiligen Webserver syncen. Auf der MPM ITK Seite findet man noch diverse andere Parameter wie z.B. MaxClientsVHost, AssignUserIDExpr, LimitUIDRange usw.

Die Anpassungen am System sind minimal, daher kann man das ITK Modul ohne großen Aufwand testen. Hat man sehr viele Vhost und arbeitet nicht mit Puppet&Co kann man auch  mit Apache Macros arbeiten, dann würde der Eintrag in etwa so aussehen:

in der vhost.conf:

Use itkmodul henry www-data

in der jeweiligen macro.conf

<Macro itkmodul $username $group>
<IfModule mpm_itk_module>
AssignUserID $username $group
</IfModule>
</Macro> 

Inwieweit das ITK Modul zusätzliche Sicherheitsprobleme mit sich bringen kann, hängt vom jeweiligen System ab und wie es konfiguriert ist. Da kann man sicherlich schnell etwas konstruieren.

Update: Anscheinend funktioniert das Modul nur für userids < 65535. (link). Eventuell besteht das Problem bei Ubuntu 16.04 nicht mehr (Test folgt).

Kurztipp: Tab Completion funktioniert nicht bei vnc+xfce

Ich nutze aus diversen Gründen ab und an XFCE in einer VNC Session unter Debian 8. Dabei fehlte mir aber die Tab Completion, was extrem nervig sein kann. Die Lösung für mein Problem war:

in der

~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml

folgendes editieren

<property name="&lt;Super&gt;Tab" type="string" value="switch_window_key"/>

wird zu

<property name="&lt;Super&gt;Tab" type="empty"/>

danach die VNC Session killen und neu starten.

Kein häufiges Problem nehme ich mal an ;-).

Kurztipp: Nextcloud for Filelink

Ein tolles Plugin für Thunderbird um größere Dateien nicht via email verschicken zu müssen, sondern direkt über Nextcloud bereitzustellen zu können. Funktioniert auf den ersten Blick relativ problemlos. Man kann leider nicht pro mail ein neues Passwort definieren, ansonsten aber eine feine Sache.

https://addons.mozilla.org/de/thunderbird/addon/nextcloud-filelink/

Gibt es auch für Outlook. Kann ich aber  mangels Outlook nicht testen.