helloservice.sh的作用是启动停止hello,hellomonitor.sh的作用是监控hello进程,进程挂掉时拉起进程。helloservice.sh脚本中启动hello时往inittab文件中加入记录并init q,停止服务时删除记录并init q。
原来一直用root用户执行helloservice.sh脚本来启动停止hello,在inittab文件中加的记录为hello:2:respawn:hellomonitorsh,系统重启后也是以root用户启的helo,没什么问题。
但是现在出于安全的考虑,要求用自己的非root用户来启动进程,执行那2个脚本,系统重启时也要是非root用户启动hello,那么脚本中的修改inittab文件语句将执行失败。
我现在的做法是将helloservice.sh中修改inittab文件的语句移到外面来,建立一个自启动文件rc.local:su - ... -c "hellomonitor.sh",以root用户mkitab hello:2:respawn:rc.local并init q。但是安装完bff安装包后启动hello,执行rdservice.sh stop能够停止hello,但是马上hello又被monitor.sh启动了,因为没有删除掉inittab文件中hello的记录。
说了这么多,归结到一点就是AIX中有没有方法以非root用户修改/etc/inittab文件,求指教啊
5 个解决方案
#2
这个是有用户限制了的!即使楼上提供的sudo 也是需要提供root密码的!
#3
sudo可以设置成免输密码
#4
非root用户怎么可能能修改inittab
楼主说的,用root用户登陆,修改inittab文件,每一行不是有个user项吗,这个好像就是设定你的程序以哪个user运行的,你把它的参数修改成你想要设置的非root用户就行了
楼主说的,用root用户登陆,修改inittab文件,每一行不是有个user项吗,这个好像就是设定你的程序以哪个user运行的,你把它的参数修改成你想要设置的非root用户就行了
#5
http://blog.csdn.net/sinboy/article/details/2466225
两个办法,虽然没有试过,但是感觉都是可行的
两个办法,虽然没有试过,但是感觉都是可行的
#1
#2
这个是有用户限制了的!即使楼上提供的sudo 也是需要提供root密码的!
#3
sudo可以设置成免输密码
#4
非root用户怎么可能能修改inittab
楼主说的,用root用户登陆,修改inittab文件,每一行不是有个user项吗,这个好像就是设定你的程序以哪个user运行的,你把它的参数修改成你想要设置的非root用户就行了
楼主说的,用root用户登陆,修改inittab文件,每一行不是有个user项吗,这个好像就是设定你的程序以哪个user运行的,你把它的参数修改成你想要设置的非root用户就行了
#5
http://blog.csdn.net/sinboy/article/details/2466225
两个办法,虽然没有试过,但是感觉都是可行的
两个办法,虽然没有试过,但是感觉都是可行的