linux中如何创建一个用户:两种实用创建方式
linux中如何创建一个用户,主流可通过useradd、adduser两条命令实现,普通新建普通用户优先用useradd命令,仅需一条基础指令即可完成用户创建,搭配参数可同步设置用户家目录、登录shell、所属用户组,适配CentOS、Ubuntu等绝大多数主流Linux发行版,adduser仅在Debian、Ubuntu系统中适配性更好,自动化配置更多参数,不同命令的参数搭配错误会导致用户无法登录系统、无专属工作目录等问题。
linux创建用户基础命令操作
你在Linux系统中创建用户必须拥有root超级管理员权限,普通权限账号无法执行用户创建操作,临时获取权限可在指令前添加sudo前缀。最基础的创建指令为useradd用户名,执行该指令后系统会自动在/etc/passwd用户配置文件、/etc/shadow密码配置文件中写入用户信息,完成用户基础注册,但默认不会生成用户家目录,也未设置登录密码,用户无法直接登录系统。
创建可直接登录的完整用户,需使用带参数的组合指令useradd-m-s/bin/bash用户名,其中-m参数会自动在/home目录下生成与用户名同名的家目录,-s参数用于指定用户默认登录bashshell,这是日常运维中使用频率最高的创建方式,适配个人服务器、测试主机的普通用户创建场景。
用户创建完成后必须设置登录密码,执行passwd用户名指令,按照系统提示两次输入自定义密码即可,密码输入过程中屏幕不会显示字符,属于系统正常加密机制。未设置密码的用户会处于锁定状态,无法通过SSH、终端等方式登录系统。
两类创建用户命令对比
| 命令 | 适配系统 | 自动化配置 | 使用难度 |
|---|---|---|---|
| useradd | CentOS、RockyLinux、Ubuntu | 较低,需手动加参数配置目录、shell | 中等,可控性强 |
| adduser | Debian、Ubuntu为主 | 较高,自动生成家目录、密码配置 | 简单,无需记忆参数 |
linux创建用户进阶参数配置
你可根据运维需求自定义用户属性,添加-g参数可指定用户初始所属主用户组,指令格式为useradd-m-s/bin/bash-g组名用户名,适合需要批量划分用户权限、分组管理服务器人员的场景。添加-u参数可手动指定用户UID,避免系统自动分配UID出现冲突,适配多用户、多业务的服务器环境。
创建系统服务用户可使用useradd-s/sbin/nologin用户名,该指令创建的用户无法交互式登录系统,仅用于运行网站、数据库、程序进程等后台服务,能有效降低服务器被非法登录的风险,是Linux服务部署的标准操作方式。
禁止随意使用useradd不加参数的最简指令创建日常登录用户,该操作仅生成用户账号标识,缺失家目录、登录shell等核心配置,会出现账号存在但无法登录、无法保存用户配置文件的问题,属于高频操作失误。
该用户创建方法的适用边界是仅适配Linux内核的开源操作系统,不适用于Windows、macOS系统,同时嵌入式精简版Linux系统可能删减useradd命令,需通过系统自带的用户管理工具完成创建操作。
你可执行id用户名指令校验用户是否创建成功,终端输出用户UID、GID、所属群组信息,即代表创建流程完全生效,无输出则说明用户创建失败或账号不存在。
