Выполнение скрипта в качестве другого пользователя по-прежнему вызывает определенные проблемы

Я должен выполнить этот скрипт с помощью PHP. Пользователь www-data не может этого сделать, поэтому я изменил файл sudoers:

www-data ALL=(user2) NOPASSWD: /home/user2/bin/test.sh

Скрипт выполняется в php с помощью этой команды:

sudo -u user2 /home/user2/bin/test.sh

Вот сценарий test.sh:

#!/bin/bash
#Stopping previous server
screen -S minecraft -X stuff "stop^M"
#deleting the map file
rm -Rf /home/minecraft/Serveur/*/  
# deleting the properties file
rm -f /home/minecraft/Serveur/server.properties 
#new server properties
cp /home/minecraft/MapsEtServ.prop/Bloody/server.properties /home/minecraft/Serveur/server.properties
#new map
cp -R /home/minecraft/MapsEtServ.prop/Bloody/'Bloody Mess v1.0' /home/minecraft/Serveur/'Bloody Mess v1.0' 
#launching the game server
screen -dmS minecraft java -Xmx4096M -Xms4096M -jar  /home/minecraft/Serveur/minecraft_server.jar nogui 

/home/minecraft/Serveur и /home/minecraft/MapsEtServ.prop установлены на 777.

Что происходит, когда я запускаю скрипт через SSH: все работает нормально .

Но когда я выполняю его с php: экран остановлен, файлы вставляются и экран запускается. Но есть проблема: игровой сервер не работает.

EDIT: проблема решена! Я только что добавил cd / home / minecraft / Serveur / в начале скрипта, и все работает отлично:)

1
задан 25 August 2013 в 00:40

0 ответов

Другие вопросы по тегам:

Похожие вопросы: