需启用确认提示以防止误操作:Timeshift图形界面勾选“Show confirmation dialog before creating snapshot”;kybackup需封装带read确认的Shell脚本或修改systemd timer添加日志审计;同时停用可疑定时任务、锁定timeshift.json配置、清除残留cron条目。

您需要在麒麟操作系统中启用系统还原点创建前的确认提示,避免误操作导致快照被静默生成或覆盖关键状态,该功能依赖Timeshift或kybackup的交互式配置机制。
通过Timeshift图形界面启用创建提示
此方法适用于桌面环境正常运行、希望每次点击“Create”时都弹出确认框的用户。
1、打开Timeshift:点击“开始菜单”→搜索“Timeshift”→回车启动。
2、首次运行需点击右上角“Unlock”,输入管理员密码授权。
3、进入Settings → 勾选“Show confirmation dialog before creating snapshot”选项。
4、关闭设置窗口,下次点击“Create”按钮时,将强制弹出带时间戳预览和备注输入框的确认对话框,不点“OK”无法执行快照。
配置kybackup命令行创建前提示
kybackup默认不提供交互确认,必须手动注入验证逻辑才能实现“提示”效果。
方法一:封装带read确认的Shell脚本
用文本编辑器新建文件~/bin/kybackup-safe,写入以下内容:
#!/bin/bash
echo "即将执行kybackup --create -c '手动触发_$(date +%Y%m%d_%H%M)'";
read -p "确认创建?(y/N): " -n 1 -r;
echo;
if [[ $REPLY =~ ^[yY]$ ]]; then sudo kybackup --create -c "手动触发_$(date +%Y%m%d_%H%M)"; else echo "已取消"; exit 1; fi
执行chmod +x ~/bin/kybackup-safe后,今后只需运行kybackup-safe即可获得提示。
方法二:修改systemd timer触发逻辑(仅限自动快照)
编辑/etc/systemd/system/kybackup-daily.timer.d/override.conf,添加:
[Timer]
OnCalendar=【!02:00:00】
RandomizedDelaySec=60
再新建/etc/systemd/system/kybackup-daily.service.d/override.conf,写入:
[Service]
Type=oneshot
ExecStart=/bin/sh -c 'logger "kybackup auto-run triggered at $(date)"; /usr/bin/kybackup --create -c "auto_$(date +%%Y%%m%%d)"'
执行sudo systemctl daemon-reload && sudo systemctl restart kybackup-daily.timer后,日志将记录每次触发,但不会弹窗——这是唯一可审计的“软提示”方式。
禁用静默快照并强制人工介入
若系统中存在其他工具(如某些OEM预装脚本)会绕过GUI自动调用timeshift --create,必须切断其静默通道。
第一步:定位并停用可疑定时任务
运行sudo systemctl list-timers --all | grep -i timeshift,查看是否有timeshift-create.timer等服务处于active状态;若有,执行sudo systemctl stop timeshift-create.timer && sudo systemctl disable timeshift-create.timer。
第二步:锁定Timeshift配置防止后台调用
执行sudo chmod 444 /etc/timeshift.json,这一步将使任何非root进程无法修改配置,也阻止timeshift-daemon自动读取并执行计划任务。
第三步:检查并清除残留的cron条目
分别运行crontab -l(当前用户)和sudo crontab -l(系统级),查找含timeshift或--create字样的行;发现即用crontab -e或sudo crontab -e删除对应行。

















