- use sudo for software installation in logon script
- logon script desktop-entry
- new log functions in include
- renamed include file
- mozilla starter with profilename option
- added kdevelop profilename
This commit is contained in:
Daniel Pätzold
2026-02-21 20:50:02 +01:00
parent f48c656997
commit 21d1144813
10 changed files with 559 additions and 75 deletions
+33 -15
View File
@@ -2,11 +2,26 @@
# SPDX-FileCopyrightText: Daniel Pätzold
# SPDX-License-Identifier: AGPL-3.0-or-later
#
# Central sofwareinstallation script. Should be called from logon-script via sudo and prereserved env
#
source ./setup_system.conf
source ./setup_system.inc
source ./setup_system.inc.sh
#Lokal Vars
LOGFILE="${TEMPDIR}/${SCRIPTNAME}.log"
#Check for root
if [ "$EUID" -ne 0 ]; then
echo "Error: Script requires root privileges. It should be executed via logon-script and not standalone."
exit 1
fi
#Check Token
if [ "${DAVTOKEN_USER}." == "." ]; then
echo "Error: Script cannot be executed standalone and needs a prereserved environement from logon-script."
echo "To get executed without password prompt, use the NOPASSWD rule in sudo."
echo "In FreeIPA you can use the sudo-option !authenticate in the sudo rule."
exit 1
fi
#Check if Repository is defined
if [ "${CLIENT_SOFTWARE_DST}." == "." ]; then
@@ -14,23 +29,21 @@ if [ "${CLIENT_SOFTWARE_DST}." == "." ]; then
exit 0
fi
echo "Syncing central softwarerepository."
#Check or get Token
if [ "${DAVTOKEN_USER}." == "." ]; then
get_nc_token
fi
echo "Syncing central softwarerepository ${CLIENT_SOFTWARE_DST}"
# Create Directory if not existent
if [ ! -d ${CLIENT_SOFTWARE_DST} ]; then
sudo mkdir ${CLIENT_SOFTWARE_DST}
sudo chmod o=rwx ${CLIENT_SOFTWARE_DST}
mkdir ${CLIENT_SOFTWARE_DST}
fi
#Logs for systems software-repository go to roots log files
LOGFILE="${TEMPDIR}/${SCRIPTNAME}.log"
echo "Logging to File ${LOGFILE}"
mkdir -p ${TEMPDIR}
#Sync Files
SYNCCMD="/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=nextcloudcmd com.nextcloud.desktopclient.nextcloud -h -u ${DAVTOKEN_USER} -p ${DAVTOKEN_PASS} --path ${CLIENT_SOFTWARE_SRC} ${CLIENT_SOFTWARE_DST} https://${SERVERFQDN_NC}"
SYNCCMD="sudo -i /usr/bin/flatpak run --branch=stable --arch=x86_64 --command=nextcloudcmd com.nextcloud.desktopclient.nextcloud -h -u ${DAVTOKEN_USER} -p ${DAVTOKEN_PASS} --path ${CLIENT_SOFTWARE_SRC} ${CLIENT_SOFTWARE_DST} https://${SERVERFQDN_NC}"
SYNCCMD_HIDDENPW=$( echo "${SYNCCMD/${DAVTOKEN_PASS}/***HIDDEN***}" )
echo "Exec: ${SYNCCMD_HIDDENPW}"
mkdir -p ${TEMPDIR}
echo "Sync Client Software" > ${LOGFILE}
echo "====================" >> ${LOGFILE}
date >> ${LOGFILE}
@@ -48,7 +61,12 @@ if [[ $? -ne 0 ]]; then
echo ""
exit 1
fi
chown root:root -R ${CLIENT_SOFTWARE_DST}
chmod u+rw,go-rwx -R ${CLIENT_SOFTWARE_DST}
if [ -f "${CLIENT_SOFTWARE_DST}/install.sh" ]; then
chmod ugo+x "${CLIENT_SOFTWARE_DST}/install.sh"
chmod u+x "${CLIENT_SOFTWARE_DST}/install.sh"
fi
echo "Sucessfully synced."
if [ $1 == "install" ]; then
${CLIENT_SOFTWARE_DST}/install.sh
fi
echo "Sucessfully synced. Quit."