Wie nennt man so etwas? Fehlende Parameterneua? Also die pathologisch fehlende Paranoia, wenn man etwas aufruft, das auch Parameter annimmt?
Ich hasse PAM: https://serverfault.com/q/249671/59497
Aber mit soetwas wie PAM wäre das wohl nicht passiert.
Lesson learned:
- In einem Script/Modul in einem Authentikationssystem den User (und alle anderen vom Nutzer passbare Informationen) niemals "plain" über die Commandline übergeben. Mit einem Schalter der das nächste Argument "quotet", also zwangsweise übernimmt, da ist es wohl meistens OK - so lange man das Argument korrekt übergibt.
- Gilt übrigens auch für's Environment. Wer etwas, das nutzerdefiniert ist, einfach so ins Environment hängt, der war ggf. von ShellShock betroffen. Lies: Ja, ich war von Shellshock betroffen, das Ding kann aber dank folgendem Fix weiterlaufen:
https://github.com/hilbix/shellshock
Also, egal was man macht, am Ende landet man doch wohl bei einem Matmos wie PAM.
-Tino
PS: Hatte ich schon erwähnt, dass ich PAM hasse?
PPS: Das fängt ja schon bei sowas wie
basename "$1" .txt
an. Na, wer hat das schon so in einem Shellscript gesehen oder gar verwendet? Möp, falsch! Muss lauten
basename -- "$1" .txt
.
Note to self: "--" nenne ich ab sofort Parameterneua ..