I'm having issues with set up of my relay, this is what I got yesterday.....I don't understand how to correct this...

Oct 31 08:00:09.000 [notice] Opening OR listener on 0.0.0.0:443
Oct 31 08:00:09.000 [warn] Could not bind to 0.0.0.0:443: Permission denied
Oct 31 08:00:09.000 [warn] Failed to parse/validate config: Failed to bind one of the listener ports.
Oct 31 08:00:09.000 [err] Reading config failed--see warnings above. For usage, try -h.
Oct 31 08:00:09.000 [warn] Restart failed (config error?). Exiting.

bumped to the homepage by Community 2 days ago

This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.

  • Is something else running on port 443? sudo lsof -i :443 – SuperSluether Nov 1 '16 at 19:49
  • Possible duplicate of torrc DNSPort 53 - Tor browser will not start / Ubuntu 15 – cacahuatl Nov 1 '16 at 21:03
  • Issue looks like it does not have permission to bind to low numbered ports, either start tor as root and use the User option to get it to drop privileges after it starts or use a port >1024 (on Linux you can use setcap to apply the cap_net_bind_service capability to the tor binary too) – cacahuatl Nov 1 '16 at 21:05
  • This is what I got when running the command in term above: – Andrew Nov 2 '16 at 11:01
  • how are you launching tor and from what user and on what operating system? – cacahuatl Nov 3 '16 at 0:48

The problem in your case is that you're launching Tor process not as a root and trying to bind to a privileged port, i.e. the one below 1024. Only root can do such a trick, that's why you're getting permission denied error. It's OK to launch at startup as a root, but on the last line of your torrc config you must drop the root privileges by specifying a line like User my-tor-unprivileged-user. Here is how it works: you're starting as a root, nothing is done yet, so it's 100% safe and you're binding to your ports below 1024. After that, before starting to actually operate, Tor switches to another user you're specifying in the last line of your config. So - no traces of root privileges remained, you're limited to your unprivileged user, but have successfully opened the listeners you require.

The root error is:

Could not bind to 0.0.0.0:443: Permission denied

Give permission to the tor binary to listen on ports below 1024 without root access (if you want to listen on 443 for example):

sudo setcap CAP_NET_BIND_SERVICE=+eip /usr/bin/tor

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.