在 Ubuntu 中,如果你用 deluser(或 userdel)删除了用户,这个操作默认是不可直接“撤销”的,但能否“恢复”取决于你删除时做了什么、以及是否有备份。下面分情况说明。
deluser 常见两种删除方式:
只删用户(保留家目录)
sudo deluser username
用户从 /etc/passwd、/etc/shadow 移除,但 /home/username 可能还在。
连家目录一起删
sudo deluser --remove-home username
或
sudo userdel -r username
家目录、邮件等都会被删。
sudo adduser username
如果 /home/username 还在:
sudo cp -a /home/username /home/username.bak
sudo rm -rf /home/username
sudo mv /home/username.bak /home/username
sudo chown -R username:username /home/username
✅ 这样用户“看起来”就恢复了,文件和配置都在。
从备份恢复:
/etc/passwd/etc/shadow/etc/group/home/username例如:
sudo cp backup/passwd /etc/passwd
sudo cp backup/shadow /etc/shadow
sudo cp -a backup/username /home/username
sudo chown -R username:username /home/username
无法真正“恢复”原用户,只能:
如果你记得原 UID(如 1001):
sudo adduser --uid 1001 username
这样可以保证文件权限一致(尤其是服务器环境)。
如果刚删完,不要写入新文件,可尝试:
extundelete(ext4)testdisk / photorec⚠️ 成功率不高,仅限重要数据。
# 锁定用户而不是删除
sudo usermod -L username
# 或禁用登录
sudo usermod -s /usr/sbin/nologin username
如果你愿意,可以告诉我:
deluser 还是 userdel--remove-home我可以给你更精确的恢复步骤。