在启动其他一些服务后,如何在启动时以特定用户启动程序?

在启动其他一些服务后,如何在启动时以特定用户启动程序?

我有一个应用程序,希望在 Oracle Enterprise Linux 7 上执行以下操作:

  • 在启动时运行这个应用程序某些其他应用程序已经启动(其中之一是 MongoDB)。
  • 我想与特定用户一起运行此应用程序,因为该用户是使用我需要的一组特定权限进行自定义的。
  • 该应用程序需要在端口 80 和 443 上运行。可以自定义上述用户以允许其使用这些端口sudo(我只是不知道如何)。
  • 应用程序的标准输出和标准错误流应重定向到文件。

我怎样才能做到这一点,最好不要阅读七本手册来完成我认为简单的事情?

答案1

通常,这是 init、upstart 或 systemd 的工作。大多数情况下已经有用于此工作的脚本,例如 /etc/rc.local。几乎每个守护进程都带有经过认可的脚本以确保安全启动。

Quick 'n Dirty 解决方案:编写一个 shell 脚本来启动程序。它应该解决用户、权限和其他先决条件的依赖关系,或者只是等待几分钟。使用 crontab -e 输入脚本

@reboot sleep 120 && /full/path/to/script >& /var/log/mydaemon.log

看看系统服务!

相关内容