Mit Debian Buster kommt nun auch der /usr Merge zur Anwendung, d.h. die Inhalte der Verzeichnisse /bin, /sbin, /lib und /lib64 werden nach /usr verschoben und durch Symlinks ersetzt – allerdings nur bei einer Neu-Installation. Bei einem älteren System, welches auf Debian Buster aktualisiert wurde, lässt sich der /usr Merge nachträglich durch Installation des Debian-Pakets usrmerge bewerkstelligen.
Ist auf dem System rkhunter eingerichtet, erhält man bei einer Überprüfung nach dem /usr Merge Warnungen, dass mehrere Kommandos durch ein Script ersetzt wurden:
Warning: The command ‚/usr/bin/egrep‘ has been replaced by a script: /usr/bin/egrep: POSIX shell script, ASCII text executable
Warning: The command ‚/usr/bin/fgrep‘ has been replaced by a script: /usr/bin/fgrep: POSIX shell script, ASCII text executable
Warning: The command ‚/usr/bin/which‘ has been replaced by a script: /usr/bin/which: POSIX shell script, ASCII text executable
Hierbei handelt es sich um False-Positive-Meldungen. Ein Blick in das Script von /usr/bin/egrep zeigt beispielsweise, dass hierin grep mit dem Parameter -E aufgerufen wird:
#!/bin/sh
exec grep -E "$@"
Da egrep und fgrep als deprecated (überholt) galten, erfolgte diese Ersetzung bereits vor Jahren. Und tatsächlich waren in der Konfigurationsdatei /etc/rkhunter.conf auch entsprechende Ausnahmen definiert:
SCRIPTWHITELIST=/bin/egrep
SCRIPTWHITELIST=/bin/fgrep
SCRIPTWHITELIST=/bin/which
Nach dem /usr Merge stimmten die Pfade allerdings nicht mehr. Nach einer Korrektur gibt rkhunter keine Warnungen mehr aus:
SCRIPTWHITELIST=/usr/bin/egrep
SCRIPTWHITELIST=/usr/bin/fgrep
SCRIPTWHITELIST=/usr/bin/which
Kommentare
Hi,
in der letzten Zeile hat sich ein kleiner Fehler eingeschlichen, dort steht sur statt usr
Danke für den Hinweis! ist jetzt korrigiert (ausgerechnet die wichtigen Code-Abschnitte übersieht man beim Korrekturlesen…)
Der „/usr-Merge“ ist ein unfassbar dämlicher Schritt gewesen. Dass in /usr überhaupt was anderes drin ist als Benutzerdaten, war ein historischer Zufall. Andersrum wäre es richtig gewesen. „usr“ heißt nun mal „User“ …
Naja, Linux halt.
Ach was, es braucht nur eine erklärende Abkürzung wie „Unix System Ressources“, welche die historische Bedeutung ablöst, dann passt das schon