In meinem aktuellen zsh-Verhalten wird durch Drücken der Tabulatortaste nach Eingabe von "sudo" nur ein Leerzeichen hinzugefügt.
$ sudo ...
Was ich wirklich möchte, ist, dass die Registerkarte vollständig auf den Pfad der Binärdatei erweitert wird, die ausgeführt werden soll, wenn ich auf die Registerkarte drücke, sodass ich sehen kann, was ausgeführt wird:
$ /usr/bin/sudo ...
Ziel ist es, vor dem Fall zu schützen, dass der lokale Benutzer auf meinem Computer gehackt, ein Eintrag zu meiner $PATH
Variablen hinzugefügt und 'sudo' ein Schadprogramm ausführt, das eine einfache Eskalation zum Root darstellt.
zsh
path
autocomplete
Ali
quelle
quelle
=
und drücken Sie nach dem Befehl die Tabulatortaste. Der Befehlsname wird dann in den vollständigen Pfad erweitert.Antworten:
Verwenden Sie den
bindkey
integrierten Befehl, um Schlüssel wie folgt an Zsh-Befehle zu binden:Wo
"^I"
ist Tab. Sie können diese Zeile einfach in Ihre~/.zshrc
Datei einfügen. Warnung: Die automatische Vervollständigung von Argumenten wird unterbrochen.quelle