sudo -K
und sudo -k
, ohne einen Befehl, tun dasselbe:Sie machen die zwischengespeicherten Anmeldeinformationen des Benutzers ungültig.
sudo -k command ...
ist anders:es ignoriert die zwischengespeicherten Anmeldeinformationen des Benutzers für den aktuellen Befehl, macht sie jedoch nicht ungültig.
Verwenden Sie -k
mit einem Befehl, wenn Sie einen einzelnen Befehl ausführen möchten, ohne Ihre zwischengespeicherten Anmeldeinformationen zu verwenden oder zu überschreiben. (Ich bin mir eigentlich nicht sicher, warum Sie das tun möchten, aber die Möglichkeit ist vorhanden.)
Verwenden Sie entweder sudo -k
oder sudo -K
wenn Sie Ihre zwischengespeicherten Anmeldeinformationen löschen möchten.
Zusammenfassung:
sudo -k # clobbers cached credentials
sudo -K # clobbers cached credentials
sudo -k command # ignores cached credentials
sudo -K command # invalid
AKTUALISIERUNG:
Wenn Sie sich diese Antwort noch einmal ansehen, sieht es aus wie der einzige Unterschied zwischen -k
und -K
ist das -k
akzeptiert einen Befehl und -K
nicht. Ich bin nicht davon überzeugt, dass es sinnvoll ist, zwei separate Optionen zu haben, da -K
fügt nicht wirklich Funktionen hinzu, die -k
bietet nicht. Es gibt einen subtilen Unterschied in der Formulierung in der Manpage; -k
"macht die zwischengespeicherten Anmeldeinformationen des Benutzers ungültig", während -K
"Entfernt die zwischengespeicherten Anmeldeinformationen des Benutzers vollständig". Ich glaube nicht das weist auf einen echten Unterschied in der Art und Weise hin, wie es sich auf die Anmeldeinformationen auswirkt.
sudo -K
wird Ihre zwischengespeicherten Anmeldeinformationen für alle Terminalsitzungen ungültig machen. Dies kann nützlich sein, bevor Sie Ihr DE sperren.
sudo -k
wird nur Ihre zwischengespeicherten Anmeldeinformationen für die aktuelle Terminalsitzung ungültig machen.