]> www.infradead.org Git - users/hch/xfsprogs.git/commitdiff
xfs_scrub: don't set WorkingDirectory= in systemd job
authorDarrick J. Wong <darrick.wong@oracle.com>
Tue, 14 Apr 2020 16:56:20 +0000 (12:56 -0400)
committerEric Sandeen <sandeen@sandeen.net>
Tue, 14 Apr 2020 16:56:20 +0000 (12:56 -0400)
Somewhere between systemd 237 and 245, they changed the order in which a
job has its uid/gid set; capabilities applied; and working directory
set.  Whereas before they did it in an order such that you could set the
working directory to a path inaccessible to 'nobody' (either because
they did it before changing the uid or after adding capabilities), now
they don't and users instead get a service failure:

xfs_scrub@-boot.service: Changing to the requested working directory failed: Permission denied
xfs_scrub@-boot.service: Failed at step CHDIR spawning /usr/sbin/xfs_scrub: Permission denied
xfs_scrub@-boot.service: Main process exited, code=exited, status=200/CHDIR

Regardless, xfs_scrub works just fine with PWD set to /, so remove that
directive.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
scrub/xfs_scrub@.service.in

index 56acea6712512fa27728ed99835629a9fe684cb6..6fb3f6ea2e9790c14a20cc2cdf47a6f68373e9e7 100644 (file)
@@ -5,7 +5,6 @@ Documentation=man:xfs_scrub(8)
 
 [Service]
 Type=oneshot
-WorkingDirectory=%I
 PrivateNetwork=true
 ProtectSystem=full
 ProtectHome=read-only