Attualmente sto lavorando a un progetto per creare un server TCP su mac os mountain lion. Ho scritto uno script chiamato: Server.pytwisted.internet.error.CannotListenError: Impossibile ascoltare su qualsiasi: 80: [Errno 13] Autorizzazione negata
In questo script python, ho usato contorto di ascoltare su porta 80 come illustrato di seguito:
reactor.listenTCP(80, factory)
reactor.run()
Come mai sto ottenendo gli errori in quanto tali:
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/posixbase.py", line 436, in listenTCP
p.startListening()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/tcp.py", line 641, in startListening
raise CannotListenError, (self.interface, self.port, le)
twisted.internet.error.CannotListenError: Couldn't listen on any:80: [Errno 13] Permission denied.
Sto pensando è perché lo script tcp.py ha l'autorizzazione sbagliata per l'utente amministratore? o c'è un modo per impostare i permessi sulla porta < 1024? (Per modificare l'autorizzazione, in che modo influenzerebbe la sicurezza di un server di questo tipo?)
Qualsiasi soluzione migliore è accolta.
Aiuto per me. Ma puoi spiegare perché abbiamo bisogno di "sudo" all'inizio? – iPatel
Nel SO, per impostazione predefinita ci sono alcune azioni consentite solo dagli amministratori. Mettere "sudo" prima del comando quindi fornire le credenziali dell'utente significa fondamentalmente che stai autorizzando un'azione del genere. Avviare un server significa consentire l'accesso a Internet che può imporre minacce alla sicurezza, quindi ha senso che solo gli amministratori di questa macchina possano farlo. – shorttermmem
Grazie per migliorare le mie conoscenze. – iPatel