Linux 用户管理
# Linux 用户管理
在 Linux 系统中,用户管理是系统安全和资源分配的核心部分。本章将详细介绍 Linux 用户管理的相关概念和操作,包括用户与用户组的基本概念、用户的添加与删除、用户组的管理、权限控制以及账号安全管理等内容。
# 1. 用户与用户组概念
Linux 是一个多用户、多任务的操作系统,每个用户都有自己的权限和资源范围。为了更好地管理用户,Linux 采用了**用户组(User Group)**的概念。
- 用户(User):系统中的一个独立身份,每个用户都有唯一的用户 ID(UID)。
- 用户组(Group):一组用户的集合,用户组的存在有助于管理多个用户的访问权限,用户组由唯一的组 ID(GID)标识。
# 用户相关文件
/etc/passwd
:存储用户基本信息,如用户名、UID、GID、主目录、登录 Shell 等。/etc/shadow
:存储用户密码的加密信息及密码策略,如密码有效期、过期时间等。/etc/group
:存储用户组信息,如组名、GID、组内用户列表。
# 2. 添加、删除、修改用户
# (1)添加用户
使用 useradd
命令创建新用户:
useradd [选项] 用户名
1
常用选项:
-u UID
:指定用户 ID。-g GID
:指定主组 ID。-G 组名
:指定附加组。-d /home/目录
:指定用户主目录。-s /bin/bash
:指定默认 shell。
示例:
useradd -u 1001 -g users -G sudo -d /home/alice -s /bin/bash alice
passwd alice # 设置用户密码
1
2
2
# (2)修改用户
使用 usermod
命令更改用户属性:
usermod [选项] 用户名
1
常用选项:
-l 新用户名
:修改用户名。-u 新UID
:修改用户 ID。-g 新GID
:修改主组。-G 新附加组
:修改附加组。-d 新目录 -m
:修改主目录并移动数据。-s 新shell
:修改默认 shell。
示例:
usermod -l alice_new alice # 修改用户名
usermod -G docker alice_new # 添加用户到 docker 组
1
2
2
# (3)删除用户
使用 userdel
命令删除用户:
userdel [选项] 用户名
1
常用选项:
-r
:删除用户同时删除其主目录。
示例:
userdel -r alice_new # 删除用户并清理其主目录
1
# 3. 用户组与权限管理
# (1)添加和删除用户组
使用 groupadd
命令创建用户组:
groupadd 组名
1
示例:
groupadd developers
1
使用 groupdel
命令删除用户组:
groupdel 组名
1
示例:
groupdel developers
1
# (2)管理用户组
gpasswd
1命令可用于管理组的管理员和组成员:
gpasswd -a 用户名 组名 # 将用户添加到组 gpasswd -d 用户名 组名 # 从组中删除用户
1
2
示例:
gpasswd -a alice developers
gpasswd -d alice developers
1
2
2
# (3)权限管理
Linux 文件权限由**所有者(Owner)、用户组(Group)、其他用户(Others)**组成,使用 chmod
、chown
和 chgrp
进行管理:
chmod 750 文件名 # 修改权限
chown 用户名:组名 文件名 # 修改文件所有者和所属组
chgrp 组名 文件名 # 修改文件所属组
1
2
3
2
3
示例:
chmod 755 script.sh # 使脚本可执行
chown root:admin config.conf # 赋予 root 账户和 admin 组权限
1
2
2
# 4. 限制用户权限
# (1)chroot 机制
chroot
命令可用于创建一个虚拟的根目录,限制用户访问系统的其他部分。
chroot /home/jail /bin/bash
1
常用于创建受限环境,如 SFTP 访问。
# (2)sudo 权限管理
/etc/sudoers
文件用于管理用户的 sudo
权限:
visudo
1
示例:
alice ALL=(ALL) NOPASSWD: /bin/systemctl restart nginx
1
允许用户 alice
在无需输入密码的情况下重启 nginx
。
# 5. 账号安全管理
# (1)密码策略
passwd
命令用于修改密码:
passwd 用户名
1
/etc/login.defs
及 /etc/security/pwquality.conf
控制密码策略,如密码复杂度、最短长度等。
# (2)账户锁定与解锁
锁定账户:
usermod -L 用户名 # 锁定用户
1解锁账户:
usermod -U 用户名 # 解锁用户
1
# (3)限制登录
/etc/nologin
1文件可用于临时禁止普通用户登录:
echo "系统维护中,请稍后登录。" > /etc/nologin
1/etc/securetty
1允许 root 账户在哪些终端登录:
echo "tty1" >> /etc/securetty
1
# (4)控制用户登录时间
/etc/security/time.conf
可配置用户访问时段:
login ; tty* ; alice ; !Wk0800-1800
1
表示 alice
用户在工作日 08:00-18:00 之外无法登录。
编辑 (opens new window)
上次更新: 2025/04/01, 01:48:12