mirror of
https://github.com/systemd/systemd.git
synced 2024-10-27 10:25:37 +03:00
TEST-22: add test for unprivileged dirs in root prefixes
This verifies the fix for the issue described in: https://github.com/systemd/systemd/pull/11820
This commit is contained in:
parent
c3aa4adcaf
commit
8595c4588c
32
test/TEST-22-TMPFILES/test-08.sh
Executable file
32
test/TEST-22-TMPFILES/test-08.sh
Executable file
@ -0,0 +1,32 @@
|
||||
#! /bin/bash
|
||||
#
|
||||
# Verify tmpfiles can run in a root directory under a path prefix that contains
|
||||
# directories owned by unprivileged users, for example when a root file system
|
||||
# is mounted in a regular user's home directory.
|
||||
#
|
||||
# https://github.com/systemd/systemd/pull/11820
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
rm -fr /tmp/root /tmp/user
|
||||
mkdir -p /tmp/root /tmp/user/root
|
||||
chown daemon:daemon /tmp/user
|
||||
|
||||
# Verify the command works as expected with no prefix or a root-owned prefix.
|
||||
echo 'd /tmp/root/test1' | systemd-tmpfiles --create -
|
||||
test -d /tmp/root/test1
|
||||
echo 'd /test2' | systemd-tmpfiles --root=/tmp/root --create -
|
||||
test -d /tmp/root/test2
|
||||
|
||||
# Verify the command fails to write to a root-owned subdirectory under an
|
||||
# unprivileged user's directory when it's not part of the prefix, as expected
|
||||
# by the unsafe_transition function.
|
||||
! echo 'd /tmp/user/root/test' | systemd-tmpfiles --create -
|
||||
! test -e /tmp/user/root/test
|
||||
! echo 'd /user/root/test' | systemd-tmpfiles --root=/tmp --create -
|
||||
! test -e /tmp/user/root/test
|
||||
|
||||
# Verify the above works when all user-owned directories are in the prefix.
|
||||
echo 'd /test' | systemd-tmpfiles --root=/tmp/user/root --create -
|
||||
test -d /tmp/user/root/test
|
Loading…
Reference in New Issue
Block a user