手动补全由于useradd 新增用户导致的丢失Home家目录

Krent
2026-04-11 / 0 评论 / 16 阅读 / 正在检测是否收录...

mntinnwd.png

这是 Linux 中一个非常经典的“坑”:useradd 和 adduser 是两个不同的命令。

useradd (低级命令):

它是系统的原始二进制命令。
默认不会创建家目录(除非你加上 -m 参数)。
默认不会设置密码(需要手动执行 passwd)。
默认 Shell 是 /bin/sh(那个连颜色和补全都没有的简陋 Shell)。
它主要用于脚本自动化创建系统账号。

adduser (高级交互式脚本):

它是 Ubuntu/Debian 推荐的友好工具(其实是 useradd 的前端封装)。
执行后会自动创建 /home/用户名。
会交互式引导你设置密码、填姓名。
会自动把默认 Shell 设为好用的 /bin/bash


那如果我们现在已经使用useradd 新增用户导致没有家目录,下面方法解决:

  1. 手动创建目录:
sudo mkdir -p /home/你的用户名
  1. 复制基础配置文件(这一步很重要,决定了用户的初始环境):
sudo cp -r /etc/skel/. /home/你的用户名/
  1. 修正权限(现在目录属于 root,必须改成属于你的用户):
sudo chown -R 你的用户名:你的用户名 /home/你的用户名
  1. 指定用户的登录 Shell(确保能正常进入 bash):
sudo usermod -s /bin/bash 你的用户名

验证修复:

sudo ls -la /home/你的用户名
# 列出文件,如果你能看到 .bashrc 等隐藏文件,说明补全成功。
0

评论 (0)

取消