Merge branch '1.5.x'

This commit is contained in:
Phillip Webb 2018-01-30 12:51:45 -08:00
commit 886b39293c
5 changed files with 78 additions and 4 deletions

View File

@ -0,0 +1,20 @@
source ./test-functions.sh
install_service
chmod o+w /var/log
useradd phil
mkdir /phil-files
chown phil /phil-files
useradd andy
chown andy /test-service/spring-boot-app.jar
start_service
stop_service
su - andy -c "ln -s -f /phil-files /var/log/spring-boot-app.log"
start_service
ls -ld /phil-files

View File

@ -0,0 +1,18 @@
source ./test-functions.sh
install_service
useradd phil
mkdir /phil-files
chown phil /phil-files
useradd andy
chown andy /test-service/spring-boot-app.jar
start_service
stop_service
su - andy -c "ln -s /phil-files /var/run/spring-boot-app/spring-boot-app.pid"
start_service
ls -ld /phil-files

View File

@ -0,0 +1,17 @@
source ./test-functions.sh
install_service
chmod o+w /var/run
useradd phil
mkdir /phil-files
chown phil /phil-files
useradd andy
chown andy /test-service/spring-boot-app.jar
su - andy -c "ln -s -f /phil-files /var/run/spring-boot-app"
start_service
ls -ld /phil-files

View File

@ -154,12 +154,12 @@ start() {
do_start() {
working_dir=$(dirname "$jarfile")
pushd "$working_dir" > /dev/null
mkdir -p "$PID_FOLDER" &> /dev/null
if [[ ! -e "$PID_FOLDER" ]]; then
mkdir -p "$PID_FOLDER" &> /dev/null
chown "$run_user" "$PID_FOLDER"
fi
if [[ -n "$run_user" ]]; then
checkPermissions || return $?
chown "$run_user" "$PID_FOLDER"
chown "$run_user" "$pid_file"
chown "$run_user" "$log_file"
if [ $USE_START_STOP_DAEMON = true ] && type start-stop-daemon > /dev/null 2>&1; then
start-stop-daemon --start --quiet \
--chuid "$run_user" \

View File

@ -226,6 +226,25 @@ public class SysVinitLaunchScriptIT {
coloredString(AnsiColor.GREEN, "Stopped [" + extractPid(output) + "]"));
}
@Test
public void pidFolderOwnership() throws Exception {
String output = doTest("pid-folder-ownership.sh");
System.err.println(output);
assertThat(output).contains("phil root");
}
@Test
public void pidFileOwnership() throws Exception {
String output = doTest("pid-file-ownership.sh");
assertThat(output).contains("phil root");
}
@Test
public void logFileOwnership() throws Exception {
String output = doTest("log-file-ownership.sh");
assertThat(output).contains("phil root");
}
@Test
public void launchWithRelativeLogFolder() throws Exception {
String output = doTest("launch-with-relative-log-folder.sh");