Bug 1178488

Summary: /etc/rc.d/rc.local misses executable permissions
Product: Red Hat Enterprise Linux 7 Reporter: Peter Bieringer <pb>
Component: systemdAssignee: systemd-maint
Status: CLOSED NOTABUG QA Contact: qe-baseos-daemons
Severity: medium Docs Contact:
Priority: unspecified    
Version: 7.0CC: lnykryn, systemd-maint-list
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-01-05 09:09:00 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Peter Bieringer 2015-01-04 09:14:54 UTC
Description of problem:
/etc/rc.d/rc.local isn't executed by systemd because of misses executable permissions

Version-Release number of selected component (if applicable):
systemd-208-11.el7_0.5.x86_64

How reproducible:
Always

Steps to Reproduce:
1. reboot

Actual results:
# ls -1 /var/lock/subsys/local
ls: cannot access /var/lock/subsys/local: No such file or directory


Expected results:
# ls -1 /var/lock/subsys/local
/var/lock/subsys/local


Additional info:

looks like file spec in systemd are improper, currently 644, but should be 755
# rpm -qvl systemd |grep "/etc/rc.d/rc.local"
-rw-r--r--    1 root    root  


Workaround:

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

Comment 2 Lukáš Nykrýn 2015-01-05 09:09:00 UTC
This is intentional, we want users to understatnd that rc.local does not and can't work in the same way as in rhel6.
There is a explanatory comment in the rc.local.

# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.