From 644d663a4e1b1823c75a7938453827d5159f27eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=85=8E=E9=A5=BC=E6=9E=9C=E5=AD=90=E5=8D=B7=E9=B2=A8?= =?UTF-8?q?=E9=B1=BC=E8=BE=A3=E6=A4=92?= Date: Wed, 19 Feb 2025 11:19:29 +0800 Subject: [PATCH] feat: Enhance Linux ID modifier with advanced file modification checks - Improved random ID generation to ensure single-line output - Added chattr attribute removal for immutable files before modification - Enhanced file modification reliability by handling read-only file attributes - Implemented pre-modification checks to prevent potential configuration errors --- scripts/run/cursor_linux_id_modifier.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/scripts/run/cursor_linux_id_modifier.sh b/scripts/run/cursor_linux_id_modifier.sh index 36915c0..af3f028 100644 --- a/scripts/run/cursor_linux_id_modifier.sh +++ b/scripts/run/cursor_linux_id_modifier.sh @@ -152,8 +152,8 @@ backup_config() { # 生成随机 ID generate_random_id() { - # 生成32字节(64个十六进制字符)的随机数 - head -c 32 /dev/urandom | xxd -p + # 生成32字节(64个十六进制字符)的随机数,并确保一行输出 + head -c 32 /dev/urandom | xxd -p -c 32 } # 生成随机 UUID @@ -176,6 +176,15 @@ modify_or_add_config() { return 1 fi + # 检查并移除chattr只读属性(如果存在) + if lsattr "$file" 2>/dev/null | grep -q '^....i'; then + log_debug "移除文件不可变属性..." + sudo chattr -i "$file" || { + log_error "无法移除文件不可变属性" + return 1 + } + fi + # 确保文件可写 chmod 644 "$file" || { log_error "无法修改文件权限: $file"