lgsm local mirror
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

51 lines
1.3 KiB

#!/bin/bash
# LGSM check_permissions.sh
# Author: Daniel Gibbs
# Contributor: UltimateByte
# Website: http://gameservermanagers.com
lgsm_version="150316"
# Description: Checks script, files and folders ownership and permissions.
# Initializing useful variables
currentuser="$(whoami)"
scriptfullpath="${rootdir}/${selfname}"
conclusionpermissionerror="0"
fn_check_ownership(){
if [ "${currentuser}" != "$(stat -c %U "${scriptfullpath}")" ] && [ "${currentuser}" != "$(stat -c %G "${scriptfullpath}")" ]; then
conclusionpermissionerror="1"
fn_print_fail_nl "Permission denied"
echo " * To check allowed user and group run ls -l ${selfname}"
fi
}
fn_check_permissions(){
permissionfailure="0"
if [ -n "${functionsdir}" ]; then
while read -r filename
do
perm="$(stat -c %a "${filename}")"
shortperm="${perm:0:1}"
if [ "${shortperm}" != "7" ]; then
permissionfailure="1"
conclusionpermissionerror="1"
fi
done <<< "$(find "${functionsdir}" -name "*.sh")"
if [ "${permissionfailure}" == "1" ]; then
fn_print_warn_nl "Warning, permission issues found in functions."
echo " * Easy fix : chmod -R 755 ${functionsdir}"
fi
fi
}
fn_check_permissions_conclusion(){
if [ "${conclusionpermissionerror}" == "1" ]; then
exit 1
fi
}
fn_check_ownership
fn_check_permissions
fn_check_permissions_conclusion