quand nous avons besoin python utiliser sudo xxx.py ou tout simplement xxx.py python ou xxx.py

StackOverflow https://stackoverflow.com/questions/3795942

  •  05-10-2019
  •  | 
  •  

Question

J'ai écris un site Web, ce qui me est confus quand je lance le site, d'abord je dois commencer la l'application, donc il y a 3 façons:

  1. python xxx.py sudo
  2. python xxx.py
  3. xxx.py

Je n'ai pas clair avec l'utilisation de chacun d'eux, la méthode actuellement NO.3 dans mon travail de doesnt informatique bien

Était-ce utile?

La solution

sudo exécutera l'application avec les droits de super-utilisateur. Considérant que vous faites référence à un site Web, c'est certainement pas ce que vous voulez faire. (Pour une webapp, si elle nécessite des autorisations de super-utilisateur, il est cassé. C'est beaucoup, beaucoup trop grand d'un risque de sécurité pour envisager réellement utiliser.)

Dans d'autres circonstances, vous pourriez avoir un programme de python qui fait une sorte de système maintaince et nécessite d'être exécuté en tant que root. Dans ce cas, vous utilisez sudo, mais vous jamais veulent faire quelque chose qui est accessible au public et pourrait potentiellement être exploitée. En fait, pour autre chose que le test, vous devriez probablement exécuter l'application Web en tant qu'utilisateur séparé avec un accès très limité (par exemple, avec leur jeu de coquille à /dev/null, pas d'accès de lecture ou d'écriture à tout ce qu'ils ne ont pas besoin, etc ... ).

Les deux autres sont effectivement identiques (en thermies de ce qu'ils font), mais la dernière option (exécuter directement le script), il faudra:

  1. le bit exécutable à régler (sur systèmes unix-y) (par exemple chmod +x whatever.py)
  2. shebang sur la première ligne (par exemple. #! /usr/bin/python) pointant vers la execuctable python que vous voulez exécuter les choses avec (encore une fois, cela ne vaut que pour les systèmes unix-y)

Appeler python pour exécuter le code (python whatever.py) et en suivant les étapes ci-dessus (résultant dans un script que vous pouvez appeler directement avec whatever.py) faire exactement la même chose (en supposant que le tralala dans les points de fichier python dans le même exécutable python comme « python » fait, quand même ...)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top