Судо питон против питона

387
atdevyesh

У меня есть экземпляр в 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" делает то же самое?

0
Какая ошибка клиента? Вы бы сделали то же самое, запустив python от имени root, потому что sudo выполняет его с правами root. Seth 5 лет назад 0
@ Думаю, я пытаюсь понять, что такое ec2, имя пользователя по умолчанию - ec2-user. Поэтому, когда я запускаю файл python от имени пользователя ec2, он работает нормально. Но когда я запускаю его как sudo python, я вижу проблемы. Я пытаюсь понять, в чем разница между правами root и ec2-пользователя. atdevyesh 5 лет назад 0
На самом деле имя ошибки, а не играть угадать ошибку. Seth 5 лет назад 0

1 ответ на вопрос

0
Fanatique

Единственные отличия, которые могут иметь значение и которые мне приходят на ум при запуске скрипта python от имени обычного пользователя и его запуска от имени root, заключаются в том, что:

  1. Домашние и библиотечные каталоги по умолчанию различаются. Если сценарий каким-либо образом использует переменные для домашних каталогов или даже библиотек, это может привести к ошибке.
  2. У них разные разрешения и доступ. Однако это не должно приводить к ошибке в этом случае, так как root - это тот, кто имеет все предоставленные разрешения.
  3. Root может использовать интерпретатор Python, отличный от других пользователей.
  4. В этом случае amazondaxможет не разрешать запуск от имени пользователя root или может иметь другие ограничения для использования в этом случае.

Информации, которую вы нам предоставили, недостаточно для точного определения причин. Если вы сообщите нам об этой ошибке, мы сможем рассказать вам больше о том, почему это происходит и что еще может произойти.

Похожие вопросы