← 返回首页
👥

Linux用户与组管理

📂 devops ⏱ 1 min 150 words

Linux用户与组管理

用户和组的概念

Linux是一个多用户操作系统,通过用户和组来管理系统资源的访问权限。

用户管理命令

添加用户

# 添加用户
useradd username

# 添加用户并指定选项
useradd -m -s /bin/bash -G wheel username
# -m: 创建主目录
# -s: 指定shell
# -G: 指定附加组

# 设置用户密码
passwd username

修改用户

# 修改用户信息
usermod -l newname oldname     # 修改用户名
usermod -d /new/home username  # 修改主目录
usermod -s /bin/zsh username   # 修改默认shell
usermod -aG groupname username # 添加到附加组(-a表示追加)

# 锁定和解锁用户
usermod -L username    # 锁定用户
usermod -U username    # 解锁用户

删除用户

# 删除用户
userdel username       # 删除用户(保留主目录)
userdel -r username    # 删除用户及其主目录

组管理命令

创建和删除组

# 创建组
groupadd groupname

# 删除组
groupdel groupname

# 修改组
groupmod -n newname oldname  # 重命名组

管理组成员

# 将用户添加到组
gpasswd -a username groupname

# 将用户从组移除
gpasswd -d username groupname

# 查看组成员
getent group groupname

配置文件详解

/etc/passwd

每行格式:用户名:密码占位符:UID:GID:描述:主目录:默认shell

/etc/shadow

存储用户密码的加密信息,仅root可读。

/etc/group

每行格式:组名:密码:GID:成员列表

实践:批量创建用户

#!/bin/bash
# 批量创建用户脚本
for user in {user01..user10}; do
    useradd -m -s /bin/bash $user
    echo "$user:password123" | chpasswd
    echo "User $user created"
done

查看用户信息

whoami          # 当前用户名
id username     # 用户UID、GID和组信息
groups username # 用户所属的所有组
last            # 最近登录记录
w               # 当前登录用户

总结

用户和组管理是Linux系统管理的基础技能。合理规划用户和组的结构,有助于维护系统的安全性和可管理性。