我在运行 XEN 虚拟化的 vps 上运行 FreeBSD 9.1-PRERELEASE,我尝试将其更新到 9.1-RELEASE,但是 mergemaster 把我的搞砸了/etc/master.passwd
,/etc/passwd
所以我现在拥有的是两个文件的空白副本。
我所做的是使用已安装的 Live CD 并将我的根分区安装到/mnt
并手动重新列出往返于另一台 freebsd 服务器的每个条目/mnt/etc/master.passwd
。/mnt/etc/passwd
我相信每次编辑时master.passwd
都passwd
必须运行,pwd_mkdb
但这会给我带来"Read Only File"
错误。
我计划先启用 PermitRootLogin 和 PermitEmptyPassword,这样我就可以先以 root 身份登录,然后再重新进行必要的更改。但我必须运行pwd_mkdb
,那么有没有办法从 Live CD 运行此命令?
答案1
好的,我想我现在明白了,安装后/dev/ada0p2
我/mnt
做了一个chroot /mnt
,然后我运行/usr/sbin/pwd_mkdb -p /etc/master.passwd
然后重新启动服务器,然后我可以使用我手动输入的用户再次登录