# Runas different user? Only get ignition working as root

**URL:** <https://forum.inductiveautomation.com/t/runas-different-user-only-get-ignition-working-as-root/11396>\
**Category:** Archived Topics\
**Created:** [March 22, 2016, 12:58am UTC](https://forum.inductiveautomation.com/t/runas-different-user-only-get-ignition-working-as-root/11396 "2016-03-22T00:58:19Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sam5](https://avatars.discourse-cdn.com/v4/letter/s/9dc877/32.png) [@Sam5](https://forum.inductiveautomation.com/u/Sam5)\
**Post date:** [March 22, 2016, 12:58am UTC](https://forum.inductiveautomation.com/t/runas-different-user-only-get-ignition-working-as-root/11396/1 "2016-03-22T00:58:19Z")

</div>

I have 7.8.2 install on RedHat/Oracle 7.2 with Oracle java 1.8.0\_73

I created user account and group 'ignition' and set the ignition.sh to "RUN\_AS\_USER=ignition", everything worked fine. But we won't use the default SSL port of 8043, so I used the guc command to change the SSL port (./gwcmd --sslport 443).

Now ignition will NOT run at all without changing the runasuser to "root". In the log I get

> [@](#):
>
> MultiException[java.net.SocketException: Permission denied, java.net.SocketException: Permission denied, java.net.BindException: Address already in use]

netstat -tulpn shows me that no, port 443 is not in use. I did come across this -

> [@](#):
>
> Once you have ignition.sh open, look for the line that contains ‘RUN\_AS\_USER=’ and make sure it equals ‘root’ and save your changes.

[support.inductiveautomation.com ... 0-in-linux](https://support.inductiveautomation.com/index.php?/Knowledgebase/Article/View/96/0/running-ignition-on-port-80-in-linux)

Really really bad idea to be running as root, same as running anything on Windows with admin privileges. I do hope this is just a configuration error

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 22, 2016, 11:48am UTC](https://forum.inductiveautomation.com/t/runas-different-user-only-get-ignition-working-as-root/11396/2 "2016-03-22T11:48:01Z")

</div>

Ports below 1024 are protected in linux and most \*nix families – they can only be listened to by root. I believe the permission can be delegated, but I don’t remember which control it is. I’m sure Google can help 🙂

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 22, 2016, 1:35pm UTC](https://forum.inductiveautomation.com/t/runas-different-user-only-get-ignition-working-as-root/11396/3 "2016-03-22T13:35:37Z")

</div>

I think what you’ll end up doing is running on 8088 and 8043 and adding an iptables rule that redirects 80 and 443.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 22, 2016, 2:33pm UTC](https://forum.inductiveautomation.com/t/runas-different-user-only-get-ignition-working-as-root/11396/4 "2016-03-22T14:33:06Z")

</div>

Ubuntu’s [privbind](http://manpages.ubuntu.com/manpages/trusty/man1/privbind.1.html) utility looks interesting. I’ve also run apache on :80 as a transparent proxy to :8088 to allow name-based vhosts to coexist on one machine. Never figured out what I’d need for that to work with :443 as well.

---

<div class="post-metadata">

**Author:** ![Sam5](https://avatars.discourse-cdn.com/v4/letter/s/9dc877/32.png) [@Sam5](https://forum.inductiveautomation.com/u/Sam5)\
**Post date:** [March 24, 2016, 11:01pm UTC](https://forum.inductiveautomation.com/t/runas-different-user-only-get-ignition-working-as-root/11396/5 "2016-03-24T23:01:09Z")

</div>

> [@Kevin.Herron](#):
>
> I think what you'll end up doing is running on 8088 and 8043 and adding an iptables rule that redirects 80 and 443.

This was my solution, simple redirect from 443 to 8043, worked like a charm. Changed Ignition to non-root user, and everything working fine now. Thanks for the help eveyrone

---

<div class="post-metadata">

**Author:** ![AlThePal](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/althepal/32/3603_2.png) [@AlThePal](https://forum.inductiveautomation.com/u/AlThePal)\
**Post date:** [December 8, 2017, 11:47am UTC](https://forum.inductiveautomation.com/t/runas-different-user-only-get-ignition-working-as-root/11396/6 "2017-12-08T11:47:10Z")

</div>

We normally use Linux and are supporting an Ignition system developed in Windows. The system is set up to use ports 80 and 443 but of course this gives us problems in Linux as we’d rather not run as root.

I’ve read that systemd can handle opening up privileged ports and handing them to unprivileged services. Anyone have experience of this and know how to integrate this with the ignition startup script?

---

<div class="post-metadata">

**Author:** ![fourmajor](https://avatars.discourse-cdn.com/v4/letter/f/898d66/32.png) [@fourmajor](https://forum.inductiveautomation.com/u/fourmajor)\
**Post date:** [May 16, 2019, 11:10pm UTC](https://forum.inductiveautomation.com/t/runas-different-user-only-get-ignition-working-as-root/11396/7 "2019-05-16T23:10:16Z")

</div>

On my Linux server that is running Ignition I did the following:

```auto
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8043
sudo iptable-save

```

The above was from [https://www.cyberciti.biz/faq/linux-port-redirection-with-iptables/](https://www.cyberciti.biz/faq/linux-port-redirection-with-iptables/)
