Bug 1421181 - ProtectHome option doesn't work when service runs in chroot
Summary: ProtectHome option doesn't work when service runs in chroot
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: systemd
Version: 7.3
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: rc
: ---
Assignee: systemd-maint
QA Contact: Radka Skvarilova
URL:
Whiteboard:
Depends On:
Blocks: 1339989 74systemd
TreeView+ depends on / blocked
 
Reported: 2017-02-10 14:47 UTC by Michal Sekletar
Modified: 2017-08-01 09:14 UTC (History)
3 users (show)

Fixed In Version: systemd-219-32.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-08-01 09:14:52 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2017:2297 normal SHIPPED_LIVE systemd bug fix and enhancement update 2017-08-01 12:40:16 UTC

Description Michal Sekletar 2017-02-10 14:47:21 UTC
Description of problem:
Consider the following unit file,

[Service]
User=tester
ExecStart=/bin/bash -c "touch /home/tester/foo"
RootDirectory=/opt/chroot/
ProtectHome=true

It declares ProtectHome=true and that should make /home read-only for the service. However if we run the service on current RHEL-7.3, it exists successfully and is able to create empty file foo. This is a bug, since /home shouldn't be writable. 

Version-Release number of selected component (if applicable):
systemd-219-30.el7_3.6.x86_64

How reproducible:
always

Steps to Reproduce:
1. write above unit file to /etc/systemd/system/test.service
2. create user named tester - useradd tester
3. reload systemd - systemctl daemon-reload
4. bind mount / to /opt/chroot - mkdir -p /opt/chroot && mount --bind / /opt/chroot
5. start the service - systemctl start test.service
6. get status of the service

Actual results:
Service exists successfully, file /opt/chroot/home/tester/foo exists

Expected results:
Service fails, file is not present

Additional info:
upstream fix,

https://github.com/systemd/systemd/commit/ee818b89f4890b3a00e93772249fce810f60811e

Comment 1 Michal Sekletar 2017-02-13 16:29:57 UTC
https://github.com/lnykryn/systemd-rhel/pull/94

Comment 3 Lukáš Nykrýn 2017-02-20 10:46:12 UTC
fix merged to upstream staging branch ->
-> post

Comment 7 errata-xmlrpc 2017-08-01 09:14:52 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2017:2297


Note You need to log in before you can comment on or make changes to this bug.