fix password argument quoting for adminPass flows

Quote admin password arguments during install and harden upgrade rewrites of /usr/bin/adminPass so shell-sensitive characters are preserved instead of expanded.
This commit is contained in:
master3395
2026-04-14 21:54:02 +02:00
parent fb1d97758b
commit a548f0c042
4 changed files with 16 additions and 2 deletions

View File

@@ -1813,6 +1813,13 @@ if [[ "$Server_Country" = "CN" ]] ; then
fi
sed -i 's|python2|python|g' /usr/bin/adminPass
if [[ -f /usr/bin/adminPass ]]; then
cat >/usr/bin/adminPass <<'EOF'
/usr/local/CyberPanel/bin/python /usr/local/CyberCP/plogical/adminPass.py --password "$@"
systemctl restart lscpd
echo "$@" > /etc/cyberpanel/adminPass
EOF
fi
chmod 700 /usr/bin/adminPass
rm -f /usr/bin/php

View File

@@ -123,7 +123,7 @@ DISK2=$(df -h | awk '$NF=="/"{printf "%d/%dGB (%s)\n", $3,$2,$5}')
ELAPSED="$(($SECONDS / 3600)) hrs $((($SECONDS / 60) % 60)) min $(($SECONDS % 60)) sec"
MYSQLPASSWD=$(cat /etc/cyberpanel/mysqlPassword)
echo "$ADMIN_PASS" > /etc/cyberpanel/adminPass
/usr/local/CyberPanel/bin/python2 /usr/local/CyberCP/plogical/adminPass.py --password $ADMIN_PASS
/usr/local/CyberPanel/bin/python2 /usr/local/CyberCP/plogical/adminPass.py --password "$ADMIN_PASS"
_restart_lscpd_safe
systemctl restart lsws
echo "/usr/local/CyberPanel/bin/python2 /usr/local/CyberCP/plogical/adminPass.py --password \"\$@\"" > /usr/bin/adminPass

View File

@@ -1153,7 +1153,7 @@ DISK2=$(df -h | awk '$NF=="/"{printf "%d/%dGB (%s)\n", $3,$2,$5}')
ELAPSED="$(($SECONDS / 3600)) hrs $((($SECONDS / 60) % 60)) min $(($SECONDS % 60)) sec"
MYSQLPASSWD=$(cat /etc/cyberpanel/mysqlPassword)
echo "$ADMIN_PASS" > /etc/cyberpanel/adminPass
/usr/local/CyberPanel/bin/python2 /usr/local/CyberCP/plogical/adminPass.py --password $ADMIN_PASS
/usr/local/CyberPanel/bin/python2 /usr/local/CyberCP/plogical/adminPass.py --password "$ADMIN_PASS"
systemctl restart lscpd
systemctl restart lsws
echo "/usr/local/CyberPanel/bin/python2 /usr/local/CyberCP/plogical/adminPass.py --password \"\$@\"" > /usr/bin/adminPass

View File

@@ -72,6 +72,13 @@ if [[ "$Server_Country" = "CN" ]] ; then
fi
sed -i 's|python2|python|g' /usr/bin/adminPass
if [[ -f /usr/bin/adminPass ]]; then
cat >/usr/bin/adminPass <<'EOF'
/usr/local/CyberPanel/bin/python /usr/local/CyberCP/plogical/adminPass.py --password "$@"
systemctl restart lscpd
echo "$@" > /etc/cyberpanel/adminPass
EOF
fi
chmod 700 /usr/bin/adminPass
rm -f /usr/bin/php