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,附加组为 dockerwww-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 Oracle如何创建表空间?

    在Linux操作系统下为Oracle数据库创建表空间是数据库管理中的基础操作,表空间作为数据库逻辑存储结构的核心,用于存储用户数据、索引、大对象等各类数据,合理创建表空间能有效提升数据管理效率、优化性能并保障数据安全性,以下是详细的操作步骤及注意事项,涵盖环境准备、命令执行、参数解析及后续验证全流程,创建表空间……

    2025年9月29日
    9100
  • linux如何运行c语言程序设计

    Linux 中,可通过编写 C 语言代码,用 gcc 编译器编译生成可执行

    2025年8月14日
    10900
  • linux如何运行mysql

    Linux上运行MySQL,先安装MySQL服务器,配置环境变量,启动服务

    2025年8月17日
    10300
  • Linux环境下如何彻底卸载Qt并清理所有残留组件的详细步骤?

    在Linux系统中卸载Qt需要根据安装方式选择不同的方法,常见的安装途径包括包管理器安装(如Ubuntu的apt、Fedora的dnf)、源码编译安装以及官方维护工具安装,卸载前建议先备份重要配置文件(如Qt Creator的配置),并确认当前系统中Qt的版本及安装路径,避免误删其他依赖Qt的程序,以下是详细步……

    2025年9月20日
    11200
  • 如何在linux运行程序

    Linux 中,将程序编译后,通过命令行输入可执行

    2025年8月13日
    11300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信