Proxmox VE 的各种说明里都是让进单用户模式去改密码,之前试过几个古老版本,live usb载入 + chroot + passwd 改出来的root密码都无效,不知道原因。
现在换另外一个方案,增加 ssh authorized_keys。
在 pve里,authorized_keys 使用的是symbolic link,链接到了 /etc/pve/priv/authorized_keys
# ls -al root/.ssh/
total 24
drwxr-xr-x 2 root root 4096 Mar 24 2021 .
drwx------ 3 root root 4096 Dec 11 2020 ..
lrwxrwxrwx 1 root root 29 Dec 11 2020 authorized_keys -> /etc/pve/priv/authorized_keys
根据 PVE 的wiki (https://pve.proxmox.com/wiki/Proxmox_Cluster_File_System_(pmxcfs)#_recovery) ,/etc/pve
使用的是他家的 pmxcfs
文件系统,数据实际存储在 /
。
var/lib/pve-cluster/config.db
file
一下,可以看出是 sqlite3,打开,只有一张表 tree,定义如下:
CREATE TABLE tree ( inode INTEGER PRIMARY KEY NOT NULL, parent INTEGER NOT NULL CHECK(typeof(parent)=='integer'), version INTEGER NOT NULL CHECK(typeof(version)=='integer'), writer INTEGER NOT NULL CHECK(typeof(writer)=='integer'), mtime INTEGER NOT NULL CHECK(typeof(mtime)=='integer'), type INTEGER NOT NULL CHECK(typeof(type)=='integer'), name TEXT NOT NULL, data BLOB);
特别简单。
改数据就直接 update 表。