Linux用户组权限管理全攻略?

创建新用户

使用 useradd 命令

sudo useradd -m username  # -m 自动创建用户家目录
  • 关键参数:
    • -c "注释":添加用户描述(如全名)
    • -s /bin/bash:指定默认Shell
    • -d /path/to/home:自定义家目录路径
    • -e YYYY-MM-DD:设置账户过期时间

设置用户密码

sudo passwd username  # 按提示输入密码

安全提示:密码需8位以上,包含大小写字母、数字和符号。

使用 adduser 工具(交互式)

部分系统(如Debian/Ubuntu)提供更友好的交互式命令:

sudo adduser username  # 按提示输入密码及信息

创建用户组

新建用户组

sudo groupadd groupname  # 创建新组

创建用户时直接分配组

sudo useradd -m -G group1,group2 username  # -G 指定附加组
sudo useradd -g primarygroup username     # -g 指定主组

将用户加入已有组

修改用户的附加组

sudo usermod -aG groupname username  # -aG 追加附加组(保留原组)

注意:省略 -a 会覆盖原有附加组!

修改用户的主组

sudo usermod -g newmaingroup username

用户与组管理实例

场景:创建用户 john,主组为 developers,附加组为 docker 和 www-data

sudo groupadd developers  # 创建主组
sudo useradd -m -g developers -G docker,www-data john  # 创建用户并分组
sudo passwd john  # 设置密码

查看用户与组信息

  1. 检查用户所属组:

    id username  # 显示用户UID、GID及所属组

    输出示例:

    uid=1001(john) gid=1002(developers) groups=1002(developers),1003(docker),1004(www-data)
  2. 查看所有用户:

    cat /etc/passwd  # 用户账户信息
  3. 查看所有组:

    cat /etc/group   # 用户组信息

关键配置文件

文件路径 作用
/etc/passwd 存储用户账户信息(不含密码)
/etc/shadow 存储加密后的用户密码
/etc/group 存储用户组信息
/etc/gshadow 存储组密码(极少使用)

注意事项

  1. 权限分离:普通用户避免使用 root 权限,需通过 sudo 授权。
  2. 组权限继承:用户创建的文件默认属于其主组。
  3. 删除用户/组:
    sudo userdel -r username  # -r 删除家目录和邮件
    sudo groupdel groupname

最佳实践:生产环境中定期审计用户和组权限(如使用 auditd 工具),避免权限泄露风险。


引用说明: 参考Linux官方文档(man7.org)及以下资料:

  1. GNU Coreutils手册:useradd, usermod, groupadd 命令详解
  2. Linux Filesystem Hierarchy Standard (FHS) 3.0
  3. Red Hat Enterprise Linux 系统管理指南(第8版)

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9122.html

赞 (0)
酷番叔酷番叔
上一篇 2025年7月29日 02:44
下一篇 2025年7月29日 03:12

相关推荐

  • Linux静态库如何快速上手?

    在 Linux 开发中,静态库(.a 文件)是预编译代码的集合,用于提高代码复用性和编译效率,它们会在编译时直接嵌入到最终可执行文件中,以下从创建、使用、管理三方面详细说明操作流程,遵循 Linux 标准工具链规范(GCC、AR),创建静态库步骤 1:编译源代码为目标文件将 .c 源文件编译为 .o 目标文件……

    2025年8月9日
    19300
  • linux 如何看ip

    在Linux系统中查看IP地址是网络管理的基础操作,无论是排查网络问题、配置服务还是监控连接状态,都需要掌握多种查看IP的方法,根据不同的需求(如查看本机IP、公网IP、网络连接状态等),Linux提供了丰富的命令工具,下面将详细介绍这些方法及其使用场景,查看本机网络接口与IP地址本机IP地址通常指网络接口(如……

    2025年8月27日
    21400
  • 在Linux操作系统中,运行APK安装包的具体方法和详细操作步骤有哪些?

    在Linux系统上运行Android应用的APK文件,是许多用户(尤其是开发者和尝鲜爱好者)的需求,由于Linux与Android基于不同的内核(Linux内核与Android的Linux内核虽有同源,但用户空间和运行机制差异较大),直接运行APK需要借助特定的兼容层或模拟环境,目前主流的实现方式包括Andro……

    2025年8月28日
    29500
  • linux系统如何安装nc

    Linux系统中,可以使用包管理器安装nc,对于Debian/Ubuntu系统,运行sudo apt-get install netcat;

    2025年8月14日
    20500
  • Linux如何将多个运算结果合并输出到同一文件?

    在Linux系统中,将多个运算结果合并写入同一文件是日常运维和脚本开发中的常见需求,无论是系统日志记录、数据分析结果汇总还是批量计算任务输出,都需要高效处理多源数据的整合,本文将详细介绍多种实现方法,涵盖基础命令操作、高级管道技巧及脚本自动化处理,帮助用户根据实际场景选择最优方案,基础重定向方法:分步写入与追加……

    2025年8月26日
    22100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信