在很多情况下,出于系统安全的考虑,要以非root用户来启动一些服务,比如apache服务、tomcat服务等,那么该如何实现呢?
大家都知道,Linux 的启动文件rc.local可以控制启动系统时自动执行的一些命令,而类似于tomcat或mysql之类的程序是不可以用root权限启动的,因此使用下述命令可以以非root账号来启动tomcat服务:
view plain copy
su - test -c /home/test/tomcat-7.0.12/bin/startup.sh
su - username -c “command”这样的形式可以使用任意一个有执行权限的用户执行 -c后边的命令。
注意,- username中间有一个空格,而-c中间是没有空格的。
另外还有一种方法,但我没有验证,因此也不能保证其有效性,就是直接编辑某用户的crontat来启动:
crontab -e -u username
添加:@reboot command