Ich versuche, Fabric zu verwenden, um einige administrative Arbeit zu automatisieren, die ich auf einigen Servern ausführe. Der allgemeine Ablauf ist wie folgt:Ausführen von Fabric-Skripten als root
- SSH mit lokalen Benutzer
- Lauf:
sudo su -
root werden (auch hier lokale Benutzer-Passwort Providing) - die Arbeit als root tun :)
Leider Die Verwendung von run('sudo su -')
blockiert die Ausführung der Skripts und ermöglicht Benutzereingaben. Wenn ich oder Ctrl+D
eintippe, wird das Scipt fortgesetzt, aber ohne Root-Rechte.
Ich habe ein ähnliches Problem in Switching user in Fabric gesehen, aber ich bin auf sudo su -
beschränkt, weil ich nicht erlaubt bin die /etc/sudoers
Datei zu ändern, das die folgende Zeile enthält:
localuser ALL = /usr/bin/su -
ich die Quelle des Gewebes durchsucht versuchen um einen Workaround zu finden, aber ohne Erfolg.
Werfen Sie einen Blick auf http://docs.fabfile.org/en/1.4.2/usage/env.html#sudo-prefix und dieses Beispiel: http://stackoverflow.com/questions/12641514/switch- to-different-user-using-fabric – alecxe
Die Verwendung von 'sudo_prefix = 'su - -c' wie in diesem Beitrag beschrieben erfordert das root-Passwort. Wenn ich 'sudo_prefix = 'sudo su - -c'' benutze ich diese Fehlermeldung 'Sorry, Benutzer localuser darf nicht ausführen// usr/bin/su - -c/bin/bash-l-c pwd 'als root auf hostname.' – Marin
Einstellung 'shell = False' scheint keine Wirkung zu haben.Die Einstellung 'pty = False' gibt den Fehler 'sudo: no tty present und kein askpass program specified' zurück. – Marin