Déposer Les Permissions Root En Python

J'aimerais avoir un programme en Python commencer à écouter sur le port 80, mais après que les exécuter sans les permissions root. Est-il un moyen de chute de racine ou pour obtenir le port 80 sans elle?

  • stackoverflow.com/questions/413807/...
  • Sur moderne Linux vous avez seulement besoin de la capacité de CAP_NET_BIND_SERVICE to bind to port 80, vous N'avez PAS besoin d'être root, pas même au démarrage de l'application. Capacités est une norme POSIX, 1003.1 e, qui est un partitionnement de la toute puissante les privilèges de root dans un ensemble de privilèges distincts. Voir: python-cap-ng Et /sbin/setcap, /sbin/getcap (ce sont les équivalents des chmod setuid, et ls –l)
  • Pour Python2 et peut-être d'autres interprètes, acquérir des capacités est la partie que vous voulez être prudent avec -- libcap-ng peut lettrines, mais il ne veut pas leur accorder. Cette réponse à la question Ian référencé est un moyen assez sûr pour vous prodiguer un cap à un moment pour des projets spécifiques: stackoverflow.com/a/21895123/1724577
InformationsquelleAutor Jeremy Banks | 2010-04-23