mirror of
https://github.com/RROrg/rr.git
synced 2025-06-21 05:51:05 +08:00
重构 addNewDSMUser 和 forceEnableDSMTelnetSSH 函数,改用脚本文件替代数据库任务插入,简化用户管理和服务启用流程
This commit is contained in:
parent
c884e86575
commit
d0e858e8e4
@ -1960,25 +1960,20 @@ function addNewDSMUser() {
|
|||||||
password="$(sed -n '2p' "${TMP_PATH}/resp" 2>/dev/null)"
|
password="$(sed -n '2p' "${TMP_PATH}/resp" 2>/dev/null)"
|
||||||
rm -f "${TMP_PATH}/isOk"
|
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"
|
mkdir -p "${TMP_PATH}/mdX"
|
||||||
for I in ${DSMROOTS}; do
|
for I in ${DSMROOTS}; do
|
||||||
fixDSMRootPart "${I}"
|
fixDSMRootPart "${I}"
|
||||||
T="$(blkid -o value -s TYPE "${I}" 2>/dev/null)"
|
T="$(blkid -o value -s TYPE "${I}" 2>/dev/null)"
|
||||||
mount -t "${T:-ext4}" "${I}" "${TMP_PATH}/mdX"
|
mount -t "${T:-ext4}" "${I}" "${TMP_PATH}/mdX"
|
||||||
[ $? -ne 0 ] && continue
|
[ $? -ne 0 ] && continue
|
||||||
if [ -f "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" ]; then
|
mkdir -p "${TMP_PATH}/mdX/usr/rr/once.d"
|
||||||
sqlite3 "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" <<EOF
|
{
|
||||||
DELETE FROM task WHERE task_name LIKE 'RRONBOOTUPRR_ADDUSER';
|
echo "#!/usr/bin/env bash"
|
||||||
INSERT INTO task VALUES('RRONBOOTUPRR_ADDUSER', '', 'bootup', '', 1, 0, 0, 0, '', 0, '$(echo -e "${ONBOOTUP}")', 'script', '{}', '', '', '{}', '{}');
|
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"
|
||||||
EOF
|
echo "synogroup --memberadd administrators ${username}"
|
||||||
|
} >"${TMP_PATH}/mdX/usr/rr/once.d/addNewDSMUser.sh"
|
||||||
sync
|
sync
|
||||||
echo "true" >"${TMP_PATH}/isOk"
|
echo "true" >"${TMP_PATH}/isOk"
|
||||||
fi
|
|
||||||
umount "${TMP_PATH}/mdX"
|
umount "${TMP_PATH}/mdX"
|
||||||
done
|
done
|
||||||
rm -rf "${TMP_PATH}/mdX"
|
rm -rf "${TMP_PATH}/mdX"
|
||||||
@ -2003,24 +1998,20 @@ function forceEnableDSMTelnetSSH() {
|
|||||||
fi
|
fi
|
||||||
rm -f "${TMP_PATH}/isOk"
|
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"
|
mkdir -p "${TMP_PATH}/mdX"
|
||||||
for I in ${DSMROOTS}; do
|
for I in ${DSMROOTS}; do
|
||||||
fixDSMRootPart "${I}"
|
fixDSMRootPart "${I}"
|
||||||
T="$(blkid -o value -s TYPE "${I}" 2>/dev/null)"
|
T="$(blkid -o value -s TYPE "${I}" 2>/dev/null)"
|
||||||
mount -t "${T:-ext4}" "${I}" "${TMP_PATH}/mdX"
|
mount -t "${T:-ext4}" "${I}" "${TMP_PATH}/mdX"
|
||||||
[ $? -ne 0 ] && continue
|
[ $? -ne 0 ] && continue
|
||||||
if [ -f "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" ]; then
|
mkdir -p "${TMP_PATH}/mdX/usr/rr/once.d"
|
||||||
sqlite3 "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" <<EOF
|
{
|
||||||
DELETE FROM task WHERE task_name LIKE 'RRONBOOTUPRR_SSH';
|
echo "#!/usr/bin/env bash"
|
||||||
INSERT INTO task VALUES('RRONBOOTUPRR_SSH', '', 'bootup', '', 1, 0, 0, 0, '', 0, '$(echo -e "${ONBOOTUP}")', 'script', '{}', '', '', '{}', '{}');
|
echo "systemctl restart inetd"
|
||||||
EOF
|
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
|
sync
|
||||||
echo "true" >"${TMP_PATH}/isOk"
|
echo "true" >"${TMP_PATH}/isOk"
|
||||||
fi
|
|
||||||
umount "${TMP_PATH}/mdX"
|
umount "${TMP_PATH}/mdX"
|
||||||
done
|
done
|
||||||
rm -rf "${TMP_PATH}/mdX"
|
rm -rf "${TMP_PATH}/mdX"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user