咱们本身编写的应用程序监听服务端端口号。普通用户只能访问1024以上端口; 当须要使用1024及如下的端口号时,须要应用程序获取root用户权限,操做方法以下(假设咱们编写的应用程序名称为 myproc):shell
chown root:root myproc chmod u+s myproc
vim /usr/lib/systemd/system/emqx.service [Unit] Description=emqx daemon After=network.target [Service] User=emqx Group=emqx Type=forking Environment=HOME=/var/lib/emqx ExecStart=/bin/sh /usr/bin/emqx start LimitNOFILE=1048576 ExecStop=/bin/sh /usr/bin/emqx stop [Install] WantedBy=multi-user.target
以后发现emqx是个脚本文件不是二进制文件,文件中已经指定了启动用户,因此若是更改启动用户的话须要改这个脚本文件 vim /usr/bin/emqx
vim
以下修改完emqx 权限以后无效(由于emqx是文件,如前所述).net
chown root:root emqx chmod u+s emqx
查看emqx 正常启动后的进程后,发现启动文件是这个/usr/lib/emqx/erts-10.3.5.1/bin/beam.smp 命令行
chmod u+s beam.smp
日志
修改完以后权限以下,能够正常启动。code