我发现还是有很多人烦恼于 Cursor 的自动升级,这里说一个简单的方法
我前段时间手动整理C盘文件,发现了C:\Users\用户名\AppData\Local\cursor-updater
把它其中的内容全部删除,在属性里设置Everyone权限为拒绝修改
其他系统应该是类似的,让各位补充吧,我趁着吃饭的间隙来发个帖子,所以没有图文教程了
–过了一个小时–
晚来的人有福了,补一个PowerShell脚本,应该是需要管理员权限的
多行
$folderPath = Join-Path -Path $env:LOCALAPPDATA -ChildPath "cursor-updater"
function Check-Permission {
param ([string]$Path)
$acl = Get-Acl $Path -ErrorAction SilentlyContinue
if ($acl) {
foreach ($rule in $acl.Access) {
if ($rule.IdentityReference -eq "Everyone" -and
$rule.FileSystemRights -eq "Modify" -and
$rule.AccessControlType -eq "Deny") {
return $true
}
}
}
return $false
}
if (Test-Path $folderPath) {
if (Check-Permission -Path $folderPath) {
Write-Host "目标文件夹已设置 Everyone 的'修改'拒绝权限,无需重复设置。" -ForegroundColor Yellow
} else {
Write-Host "目标文件夹未设置权限,将进行设置..." -ForegroundColor Cyan
Remove-Item -Path $folderPath\* -Recurse -Force
$acl = Get-Acl $folderPath
$denyRule = New-Object System.Security.AccessControl.FileSystemAccessRule(
"Everyone",
"Modify",
"ContainerInherit,ObjectInherit",
"None",
"Deny"
)
$acl.SetAccessRule($denyRule)
Set-Acl -Path $folderPath -AclObject $acl
Write-Host "权限设置完成:已拒绝 Everyone 的'修改'权限。" -ForegroundColor Green
}
} else {
Write-Host "目标文件夹不存在,正在创建并设置权限..." -ForegroundColor Cyan
New-Item -ItemType Directory -Path $folderPath | Out-Null
$acl = Get-Acl $folderPath
$denyRule = New-Object System.Security.AccessControl.FileSystemAccessRule(
"Everyone",
"Modify",
"ContainerInherit,ObjectInherit",
"None",
"Deny"
)
$acl.SetAccessRule($denyRule)
Set-Acl -Path $folderPath -AclObject $acl
Write-Host "权限设置完成:已拒绝 Everyone 的'修改'权限。" -ForegroundColor Green
}
一行
$folderPath=Join-Path -Path $env:LOCALAPPDATA -ChildPath "cursor-updater";function Check-Permission{param([string]$Path);$acl=Get-Acl $Path -ErrorAction SilentlyContinue;if($acl){foreach($rule in $acl.Access){if($rule.IdentityReference -eq "Everyone" -and $rule.FileSystemRights -eq "Modify" -and $rule.AccessControlType -eq "Deny"){return $true}}}return $false};if(Test-Path $folderPath){if(Check-Permission -Path $folderPath){Write-Host "目标文件夹已设置 Everyone 的'修改'拒绝权限,无需重复设置。" -ForegroundColor Yellow}else{Write-Host "目标文件夹未设置权限,将进行设置..." -ForegroundColor Cyan;Remove-Item -Path $folderPath\* -Recurse -Force;$acl=Get-Acl $folderPath;$denyRule=New-Object System.Security.AccessControl.FileSystemAccessRule("Everyone","Modify","ContainerInherit,ObjectInherit","None","Deny");$acl.SetAccessRule($denyRule);Set-Acl -Path $folderPath -AclObject $acl;Write-Host "权限设置完成:已拒绝 Everyone 的'修改'权限。" -ForegroundColor Green}}else{Write-Host "目标文件夹不存在,正在创建并设置权限..." -ForegroundColor Cyan;New-Item -ItemType Directory -Path $folderPath|Out-Null;$acl=Get-Acl $folderPath;$denyRule=New-Object System.Security.AccessControl.FileSystemAccessRule("Everyone","Modify","ContainerInherit,ObjectInherit","None","Deny");$acl.SetAccessRule($denyRule);Set-Acl -Path $folderPath -AclObject $acl;Write-Host "权限设置完成:已拒绝 Everyone 的'修改'权限。" -ForegroundColor Green}
过了14天,没人评论补充macOS路径我很失望
我补充一下,大部分人应该是一行用的比较多
若出现权限问题,请使用sudo权限执行
适用于macOS的一行脚本,二选一
1. 设置 i
属性(不可变,与 Windows 版等效)
folderPath="$HOME/Library/Application Support/Caches/cursor-updater"; [[ -d "$folderPath" ]] || mkdir -p "$folderPath" && rm -rf "$folderPath"/* && chflags uchg "$folderPath" && echo "已设置 i 属性:文件夹不可修改、删除。"
2. 设置权限为 0000
(禁止读、写、执行)
folderPath="$HOME/Library/Application Support/Caches/cursor-updater"; [[ -d "$folderPath" ]] || mkdir -p "$folderPath" && rm -rf "$folderPath"/* && chmod 0000 "$folderPath" && echo "已设置权限为 0000:禁止读、写、执行。"
恢复
- 移除
i
属性:sudo chflags nouchg "$folderPath"
- 恢复默认权限(如
755
):sudo chmod 755 "$folderPath"
Linux与macOS应该极为类似,相信使用Linux的用户都能自己搞定,所以不例举了
原理解释一下:一个应用程序要下载文件前要先Open一个目录来保存,cursor-updater是Cursor更新下载文件保存的固定位置,所以在请求下载链接前就拒绝Cursor的修改请求。见原理流程图:
求个赞不过分吧