Linux创建用户、删除用户、修改密码完整命令

前言

服务器上要加新用户、删旧用户、改密码,这些都是日常操作。本文把常用的用户管理命令都整理出来,新手也能照着做。

创建用户

useradd 命令

最简单的创建用户:

useradd 用户名

比如创建一个叫 zhangsan 的用户:

useradd zhangsan

创建完之后,这个用户还不能登录,因为没设密码。

创建用户并设密码

一行搞定:

useradd zhangsan && passwd zhangsan

执行 passwd zhangsan 之后会提示输入两次密码。

创建用户并指定家目录

默认家目录是 /home/用户名,想改的话用 -d:

useradd -d /data/zhangsan zhangsan

创建用户并指定用户组

useradd -g 用户组 用户名

比如把 zhangsan 加到 www 组:

useradd -g www zhangsan

创建用户并指定 UID

useradd -u 1001 zhangsan

修改密码

passwd 命令

修改某个用户的密码:

passwd 用户名

比如修改 zhangsan 的密码:

passwd zhangsan

执行后会提示输入两次新密码。

自己改密码

passwd

直接执行,会提示输入旧密码,然后输入新密码两次。

免交互改密码(脚本用)

写脚本的时候不能交互式输入,用这个:

echo "新密码" | passwd --stdin 用户名

比如:

echo "123456" | passwd --stdin zhangsan

删除用户

userdel 命令

只删用户,不删家目录:

userdel 用户名

比如:

userdel zhangsan

删除用户并删家目录

加 -r 参数,把家目录也删掉:

userdel -r zhangsan

警告: -r 会把 /home/zhangsan 整个删掉,里面的文件都没了,确认清楚再执行。

查看用户信息

查看用户 UID、GID、组

id 用户名

比如:

id zhangsan

输出类似:

uid=1001(zhangsan) gid=1001(zhangsan) 组=1001(zhangsan)

查看用户信息

grep 用户名 /etc/passwd

查看所有用户

cat /etc/passwd

每行一个用户,格式是:

用户名:x:UID:GID:注释:家目录:登录Shell

常见坑

坑1:创建用户后不能登录

创建了用户但 SSH 登录不了。

原因: 没设密码,或者 Shell 是 /sbin/nologin。

解决:

  1. 先设密码:passwd 用户名
  2. 检查 Shell:grep 用户名 /etc/passwd,最后一列应该是 /bin/bash

如果是 /sbin/nologin,改回来:

usermod -s /bin/bash 用户名

坑2:删了用户但家目录还在

执行了 userdel zhangsan,但 /home/zhangsan 还在。

原因: 没加 -r 参数。

解决: 手动删:

rm -rf /home/zhangsan

坑3:普通用户没权限 sudo

新用户不能用 sudo。

原因: 没加到 sudoers 里。

解决: 加到 wheel 组(CentOS)或者 sudo 组(Ubuntu):

usermod -aG wheel 用户名

坑4:密码过期了

用户突然不能登录了,提示密码过期。

解决: root 改密码:

passwd 用户名

或者设置密码永不过期:

chage -M 99999 用户名

总结

操作 命令
创建用户 useradd 用户名
设密码 passwd 用户名
删除用户 userdel 用户名
删除用户+家目录 userdel -r 用户名
查看用户信息 id 用户名
加 sudo 权限 usermod -aG wheel 用户名

日常运维就这几个命令,够用了。

遇到问题加QQ23979811 协助处理


emer 发布于  2026-10-6 07:44