情况:重装系统,为了不动 /home 所以没有在那时挂载.现在有当前用户在
/
所在磁盘。我要让我之前的 /home 的用户继续可用
本文是记录踩坑过程,更适合学习、不适合照做
修改 fstab
- 找个 LiveCD 进入 Rescue 环境,修改原先系统的
/etc/fstab
(一般挂在 /media 下)
先用lsblk
和blkid
查一下 UUID
UUID=<UUID> /home ext4 defaults \ 0 2
启用老用户
- 重启并切换 tty 的 CLI,登录时如果小键盘锁了会提醒
换成英文输出
export LANG=en_US.utf8
export LANGUAGE=en_US
- 看挂载情况 (一般挂在 /dev 下) 查之前系统的老用户 UID
cat <path/to/mounted/backup>/etc/passwd | grep '<old_username>'
更新老用户到新 /home
路径
sudo adduser -d <path/to/home_directory> -u <UID> -M <username>
其它配置
sudo passwd <username>
sudo chown <username>:<username> <path/to/home_directory>
sudo usermod -aG <groupname> <username>
补充
- 如果想改用新用户
sudo usermod -l <new_username> <username>
sudo usermod -d /home/<new_username> -m <new_username>
sudo groupmod -n <new_groupname> <groupname>
- 如果 UID 冲突
查看冲突
/etc/passwd | grep '<UID>'
解决冲突
exit
whoami
sudo usermod -u <new_UID> <current_existing_username>
- 如果没有其它用户来解决冲突
sudo useradd -m <temporary_user>
sudo passwd <temporary_user>
sudo echo '<temporary_user> ALL=(ALL:ALL ALL)’ >> /etc/sudoers
su - <temporary_user>
操作后删除临时用户
sudo userdel -r <temporary_user>