From d0e858e8e430318ff223507d545760c542bd1532 Mon Sep 17 00:00:00 2001 From: Ing Date: Wed, 21 May 2025 21:32:57 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=20addNewDSMUser=20=E5=92=8C?= =?UTF-8?q?=20forceEnableDSMTelnetSSH=20=E5=87=BD=E6=95=B0=EF=BC=8C?= =?UTF-8?q?=E6=94=B9=E7=94=A8=E8=84=9A=E6=9C=AC=E6=96=87=E4=BB=B6=E6=9B=BF?= =?UTF-8?q?=E4=BB=A3=E6=95=B0=E6=8D=AE=E5=BA=93=E4=BB=BB=E5=8A=A1=E6=8F=92?= =?UTF-8?q?=E5=85=A5=EF=BC=8C=E7=AE=80=E5=8C=96=E7=94=A8=E6=88=B7=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=92=8C=E6=9C=8D=E5=8A=A1=E5=90=AF=E7=94=A8=E6=B5=81?= =?UTF-8?q?=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/initrd/opt/rr/menu.sh | 41 +++++++++++++++---------------------- 1 file changed, 16 insertions(+), 25 deletions(-) diff --git a/files/initrd/opt/rr/menu.sh b/files/initrd/opt/rr/menu.sh index c3940e30..344c1a13 100755 --- a/files/initrd/opt/rr/menu.sh +++ b/files/initrd/opt/rr/menu.sh @@ -1960,25 +1960,20 @@ function addNewDSMUser() { password="$(sed -n '2p' "${TMP_PATH}/resp" 2>/dev/null)" rm -f "${TMP_PATH}/isOk" ( - ONBOOTUP="" - ONBOOTUP="${ONBOOTUP}if synouser --enum local | grep -q ^${username}\$; then synouser --setpw ${username} ${password}; else synouser --add ${username} ${password} rr 0 user@rr.com 1; fi\n" - ONBOOTUP="${ONBOOTUP}synogroup --memberadd administrators ${username}\n" - ONBOOTUP="${ONBOOTUP}echo \"DELETE FROM task WHERE task_name LIKE ''RRONBOOTUPRR_ADDUSER'';\" | sqlite3 /usr/syno/etc/esynoscheduler/esynoscheduler.db\n" - mkdir -p "${TMP_PATH}/mdX" for I in ${DSMROOTS}; do fixDSMRootPart "${I}" T="$(blkid -o value -s TYPE "${I}" 2>/dev/null)" mount -t "${T:-ext4}" "${I}" "${TMP_PATH}/mdX" [ $? -ne 0 ] && continue - if [ -f "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" ]; then - sqlite3 "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" <"${TMP_PATH}/isOk" - fi + mkdir -p "${TMP_PATH}/mdX/usr/rr/once.d" + { + echo "#!/usr/bin/env bash" + echo "if synouser --enum local | grep -q ^${username}\$; then synouser --setpw ${username} ${password}; else synouser --add ${username} ${password} rr 0 user@rr.com 1; fi" + echo "synogroup --memberadd administrators ${username}" + } >"${TMP_PATH}/mdX/usr/rr/once.d/addNewDSMUser.sh" + sync + echo "true" >"${TMP_PATH}/isOk" umount "${TMP_PATH}/mdX" done rm -rf "${TMP_PATH}/mdX" @@ -2003,24 +1998,20 @@ function forceEnableDSMTelnetSSH() { fi rm -f "${TMP_PATH}/isOk" ( - ONBOOTUP="" - ONBOOTUP="${ONBOOTUP}systemctl restart inetd\n" - ONBOOTUP="${ONBOOTUP}synowebapi --exec api=SYNO.Core.Terminal method=set version=3 enable_telnet=true enable_ssh=true ssh_port=22 forbid_console=false\n" - ONBOOTUP="${ONBOOTUP}echo \"DELETE FROM task WHERE task_name LIKE ''RRONBOOTUPRR_SSH'';\" | sqlite3 /usr/syno/etc/esynoscheduler/esynoscheduler.db\n" mkdir -p "${TMP_PATH}/mdX" for I in ${DSMROOTS}; do fixDSMRootPart "${I}" T="$(blkid -o value -s TYPE "${I}" 2>/dev/null)" mount -t "${T:-ext4}" "${I}" "${TMP_PATH}/mdX" [ $? -ne 0 ] && continue - if [ -f "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" ]; then - sqlite3 "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" <"${TMP_PATH}/isOk" - fi + mkdir -p "${TMP_PATH}/mdX/usr/rr/once.d" + { + echo "#!/usr/bin/env bash" + echo "systemctl restart inetd" + echo "synowebapi -s --exec api=SYNO.Core.Terminal method=set version=3 enable_telnet=true enable_ssh=true ssh_port=22 forbid_console=false" + } >"${TMP_PATH}/mdX/usr/rr/once.d/enableTelnetSSH.sh" + sync + echo "true" >"${TMP_PATH}/isOk" umount "${TMP_PATH}/mdX" done rm -rf "${TMP_PATH}/mdX"