一条 chown 命令,甲骨文vps直接被锁死

上周搞了一次事故,原因蠢到我不想承认。
环境是甲骨文云的一台vps,CentOS 7.9,SSH Key 登录,默认用户 opc。算是很常见的配置。
当时在/home目录下,想改一个目录的归属,顺手敲了:

chown axon:axon opc

执行完,SSH 断了。再连,Permission denied (publickey)。

4 个赞

这是ai写的吗 :distorted_face:

4 个赞

羡慕有甲骨文,每次申请都是abc -600s

abc是什么意思?佬

:rofl:知错能改

就是账号注册没通过:rofl:

看佬们经常发abc,现在知道了,谢谢佬

这重新初始化下呢

那数据木有了

最近放水了挺好申请的

是ssh不上去了,不是被封

我知道,我回的abc的佬友 :tieba_003:

这个时候你的vps上要是有个龙虾什么的你就能让他帮你恢复了 :tieba_025:

1 个赞

.ssh需要600来着:sob:

没装探针嘛?哪吒的探针可以执行shell

没装这个

vnc也没有吗?(来自某日常abc人士

进cloudshell恢复不就行了 我的博客

那也得能sudo到root呀,opc用户没改过密码,其它用户没有sudo权限

我刚搞了个每天存snapshot的脚本,还在调试(昨天的刚报了次错)

看好不好使

#!/bin/bash

# 配置
BOOT_VOLUME_ID="ocid1.bootvolume.oc1.xxxx"
COMPARTMENT_ID="ocid1.tenancy.oc1.xxxx"
RETENTION_DAYS=7
export SUPPRESS_LABEL_WARNING=True


echo "=== Creating backup ==="

oci bv boot-volume-backup create \
  --boot-volume-id $BOOT_VOLUME_ID \
  --display-name "auto-backup-$(date +%Y-%m-%d)" \
  --wait-for-state AVAILABLE

echo "=== Cleaning old backups ==="
echo "Listing backups..."

# 获取该 boot volume 的所有 backups
ALL_BACKUPS=$(oci bv boot-volume-backup list \
  --compartment-id $COMPARTMENT_ID \
  --query "data[?\"boot-volume-id\"=='$BOOT_VOLUME_ID']" \
  --raw-output)

# 找最早的 backup(原始备份)
FIRST_BACKUP=$(oci bv boot-volume-backup list \
  --compartment-id $COMPARTMENT_ID \
  --query "data[?\"boot-volume-id\"=='$BOOT_VOLUME_ID'] | sort_by(@, &\"time-created\")[0].id" \
  --raw-output)

echo "Keep original backup: $FIRST_BACKUP"

# 找旧备份(超过保留天数)
OLD_BACKUPS=$(oci bv boot-volume-backup list \
  --compartment-id $COMPARTMENT_ID \
  --query "data[?\"boot-volume-id\"=='$BOOT_VOLUME_ID' && \"time-created\" < '$(date -d "$RETENTION_DAYS days ago" --iso-8601=seconds)'].id" \
  --raw-output)

# 如果没有旧备份
if [ -z "$OLD_BACKUPS" ]; then
  echo "No old backups to delete"
  exit 0
fi

# 删除旧备份(跳过最早的)
for BACKUP_ID in $(echo "$OLD_BACKUPS" | tr -d '[]",' )
do
  if [ -n "$BACKUP_ID" ] && [ "$BACKUP_ID" != "$FIRST_BACKUP" ]; then
    echo "Deleting $BACKUP_ID"
    oci bv boot-volume-backup delete \
      --boot-volume-backup-id $BACKUP_ID \
      --force
  fi
done




echo "=== Done ==="