Linux中/etc/rc.d/rc.local中配置的启动项未生效原因总结

  • 权限不足:/etc/rc.local & /etc/rc.d/rc.local都需要有执行权限
    • 权限查看,root用户需要有可执行权限

      [root@localhost ~]# ll /etc/rc.d/rc.local /etc/rc.local
      -rwxr--r--. 1 root root 509 Jul 1 02:01 /etc/rc.d/rc.local
      lrwxrwxrwx. 1 root root 13 Jun 7 16:50 /etc/rc.local -> rc.d/rc.local

      ===》图显方式:
    • 权限修改方式
      • 方法1:chmod 744 /etc/rc.d/rc.local     #为了安全,不建议设置为777,建议设置为744
      • 方法2:chmod +x /etc/rc.d/rc.local
    • /etc/rc.local和/etc/rc.d/rc.local是软链接关系,因此两者内容一致,默认/etc/rc.local是777,但/etc/rc.d/rc.local的权限默认是644

      [root@localhost ~]# ll /etc/rc.local
      lrwxrwxrwx. 1 root root 13 Jun 7 16:50 /etc/rc.local -> rc.d/rc.local
      ===》图显方式:

  • rc.local服务未启动
    • 通过下面命令查看是否启动,一般rc.local服务是默认启动

      [root@localhost ~]# systemctl list-unit-files|grep rc.local
      rc-local.service static-------代表已开启,如果是disable,代表未开启

    • 启动rc.local服务
      systemctl enable rc-local.service
    • 手动启动一次rc.local,看是否有问题
      systemctl status rc-local.service
    • 自动启动服务
      systemctl start rc-local.service
  • rc.local格式是否正确
    • /etc/rc.d/rc.local文件中需要加上   "#!/bin/bash"
  • 手动执行rc.local查看中间是否有执行错误的
  • systemctl status rc-local.service
posted on 2022-11-18 22:05  韩山隐士  阅读(663)  评论(0编辑  收藏  举报