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系统中如何查找进程号?

    在Linux系统中,进程号(PID,Process ID)是操作系统为每个运行中的进程分配的唯一标识符,用于进程管理、资源监控、调试和终止等操作,准确查找进程号是系统管理和日常运维的基础技能,本文将详细介绍Linux中查找进程号的多种方法,涵盖基础命令、进阶技巧及实用场景,使用ps命令查找进程号ps(proce……

    2025年9月30日
    12700
  • Windows用户如何安全体验Linux?

    虚拟机安装(推荐新手)工具准备虚拟机软件:VirtualBox(免费)或 VMware Workstation Player(个人免费)Linux镜像:Ubuntu(推荐)或其他发行版步骤安装虚拟机软件 下载安装包,全程默认设置即可,创建虚拟机打开软件 → 点击”新建” → 输入虚拟机名称(如Ubuntu……

    2025年7月9日
    18200
  • Linux如何打开网络端口?命令与配置方法详解?

    在Linux系统中,网络端口是应用程序与外部通信的入口,“打开端口”通常指允许特定端口的流量通过防火墙,并确保有进程在该端口上监听,本文将详细介绍Linux中打开网络端口的常用方法,包括端口状态检查、防火墙配置及常见问题排查,端口基础概念网络端口用16位整数表示(0-65535),其中0-1023为知名端口(如……

    2025年10月7日
    13900
  • 如何秒速登录SSH/串口终端?

    标准方法:使用 passwd 命令适用场景:系统已安装 passwd 工具(BusyBox或完整Linux环境),passwd root# 3. 按提示输入两次新密码Enter new password: ******Retype new password: ******关键提示:普通用户仅能修改自身密码,ro……

    2025年8月7日
    14800
  • linux 如何查看php 错误日志

    Linux中,查看PHP错误日志通常可通过以下命令:`cat /var/log/php_errors.

    2025年8月17日
    12900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信