
Ich habe gelesen echo $PATH
, dass die Verwendung für NICHT-Root-Benutzer folgendermaßen aussehen sollte:
/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/username/bin:
Ich habe gelesen echo $PATH
, dass die Verwendung für ROOT-Benutzer folgendermaßen aussehen sollte:
/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
Wenn ich eingebe echo $PATH
, erhalte ich:
/home/uname/bin:/home/uname/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Dies sieht aus wie die Ausgabe für einen Root-Benutzer. Ist das etwas, worüber ich mir Sorgen machen sollte, z. B. dass sich in meinem Verzeichnis ein „bösartiges ausführbares Programm“ befindet, das (unbefugten Remote-)Root-Zugriff gewährt, obwohl ich den Root-Zugriff nicht initiiert habe?
Antwort1
Obwohl es sich wahrscheinlich nicht um einen „böswilligen“ Angriff handelt, sollten Sie sich über diesen Pfad Gedanken machen. Betrachten wir die Verzeichnisse in diesem Pfad:
/home/uname/bin
/home/uname/.local/bin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/usr/local/games
Ich habe zwei Anmerkungen:
Da
/home/uname/bin
undhome/uname/.local/bin
die ersten Verzeichnisse sind, die im PATH aufgelistet sind, ist es möglich, dass dort vorhandene ausführbare Dateien die Standard-Systemdateien überschreiben. Es kann sein, dass jemand glaubt, dass solche ausführbaren Dateien den Standarddateien überlegen sind. Jede Inkompatibilität zwischen diesen ausführbaren Dateien und den Standarddateien kann jedoch leicht zu überraschenden Skriptfehlern führen.Natürlich ist es nicht ungewöhnlich und kann sinnvoll sein, diese Verzeichnisse am Anfang des Pfads zu platzieren. Sie sollten sich jedoch der möglichen Nachteile bewusst sein.
Wie Sie wissen, sind Verzeichnisse wie
/usr/local/sbin
,/usr/sbin
, und/sbin
im Allgemeinen nur für Root-Benutzer nützlich. Es ist zwar in keiner Weise eine Sicherheitsverletzung, sie in Ihrem zu habenPATH
, aber es ist seltsam.