Fix: Some calls to as_user did not supply a user.

Had to add a global username config setting, for use by non-server
specific commands.
This commit is contained in:
Marcus Whybrow 2012-05-30 18:32:17 +01:00
parent 6a0eedeb35
commit 202fd24867
2 changed files with 24 additions and 16 deletions

32
msm
View File

@ -458,14 +458,14 @@ jargroup_create() {
if [[ ! -e "$JAR_STORAGE_PATH/$1" ]]; then
printf "Creating jar group... "
local error=$(as_user_stderr "mkdir -p '$JAR_STORAGE_PATH/$1'")
local error=$(as_user_stderr "$USERNAME" "mkdir -p '$JAR_STORAGE_PATH/$1'")
if [[ "$error" != "" ]]; then
echo "Failed."
echo "Reason: $error"
return 1
fi
error=$(as_user "echo \"$2\" > '$JAR_STORAGE_PATH/$1/$JARGROUP_TARGET'")
error=$(as_user "$USERNAME" "echo \"$2\" > '$JAR_STORAGE_PATH/$1/$JARGROUP_TARGET'")
if [[ "$error" != "" ]]; then
echo "Failed."
echo "Reason: $error"
@ -497,17 +497,17 @@ jargroup_getlatest() {
printf "Downloading latest version... "
# Try and make
local error=$(as_user_stderr "mkdir -p '$JAR_STORAGE_PATH/$1/$JARGROUP_DOWNLOAD_DIR'")
local error=$(as_user_stderr "$USERNAME" "mkdir -p '$JAR_STORAGE_PATH/$1/$JARGROUP_DOWNLOAD_DIR'")
if [[ "$error" != "" ]]; then
echo "Failed."
echo "Reason: $error"
return 1
fi
as_user "wget --quiet --input-file='$JAR_STORAGE_PATH/$1/$JARGROUP_TARGET' --directory-prefix='$JAR_STORAGE_PATH/$1/$JARGROUP_DOWNLOAD_DIR' --no-check-certificate"
as_user "$USERNAME" "wget --quiet --input-file='$JAR_STORAGE_PATH/$1/$JARGROUP_TARGET' --directory-prefix='$JAR_STORAGE_PATH/$1/$JARGROUP_DOWNLOAD_DIR' --no-check-certificate"
echo "Done."
local num_files=$(as_user "ls -1 '$JAR_STORAGE_PATH/$1/$JARGROUP_DOWNLOAD_DIR' | wc -l")
local num_files=$(as_user "$USERNAME" "ls -1 '$JAR_STORAGE_PATH/$1/$JARGROUP_DOWNLOAD_DIR' | wc -l")
if [[ $num_files == 1 ]]; then
# There was 1 file downloaded
@ -524,7 +524,7 @@ jargroup_getlatest() {
[[ -e "$most_recent_jar" ]]
local was_previous=$?
as_user "mv '$JAR_STORAGE_PATH/$1/$JARGROUP_DOWNLOAD_DIR/$file_name' '$JAR_STORAGE_PATH/$1/$new_name'"
as_user "$USERNAME" "mv '$JAR_STORAGE_PATH/$1/$JARGROUP_DOWNLOAD_DIR/$file_name' '$JAR_STORAGE_PATH/$1/$new_name'"
if [[ $was_previous == 0 ]]; then
echo "Downloaded version was different to previous latest. Saved as \"$1/$new_name\"."
@ -544,7 +544,7 @@ jargroup_getlatest() {
fi
# Clean up the temp download folder
as_user "rm -fr '$JAR_STORAGE_PATH/$1/$JARGROUP_DOWNLOAD_DIR'"
as_user "$USERNAME" "rm -fr '$JAR_STORAGE_PATH/$1/$JARGROUP_DOWNLOAD_DIR'"
else
echo "Target URL not found, use $0 jargroup seturl <download-url>"
return 1
@ -567,7 +567,7 @@ jargroup_delete() {
read answer
if [[ "$answer" =~ ^y|Y|yes$ ]]; then
as_user "rm -rf $JAR_STORAGE_PATH/$1"
as_user "$USERNAME" "rm -rf $JAR_STORAGE_PATH/$1"
echo "Jar group deleted."
else
echo "Jar group was NOT deleted."
@ -596,7 +596,7 @@ jargroup_rename() {
return 1
else
# TODO: Update any symbolic links which point to a jar in this directory
as_user "mv '$JAR_STORAGE_PATH/$1' '$JAR_STORAGE_PATH/$2'"
as_user "$USERNAME" "mv '$JAR_STORAGE_PATH/$1' '$JAR_STORAGE_PATH/$2'"
echo "Renamed jar group \"$1\" to \"$2\"."
fi
else
@ -631,10 +631,10 @@ server_create() {
return 1
else
printf "Creating server directory... "
as_user "mkdir -p '$SERVER_STORAGE_PATH/$1'"
as_user "touch '$SERVER_STORAGE_PATH/$1/$WHITELIST'"
as_user "touch '$SERVER_STORAGE_PATH/$1/$BANNED_IPS'"
as_user "touch '$SERVER_STORAGE_PATH/$1/$BANNED_PLAYERS'"
as_user "$USERNAME" "mkdir -p '$SERVER_STORAGE_PATH/$1'"
as_user "$USERNAME" "touch '$SERVER_STORAGE_PATH/$1/$WHITELIST'"
as_user "$USERNAME" "touch '$SERVER_STORAGE_PATH/$1/$BANNED_IPS'"
as_user "$USERNAME" "touch '$SERVER_STORAGE_PATH/$1/$BANNED_PLAYERS'"
echo "Done."
fi
else
@ -652,7 +652,7 @@ server_delete() {
read answer
if [[ "$answer" =~ ^y|Y|yes$ ]]; then
# TODO: stop the server if running first
as_user "rm -rf '$SERVER_STORAGE_PATH/$1'"
as_user "$USERNAME" "rm -rf '$SERVER_STORAGE_PATH/$1'"
echo "Server deleted."
else
echo "Server was NOT deleted."
@ -683,7 +683,7 @@ server_rename() {
echo "Could not be renamed, there is already a server with the name \"$2\"."
return 1
else
as_user "mv '$SERVER_STORAGE_PATH/$1' '$SERVER_STORAGE_PATH/$2'"
as_user "$USERNAME" "mv '$SERVER_STORAGE_PATH/$1' '$SERVER_STORAGE_PATH/$2'"
echo "Renamed server \"$1\" to \"$2\"."
fi
else
@ -711,7 +711,7 @@ server_start() {
printf "Starting server... "
as_user ${server_user_name[$1]} "cd ${server_path[$1]} && screen -dmS ${server_screen_name[$1]} ${server_invocation[$1]}"
as_user "$USERNAME" ${server_user_name[$1]} "cd ${server_path[$1]} && screen -dmS ${server_screen_name[$1]} ${server_invocation[$1]}"
server_log_wait_for_line $1 "$time_now" "${server_confirm_start[$1]}"
echo "Done."

View File

@ -5,6 +5,14 @@
#
#
# User
# ----
# The user which Minecraft Server Manager commands will be executed as.
# Also used by default for starting servers who do not specify an individual
# server user.
USERNAME="minecraft"
# Directory Locations
# -------------------