Panchant's Blog!

Home
Blog
  • Archive
  • Cats.
  • Tags
Mine
  • Friends
About
Search
0

Linux 服务器用户账号创建与密码管理

Published on 9/23/2026
Updated on 9/23/2026
教程
Estimated reading 7.255 minutes
3031 words

Linux 服务器用户账号创建与密码管理

在 Linux 服务器上拥有 sudo 管理权限时,经常需要为其他使用者创建独立账号、配置密码或 SSH 登录,以及管理用户权限。

适用范围: 本文记录常用操作,主要适用于 Ubuntu / Debian。不同发行版的用户组名称和管理命令可能略有差异。

1. 创建用户

假设需要创建用户 alice:

bash
sudo adduser alice
sudo adduser alice

按照提示设置用户密码等信息。创建完成后,可以检查用户信息:

bash
id alice
id alice

也可以查询 /etc/passwd:

bash
getent passwd alice
getent passwd alice

示例输出:

text
alice:x:1001:1001:Alice,,,:/home/alice:/bin/bash
alice:x:1001:1001:Alice,,,:/home/alice:/bin/bash

其中可以看到 UID、GID、Home 目录以及默认 Shell 等信息。

2. 修改或重置用户密码

管理员不需要知道用户原来的密码,可以直接重置:

bash
sudo passwd alice
sudo passwd alice

系统会要求输入两次新密码:

text
New password:
Retype new password:
passwd: password updated successfully
New password:
Retype new password:
passwd: password updated successfully

这也是新创建账号后设置登录密码最常用的方法。

3. 查看用户密码状态

Linux 不提供查看用户明文密码的功能,但可以查看用户当前的密码状态:

bash
sudo passwd -S alice
sudo passwd -S alice

示例输出:

text
alice P 2026-09-23 0 99999 7 -1
alice P 2026-09-23 0 99999 7 -1

常见状态包括:

  • P:已经设置有效密码
  • L:密码被锁定
  • NP:没有设置密码

注意: 这里只能查看密码状态,不能查看用户实际使用的密码。

4. 查看密码过期策略

使用以下命令:

bash
sudo chage -l alice
sudo chage -l alice

可以查看:

text
Last password change
Password expires
Password inactive
Account expires
Minimum number of days between password change
Maximum number of days between password change
Last password change
Password expires
Password inactive
Account expires
Minimum number of days between password change
Maximum number of days between password change

5. 设置临时密码,并要求首次登录修改

如果是给其他人创建账号,比较合理的做法是管理员先设置一个临时密码:

bash
sudo passwd alice
sudo passwd alice

然后强制用户在下次登录时修改密码:

bash
sudo chage -d 0 alice
sudo chage -d 0 alice

可以再次检查密码策略:

bash
sudo chage -l alice
sudo chage -l alice

6. Linux 密码保存在哪里?

Linux 用户信息主要涉及以下两个文件:

text
/etc/passwd
/etc/shadow
/etc/passwd
/etc/shadow

/etc/passwd

/etc/passwd 保存账号的基本信息,可以通过以下命令查询:

bash
getent passwd alice
getent passwd alice

/etc/shadow

真正与密码认证相关的数据通常保存在 /etc/shadow,需要 root 权限才能读取:

bash
sudo grep '^alice:' /etc/shadow
sudo grep '^alice:' /etc/shadow

示例输出:

text
alice:$y$j9T$......:20720:0:99999:7:::
alice:$y$j9T$......:20720:0:99999:7:::

这里保存的是密码的哈希值,而不是明文密码。因此,即使拥有 sudo 权限,也不存在类似下面这样的命令来查看用户当前的明文密码:

text
show password alice
show password alice

管理员忘记用户密码时,正确做法是重置密码,而不是尝试获取原密码:

bash
sudo passwd alice
sudo passwd alice

7. 配置 SSH 公钥登录

服务器账号更推荐使用 SSH Key 登录。

首先创建 .ssh 目录:

bash
sudo mkdir -p /home/alice/.ssh
sudo mkdir -p /home/alice/.ssh

然后创建 authorized_keys 文件:

bash
sudo nano /home/alice/.ssh/authorized_keys
sudo nano /home/alice/.ssh/authorized_keys

把用户提供的公钥加入文件,例如:

text
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... alice@example
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... alice@example

设置正确的所有者和权限:

bash
sudo chown -R alice:alice /home/alice/.ssh
sudo chmod 700 /home/alice/.ssh
sudo chmod 600 /home/alice/.ssh/authorized_keys
sudo chown -R alice:alice /home/alice/.ssh
sudo chmod 700 /home/alice/.ssh
sudo chmod 600 /home/alice/.ssh/authorized_keys

用户随后可以通过以下命令登录服务器:

bash
ssh alice@服务器IP
ssh alice@服务器IP

安全提示: 用户应该提供的是 .pub 公钥。不要让对方把 SSH 私钥发送给管理员。

8. 给用户 sudo 权限

普通用户默认不应该拥有管理员权限。如果确实需要让 alice 获得 sudo 权限,在 Ubuntu / Debian 中可以执行:

bash
sudo usermod -aG sudo alice
sudo usermod -aG sudo alice

检查用户所属组:

bash
groups alice
groups alice

添加权限后,通常需要让该用户重新登录,才能使新的组成员身份完全生效。

建议: 如果用户只需要执行少数几个管理员命令,更推荐通过 /etc/sudoers.d/ 精确授权,而不是直接赋予完整 sudo 权限。修改 sudoers 配置时应使用 visudo 检查语法。

9. 锁定与解锁用户密码

临时禁止某个用户通过密码进行认证:

bash
sudo passwd -l alice
sudo passwd -l alice

重新解锁:

bash
sudo passwd -u alice
sudo passwd -u alice

查看状态:

bash
sudo passwd -S alice
sudo passwd -S alice

注意: 锁定密码并不一定等同于彻底禁止该账号通过所有方式登录。例如,服务器允许 SSH 公钥认证时,还需要结合 SSH 和账号配置判断用户是否仍能登录。

10. 删除用户

如果账号不再需要,可以删除:

bash
sudo deluser alice
sudo deluser alice

如果同时需要删除用户的 Home 目录:

bash
sudo deluser --remove-home alice
sudo deluser --remove-home alice

谨慎操作: 删除前建议先确认该用户是否仍有需要保留的数据和正在运行的服务。

常用命令速查

操作命令
创建用户sudo adduser alice
查看用户id alice
查询用户信息getent passwd alice
设置或重置密码sudo passwd alice
查看密码状态sudo passwd -S alice
查看密码过期策略sudo chage -l alice
强制下次登录修改密码sudo chage -d 0 alice
锁定密码sudo passwd -l alice
解锁密码sudo passwd -u alice
Ubuntu / Debian 添加 sudo 权限sudo usermod -aG sudo alice
RHEL / Rocky / AlmaLinux 添加管理员权限sudo usermod -aG wheel alice
查看用户所属组groups alice
删除用户sudo deluser alice
删除用户及 Home 目录sudo deluser --remove-home alice

推荐的账号创建流程

对于多人共用的服务器,建议不要共享一个 Linux 账号,而是坚持“一人一账号”。

一个比较规范的流程是:

  1. 创建独立账号。
  2. 配置 SSH 公钥。
  3. 测试用户能否正常登录。
  4. 根据实际需要授予 sudo 权限。
  5. 设置合理的密码和账号策略。

如果服务器主要通过 SSH 使用,应优先考虑公钥认证,并在确认密钥登录工作正常之后,再决定是否关闭 SSH 密码认证。

这样既方便权限管理,也方便以后追踪操作、撤销权限,以及删除离职或不再使用的账号。

Related Post
Comments
author-avatar
Panchant
A student, and a runner.
34
Arts.
12
Cats.
61
Tags
Customed
This is the custom content section
Anything can be placed here
TOC
  1. Linux 服务器用户账号创建与密码管理
  2. 1. 创建用户
  3. 2. 修改或重置用户密码
  4. 3. 查看用户密码状态
  5. 4. 查看密码过期策略
  6. 5. 设置临时密码,并要求首次登录修改
  7. 6. Linux 密码保存在哪里?
  8. /etc/passwd
  9. /etc/shadow
  10. 7. 配置 SSH 公钥登录
  11. 8. 给用户 sudo 权限
  12. 9. 锁定与解锁用户密码
  13. 10. 删除用户
  14. 常用命令速查
  15. 推荐的账号创建流程
© 2025-2026 By Panchant
由 Astro v2.8.3 构建 | 主题 HsuBlog
Build with by Panchant
Search
Extended SearchHelloWorld
You can use a unix-like format: Extended Search