“Centos7自启动rc.local中的脚本不执行”的版本间的差异

来自linux中国网wiki
跳到导航 跳到搜索
docker>Evan
 
(导入1个版本)

2019年10月14日 (一) 13:48的版本

原因解析

在centos7,使用ls -l /etc/rc.loacl可以看到如下结果
lrwxrwxrwx. 1 root root 13 7月  31 22:02 /etc/rc.local -> rc.d/rc.local

可以看到上面的执行结果是显示有执行权限的,
但是当使用ls -l /etc/rc.d/rc.loacl的时候却可以看到如下结果
-rw-r--r--. 1 root root 730 Sep 27 05:38 /etc/rc.d/rc.local
/etc/rc.loacl所链接的文件是没有执行权限的,
所以在启动的时候rc.local中写的命令得不到执行,
因此需要手动添加执行权限给/etc/rc.d/rc.loacl


解决办法

Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
打开 就有提示哦  请用心看 哈哈 

chmod +x /etc/rc.d/rc.local

关于在rc.local文件中指定用户执行脚本命令

使用su命令即可,命令格式:

su - username -c “your-cammand” ,如:

注意:指定用户执行的脚本(程序)目录,该用户必须有管理该脚本(程序)目录(文件)的权限。

最好将该脚本(程序)目录的所有权给该用户:


see also

Centos 7关于rc.local脚本命令开机不执行及指定用户启动的解决方法