Sudo-Python gegen Python

458
atdevyesh

Ich habe eine Instanz in EC2, die Linux ausführt. Ich versuche den AWS Python DAX-Client zu verwenden. Der Dax-Client arbeitet auf TCP-Ebene. Ich führe einen Beispielcode aus, https://github.com/awsdocs/amazon-dynamodb-developer-guide/blob/master/doc_source/DAX.client.run-application-python.03-getitem-test.md

Wenn ich den Code mit "python 03-getitem-test.py" ausführen, funktioniert es, aber wenn ich mit "sudo python 03-getitem-test.py" laufe, schlägt es mit einem Clientfehler fehl.

Ich versuche den Unterschied zwischen dem Laufen von Python und Sudo-Python zu verstehen. Wie stelle ich sicher, dass das Ausführen von "Python" und "Sudo Python" dasselbe bewirkt?

0
Welcher Kundenfehler? Sie erreichen dasselbe, wenn Sie Python als root ausführen, da sudo es mit root-Berechtigungen ausführt. Seth vor 5 Jahren 0
@Seth Ich glaube, was ich versuche zu verstehen, ist in ec2, der Standardbenutzername ist ec2-user. Wenn ich also die Python-Datei als ec2-user starte, läuft es einwandfrei. Aber wenn ich es als "Sudo Python" betreibe, sehe ich Probleme. Ich versuche zu verstehen, was der Unterschied zwischen dem Ausführen als root und dem ec2-user ist. atdevyesh vor 5 Jahren 0
Benennen Sie den Fehler, anstatt den Fehler abzuspielen. Seth vor 5 Jahren 0

1 Antwort auf die Frage

0
Fanatique

Die einzigen Unterschiede, die bei der Ausführung eines Python-Skripts als normaler Benutzer von Bedeutung sind und mir in den Sinn kommen, als root, sind folgende:

  1. Die Standard-Basis- und Bibliotheksverzeichnisse sind unterschiedlich. Wenn das Skript in irgendeiner Weise Variablen für Basisverzeichnisse oder sogar Bibliotheken verwendet, kann dies zu einem Fehler führen.
  2. Sie haben unterschiedliche Berechtigungen und Zugriffsrechte. In diesem Fall sollte dies jedoch keinen Fehler ergeben, da root alle Berechtigungen erteilt hat.
  3. Root verwendet möglicherweise einen anderen Python-Interpreter als die anderen Benutzer.
  4. In diesem Fall ist es amazondaxmöglicherweise nicht zulässig, als Root ausgeführt zu werden, oder es gelten andere Einschränkungen für die Verwendung in diesem Fall.

Die Informationen, die Sie uns gegeben haben, reichen nicht aus, um die Ursachen herauszufinden. Wenn Sie uns den angegebenen Fehler mitteilen, können wir Ihnen mehr darüber sagen, warum es passiert und was sonst noch passieren könnte.