aix下非root用户如何修改/etc/inittab文件

时间:2021-10-08 09:28:43
    情景是这样的:有一个bff安装包,安装一个hello可执行文件,2个脚本:hellomonitor.sh和helloservice.sh。安装完成后执行helloservice.sh start启动hello
    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


引用 2 楼 max_min_ 的回复:
这个是有用户限制了的!即使楼上提供的sudo 也是需要提供root密码的!

sudo可以设置成免输密码

#4


非root用户怎么可能能修改inittab
楼主说的,用root用户登陆,修改inittab文件,每一行不是有个user项吗,这个好像就是设定你的程序以哪个user运行的,你把它的参数修改成你想要设置的非root用户就行了

#5


http://blog.csdn.net/sinboy/article/details/2466225
两个办法,虽然没有试过,但是感觉都是可行的

#1


#2


这个是有用户限制了的!即使楼上提供的sudo 也是需要提供root密码的!

#3


引用 2 楼 max_min_ 的回复:
这个是有用户限制了的!即使楼上提供的sudo 也是需要提供root密码的!

sudo可以设置成免输密码

#4


非root用户怎么可能能修改inittab
楼主说的,用root用户登陆,修改inittab文件,每一行不是有个user项吗,这个好像就是设定你的程序以哪个user运行的,你把它的参数修改成你想要设置的非root用户就行了

#5


http://blog.csdn.net/sinboy/article/details/2466225
两个办法,虽然没有试过,但是感觉都是可行的