我在 EC2 中有一个运行 Linux 的实例。我正在尝试使用 AWS Python DAX 客户端。Dax 客户端在 TCP 级别运行。我正在运行他们的一个示例代码https://github.com/awsdocs/amazon-dynamodb-developer-guide/blob/master/doc_source/DAX.client.run-application-python.03-getitem-test.md
当我使用“python 03-getitem-test.py”运行代码时它可以工作,但是当我使用“sudo python 03-getitem-test.py”运行时它会因客户端错误而失败。
我正在尝试了解运行 python 与 sudo python 之间的区别。如何确保运行“python”和“sudo python”会产生相同的效果?
答案1
以普通用户身份运行 Python 脚本与以 root 身份运行 Python 脚本时,我想到的唯一重要区别是:
- 默认的主目录和库目录不同,如果脚本以任何方式使用主目录甚至库的变量,则可能会产生错误。
- 他们拥有不同的权限和访问权限。但是,在这种情况下不会产生错误,因为 root 是被授予所有权限的人。
- Root 可能使用与其他用户不同的 Python 解释器。
- 在这种情况下,
amazondax
可能不允许以 root 身份运行,或者在这种情况下可能有不同的使用限制。
您提供的信息不足以确定原因。如果您向我们提供给定的错误,我们将能够告诉您更多有关为什么会发生这种情况以及可能发生的其他情况的信息。