Ich würde gerne so etwas tun:
sudo -p password rm /a/file
Kann ich das Passwort und den Benutzer in die gleiche Zeile schreiben?
Meine Sudo-Version ist 1.8.9p5
Akzeptierte Antwort:
sudo
hat keine Option, um das Passwort anzugeben, aber Sie können die Authentifizierung trotzdem auf der Befehlszeile wie folgt durchführen:
echo password | sudo -u root --stdin
oder einfach nur
echo password | sudo -S
Verweis auf die sudo-Handbuchseite:
-S
, --stdin
Schreiben Sie die Eingabeaufforderung in die Standardfehlermeldung und lesen Sie das Passwort von der Standardeingabe, anstatt das Endgerät zu verwenden. Dem Passwort muss ein Zeilenumbruchzeichen folgen.
und
-u
Benutzer, --user=
Benutzer
Führen Sie den Befehl als ein anderer Benutzer als der standardmäßige Zielbenutzer (normalerweise root) aus. Der Benutzer kann entweder ein Benutzername oder eine numerische Benutzer-ID (UID) sein, der das Zeichen „#“ vorangestellt ist (z. B. #0 für UID 0). Wenn Befehle als UID ausgeführt werden, erfordern viele Shells, dass das „#“ mit einem Backslash (‘‘) maskiert wird. Einige Sicherheitsrichtlinien können UIDs auf diejenigen beschränken, die in der Passwortdatenbank aufgeführt sind. Die sudoers-Richtlinie lässt UIDs zu, die nicht in der Passwortdatenbank enthalten sind, solange die Option targetpw nicht gesetzt ist. Andere Sicherheitsrichtlinien unterstützen dies möglicherweise nicht.
Aber sudo
ist schon lange in der Entwicklung. Überprüfen Sie die Version:
-V
, --version
Drucken Sie den sudo
aus Versionszeichenfolge sowie die Versionszeichenfolge des Sicherheitsrichtlinien-Plugins und aller E/A-Plugins. Wenn der aufrufende Benutzer bereits root ist, wird -V
Option zeigt die Argumente an, die an die Konfiguration übergeben werden, wenn sudo
wurde erstellt und Plugins zeigen möglicherweise ausführlichere Informationen wie Standardoptionen an.
Die Unterstützung für lange Optionen wurde 2013 hinzugefügt.
Neben der Authentifizierung benötigen Sie etwas für sudo
zu tun , z. B. ein Befehl. Ich prüfe oft, ob es funktioniert, indem ich einfach tue
sudo id
was den Stamm zeigen sollte Benutzer, z. B.
uid=0(root) gid=0(root) groups=0(root)