当前位置: 首页
系统平台
Linux系统创建新普通用户的详细操作教程

Linux系统创建新普通用户的详细操作教程

热心网友 时间:2026-08-05
转载

Linux中创建普通用户需注意:useradd命令必须加-m参数创建家目录并指定-s bin bash;新用户默认无sudo权限,需手动加入sudo或wheel组;创建后必须用passwd设置密码,否则无法登录。adduser脚本可自动完成上述操作,但仅适用于Debian Ubuntu系统。

在 Linux 系统中创建普通用户,听起来很简单,但实际操作中容易踩坑。虽然使用 useradd -madduser 命令可以快速完成,可一旦遗漏 -m 参数、忘记设置密码、或未添加组权限,用户很可能无法登录,甚至无法执行基本的管理命令。下面将这几个关键步骤逐一拆解,帮助新手避免常见错误。

如何在Linux中创建新的普通用户

useradd 创建用户必须带 -m 参数

很多新手直接运行 sudo useradd username,结果切换过去发现是个空壳环境,甚至执行 su - username 时直接报错 “No directory, logging in with HOME=/”。问题在于默认情况下不会创建家目录(/home/username),而且 shell 可能被设置为 /bin/sh/sbin/nologin,导致无法进行交互操作。

正确的命令写法是:

sudo useradd -m -s /bin/bash username

其中 -m 强制创建家目录,-s /bin/bash 显式指定可交互的 shell。一些精简系统(如 Alpine、某些容器镜像)连 -m 都不默认启用,必须手动添加该参数。

  • 不加 -m:家目录不存在,su - 失败,图形登录被拒绝,~ 路径解析为 /
  • 不指定 -s:可能继承系统默认 shell(如 /bin/sh),缺少历史记录、命令补全等交互功能
  • UID/GID 一般无需手动设置,系统会自动分配;除非有集群 UID 对齐等特殊需求

adduser 更适合新手,但只在 Debian/Ubuntu 系统预装

adduser 是一个 Perl 脚本封装,它会自动调用 useradd 并复制 /etc/skel/ 下的配置文件(如 .bashrc)、设置好权限、引导输入密码——全程交互提示,容错率较高。

执行命令:

sudo adduser username

它会依次询问密码、全名、房间号等信息,除密码外均可回车跳过。完成后家目录已就绪,直接执行 su - username 即可进入。

  • CentOS/RHEL/Fedora 默认不带 adduser,即使安装了也只是一个符号链接指向 useradd,不具备交互功能
  • 如果在 Ubuntu 上使用 useradd 但忘了加 -m,后续补充 mkdir /home/username && cp -r /etc/skel/. /home/username 很容易遗漏权限修复
  • adduser 不支持批量或脚本化操作,适合单次、人工创建用户

新用户没 sudo 权限?得手动加进 sudowheel

刚创建的用户默认没有任何管理员权限。运行 sudo ls 会提示 “username is not in the sudoers file”。这不是密码错误,而是该用户尚未被授权。

根据发行版选择对应命令:

  • Debian/Ubuntu:sudo usermod -aG sudo username
  • CentOS/RHEL/Fedora:sudo usermod -aG wheel username

注意 -aG 中的 -a(append)不可省略——漏掉它就会覆盖原有组,用户可能被踢出 users 或其他必要组。

验证是否生效:执行 groups username,输出中应包含 sudowheel;切换用户后运行 sudo -l 可查看允许执行的命令列表。

密码设置和验证环节最容易被跳过

通过 useradd 创建的用户,其密码字段在 /etc/shadow 中显示为 *!,代表“锁定”或“无密码”,根本无法登录。必须显式执行:

sudo passwd username

输入两次密码即可完成设置。此时密码哈希才会写入 /etc/shadow

  • adduser 会在创建流程中自动引导设置密码,因此这一步不会遗漏
  • 如果使用 sudo passwd -d username 清空密码,该账户将无法通过密码登录(除非配置了 SSH 密钥)
  • 验证登录最简单的方式:执行 su - username → 输入密码 → 成功进入即表示正常;运行 whoami 应返回对应的用户名

真正棘手的是那些“看起来创建成功但无法登录”的情况——多数问题出在缺少 -m、未执行 passwd、或 shell 被设置为 /sbin/nologin 上。不必急于重装系统,先查看 getent passwd usernamesudo cat /etc/shadow | grep username 这两行输出,问题往往一目了然。

来源:https://www.php.cn/faq/2938150.html

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
Win10应用商店提示我们这边出了点问题解决方法

Win10应用商店提示我们这边出了点问题解决方法

当Win10应用商店提示“我们这边出了点问题”时,可通过三步修复:第一步运行wsreset exe清除应用商店缓存,第二步在设置中重置MicrosoftStore应用,第三步以管理员身份打开PowerShell执行命令重新注册商店组件。按顺序操作,通常能解决该问题。

时间:2026-08-05 18:52
CentOS从零开始安装最新版Docker的完整详细操作教程

CentOS从零开始安装最新版Docker的完整详细操作教程

在CentOS上安装最新版DockerCE,需要先确认系统版本(推荐使用CentOSStream9 10),然后使用dnf添加阿里云源以加速下载,列出可用版本后指定安装(如docker-ce-25 0 0),同时安装containerd io,并配置daemon json设置国内镜像源,从而有效避免默认仓库版本滞后或安装失败,确保成功。

时间:2026-08-05 18:52
Linux操作系统中查看CPU主频实时动态的详细方法

Linux操作系统中查看CPU主频实时动态的详细方法

Linux查看CPU实时主频应使用 sys scaling_cur_freq,该接口直接输出每核当前频率(kHz),轻量无延迟且无需root。而 proc cpuinfo的cpuMHz存在缓存延迟,无法捕捉毫秒级跳变,不适用于实时监控。

时间:2026-08-05 18:52
Linux系统创建新普通用户的详细操作教程

Linux系统创建新普通用户的详细操作教程

Linux中创建普通用户需注意:useradd命令必须加-m参数创建家目录并指定-s bin bash;新用户默认无sudo权限,需手动加入sudo或wheel组;创建后必须用passwd设置密码,否则无法登录。adduser脚本可自动完成上述操作,但仅适用于Debian Ubuntu系统。

时间:2026-08-05 18:51
CentOS 7系统修改DNS地址的完整操作步骤与注意事项

CentOS 7系统修改DNS地址的完整操作步骤与注意事项

CentOS7中要持久修改DNS,需要编辑网卡配置文件ifcfg,添加DNS1和DNS2后重启network服务。若NetworkManager已启用,则需在配置文件中设置dns=none,以防止其自动覆盖。注意:直接修改 etc resolv conf仅临时生效,重启服务后会被还原。采用此方法可确保DNS配置永久生效。

时间:2026-08-05 18:51
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 热门数据榜