LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 713|回复: 4

如何使某个boot script具有root权限?

[复制链接]
发表于 2005-8-12 15:17:43 | 显示全部楼层 |阅读模式
我遇到一个问题,想向大家请教一下:

我写了一个启动脚本,假设为install.sh,它由/etc/rc.sysinit执行,
目的是通过install.sh将/etc/下原来的某些配置文件替换为我修改过的设置
install.sh中所用的命令主要是:cp -rf
由于某些原因,我不便用root帐户来执行,而希望系统每次启动时自动执行。

我试了一下,如果用root帐户手工执行我写的install.sh,一切正常,
能达到我的预期目的。但是如果是系统boot过程中自动执行install.sh,
会发生诸如以下的错误:
cp: cannot remove "/etc/X11/XF86Config": read only file system.

我考虑了一下:当我用root帐号手工执行install.sh脚本时,由于它具有
root权限,所以能够覆盖成功。而当系统boot时自动执行这个install.sh时,
它的权限不足以覆盖掉原来的/etc/X11/XF86Config

因此,我可能得想办法让这个脚本具有root的权限,这个问题对我来说有点困难,
请问兄弟们以前有没有遇到过类似的问题?有的话是如何解决的?

谢谢
发表于 2005-8-12 15:52:21 | 显示全部楼层
ls -l
查看它的权限和属主,属组
直接用root执行
chmod +755 install.sh
chown root:root install.sh
试试!
回复 支持 反对

使用道具 举报

发表于 2005-8-12 16:14:01 | 显示全部楼层
Post by oldh
我遇到一个问题,想向大家请教一下:

我写了一个启动脚本,假设为install.sh,它由/etc/rc.sysinit执行,
目的是通过install.sh将/etc/下原来的某些配置文件替换为我修改过的设置
install.sh中所用的命令主要是:cp -rf
由于某些原因,我不便用root帐户来执行,而希望系统每次启动时自动执行。

我试了一下,如果用root帐户手工执行我写的install.sh,一切正常,
能达到我的预期目的。但是如果是系统boot过程中自动执行install.sh,
会发生诸如以下的错误:
cp: cannot remove "/etc/X11/XF86Config": read only file system.

我考虑了一下:当我用root帐号手工执行install.sh脚本时,由于它具有
root权限,所以能够覆盖成功。而当系统boot时自动执行这个install.sh时,
它的权限不足以覆盖掉原来的/etc/X11/XF86Config

因此,我可能得想办法让这个脚本具有root的权限,这个问题对我来说有点困难,
请问兄弟们以前有没有遇到过类似的问题?有的话是如何解决的?

谢谢


LINUX在启动时要把文件系统mount为只读状态做一些磁盘检查等动作,然后再次mount成读写状态。
因为我不知道你的脚本具体在系统启动的哪个位置执行的,所以我不知道哪里出了问题,我只能做一个猜测:你把脚本放在文件系统只读的时候执行的。
如果你想得到更详细的信息,可以把你的/etc/rc.sysinit贴上来看看。

如果你只是想更改X的配置的话,不必把脚本放在/etc/rc.sysinit,放到rc.local即可。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-12 18:35:48 | 显示全部楼层
谢谢,放在rc.local中可以解决我的问题。
回复 支持 反对

使用道具 举报

发表于 2005-8-12 21:58:30 | 显示全部楼层
系统boot过程中执行的脚本是 root 权限的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表