How to Run Omada SDN Controller on Linux with a Non-root User
Apply to: Omada SDN Controller V5
The tar.gz version of Omada SDN Controller runs with the root user by default, but you can modify the configuration to run it with other non-root users and this article will guide you on how to realize it. The Linux environment used in this article is Debian 11.
1. Install Omada SDN Controller with root.
First, you need to install the Omada SDN Controller with root. For more details, please refer to Chapter 3.2 of How to install Omada SDN controller on Linux system (above Controller 5.0.29).
Once the installation is complete, the controller will start automatically. Press Ctrl + C to exit the startup, or run “tpeap stop” command with root to exit the controller.
2. Modify control.sh file.
Go to the controller installation folder (/opt/tplink/EAPController, by default), go to the bin folder, and modify the control.sh file with root.
Find the OMADA_USER, and change root to the user you want to use. Here we change it to tplink.
Then comment out the PID_FILE line and change the PID_FILE to “{OMADA_HOME}/data/{NAME}.pid”.
Find the second “check_root_perms”, and comment it out.
Save the file and exit.
3. Modify the folders’ owner.
Run the chown command with root to change the owner of the data, logs, and work folders to the non-root user you use.
Now you can run Omada SDN Controller with the non-root user.
Note that upgrading the controller will overwrite the previously modified configuration and change the owner of the work folder. It is recommended to record the modified configuration items, and then modify them after upgrading, don't backup the previous configuration file and directly replace it after upgrading.