Linux用户与用户组管理完全指南

一、Linux用户管理基础

在Linux系统中,每个用户都拥有唯一的用户ID(UID)和用户名。系统通过这些信息来识别不同的用户并控制他们对系统资源的访问权限。

Linux 中如何管理用户和用户组

创建新用户最直接的方法是使用useradd命令。例如,要创建一个名为"john"的新用户,可以执行:

sudo useradd john

创建用户时,系统会自动完成多项工作:

  • 在/etc/passwd文件中添加用户记录
  • 在/etc/shadow文件中设置密码占位符
  • 在/home目录下创建用户主目录
  • 为用户分配默认shell(通常是/bin/bash)

设置用户密码使用passwd命令:

sudo passwd john

二、用户组管理技巧

Linux中的用户组是权限管理的重要机制。每个用户可以属于多个组,但只有一个主组(primary group)。

查看用户所属组:

groups username

创建新组:

sudo groupadd developers

将用户添加到附加组:

sudo usermod -aG developers john

修改用户主组:

sudo usermod -g developers john

三、高级用户配置

/etc/login.defs文件包含用户创建的默认设置,如:

  • 密码过期策略
  • UID/GID范围
  • 主目录创建选项

/etc/skel目录存放新建用户时的默认配置文件模板,包括:

  • .bashrc
  • .profile
  • 其他自定义配置文件

修改这些模板会影响之后创建的所有新用户。

四、实用管理命令

查看用户信息:

id username

修改用户属性:

sudo usermod -s /bin/zsh john  # 修改默认shell
sudo usermod -d /new/home john # 修改主目录

锁定/解锁用户:

sudo usermod -L john  # 锁定
sudo usermod -U john  # 解锁

设置账户过期:

sudo usermod -e 2023-12-31 john

五、权限管理最佳实践

理解文件权限:

  • 用户权限(u)
  • 组权限(g)
  • 其他用户权限(o)

常用权限设置:

chmod 755 file  # 用户rwx,组rx,其他rx
chmod 640 file  # 用户rw,组r,其他无

设置特殊权限:

chmod +s file  # 设置SUID
chmod +t dir   # 设置粘滞位

六、自动化用户管理

批量创建用户:

  1. 准备包含用户信息的文本文件
  2. 使用newusers命令批量创建:
    sudo newusers users.txt

批量修改密码:

echo "john:newpassword" | sudo chpasswd

使用脚本自动化常见任务:

#!/bin/bash
for user in $(cat userlist.txt); do
    sudo useradd $user
    echo "$user:defaultpass" | sudo chpasswd
    sudo usermod -aG developers $user
done

七、安全注意事项

  • 定期检查/etc/passwd和/etc/shadow文件权限
  • 禁用不必要的系统账户
  • 设置强密码策略
  • 限制root直接登录
  • 监控异常登录尝试

检查最近登录:

last

查看失败登录:

sudo grep "Failed password" /var/log/auth.log

通过掌握这些Linux用户和用户组管理技巧,系统管理员可以有效地维护系统安全,合理分配资源权限,确保系统运行的稳定性和安全性。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。