Linux如何添加用户及用户组?

在Linux系统中,用户和用户组是管理文件权限、系统资源访问和安全性的核心机制,合理添加和管理用户及用户组,既能保障系统安全,又能实现多用户协同工作,本文将详细介绍Linux环境下添加用户和用户组的操作方法、常用参数及注意事项。

linux如何添加用户和用户组

用户组管理基础

用户组(Group)是用户的集合,通过将用户划分到不同组,可以简化权限管理,将开发人员加入devops组,统一授予目录读写权限,而无需为每个用户单独设置,Linux用户组分为两类:主要组(Primary Group)附加组(Supplementary Group),每个用户有且仅有一个主要组,通常与用户名同名,可同时属于多个附加组。

添加用户组

使用groupadd命令可创建新用户组,基本语法为:

groupadd [选项] 组名

常用参数如下:

参数 说明 示例
-g, --gid GID 指定组ID(GID),需唯一,默认系统分配 groupadd -g 1001 devops
-r, --system 创建系统组,GID小于999(系统保留范围) groupadd -r systemd-coredump
-f, --force 组已存在时提示而非报错 groupadd -f testgroup

示例
创建普通用户组developers

groupadd developers

创建系统组syslog(GID自动分配为系统保留值):

groupadd -r syslog

修改与删除用户组

  • 修改组信息:使用groupmod命令,可重命名组或修改GID:
    # 修改组名
    groupmod -n newgroup oldgroup
    # 修改GID
    groupmod -g 1002 developers
  • 删除用户组:使用groupdel命令,若组内仍有用户,需先移除用户或强制删除(可能导致用户无有效组):
    groupdel developers

用户管理操作

用户(User)是系统的操作主体,每个用户拥有唯一的UID(用户ID)和主要组,添加用户时,系统会默认创建与用户名同名的家目录(/home/用户名),并设置基本配置文件。

linux如何添加用户和用户组

添加用户

使用useradd命令(或adduser,后者为交互式脚本),基本语法为:

useradd [选项] 用户名

常用参数如下:

参数 说明 示例
-u, --uid UID 指定UID,需唯一(普通用户UID≥1000,系统用户<1000) useradd -u 1001 zhangsan
-g, --gid 组名 指定主要组,若组不存在需先创建 useradd -g developers zhangsan
-G, --groups 组名 指定附加组,多个组用逗号分隔 useradd -G sudo,devops zhangsan
-d, --home-dir 目录 指定家目录路径,默认/home/用户名 useradd -d /data/projects zhangsan
-m, --create-home 自动创建家目录(默认行为,-d未指定时生效) useradd -m lisi
-s, --shell Shell 指定登录Shell,如/bin/bash(默认)、/bin/false(禁止登录) useradd -s /bin/bash zhangsan
-c, --comment 注释 添加用户注释信息(如真实姓名) useradd -c "Zhang San" zhangsan
-r, --system 创建系统用户,无家目录、Shell,UID<1000 useradd -r nginx

示例
创建普通用户zhangsan,指定主要组developers,附加组sudo,家目录/home/zhangsan,Shell为/bin/bash

useradd -m -s /bin/bash -g developers -G sudo zhangsan

创建系统用户mysql,无登录权限,UID为998:

useradd -r -u 998 -s /bin/false mysql

设置用户密码

新建用户默认无密码或密码为空,需通过passwd命令设置:

# 为当前用户或指定用户设置密码
passwd zhangsan
# 强制用户下次登录修改密码
passwd --expire zhangsan

输入密码时不会显示字符,需连续输入两次并确认。

linux如何添加用户和用户组

修改用户信息

使用usermod命令可修改用户属性(需root权限):

# 修改用户名
usermod -l newname oldname
# 修改主要组
usermod -g newgroup zhangsan
# 添加/修改附加组(覆盖原附加组)
usermod -G docker,webdev zhangsan
# 追加附加组(保留原附加组)
usermod -aG docker zhangsan
# 锁定/解锁用户账户
usermod -L zhangsan  # 锁定(无法登录)
usermod -U zhangsan  # 解锁

删除用户

使用userdel命令,可选择性删除家目录和邮件文件:

# 仅删除用户,保留家目录
userdel zhangsan
# 删除用户及家目录、邮件文件
userdel -r zhangsan

注意事项

  1. UID与GID冲突:手动指定UID/GID时,需确保系统中唯一,可通过cat /etc/passwd | cut -d: -f3查看已用UID。
  2. 系统用户与普通用户:系统用户(如nginxmysql)用于服务进程,禁止登录;普通用户用于日常操作,需分配有效Shell。
  3. 家目录权限:默认家目录权限为700(仅用户可访问),若需共享目录,可通过chmod或设置SGID位实现组内共享。

相关问答FAQs

Q1:如何查看系统中所有用户和用户组?
A:可通过以下命令查看:

  • 查看所有用户:cat /etc/passwd | cut -d: -f1(显示用户名)或getent passwd | cut -d: -f1(包含系统用户);
  • 查看所有用户组:cat /etc/group | cut -d: -f1getent group | cut -d: -f1
  • 查看用户所属组:groups 用户名id -Gn 用户名

Q2:添加用户时如何禁止其登录系统?
A:可通过指定无效Shell实现,例如使用/bin/false/sbin/nologin

useradd -s /sbin/nologin backupuser

该用户可执行命令(如通过sudo或服务调用),但无法通过SSH、控制台等直接登录。

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

(0)
酷番叔酷番叔
上一篇 2025年9月26日 19:38
下一篇 2025年9月26日 20:14

相关推荐

  • Linux复制粘贴,图形界面VS终端谁更快?

    图形界面(GUI)复制粘贴适用于桌面环境(如GNOME、KDE、XFCE等):通用快捷键复制:选中文本/文件后按 Ctrl + C粘贴:光标定位目标位置后按 Ctrl + V剪切:Ctrl + X(文件剪切后需在目标位置粘贴才能移动)鼠标操作右键菜单选择“复制/粘贴”部分应用(如文件管理器)支持拖放文件实现复制……

    2025年7月27日
    15600
  • Linux查看版本信息的方法有哪些?命令、操作步骤及技巧总结?

    在Linux系统中,了解当前系统的版本信息是日常运维、开发调试和问题排查的基础,Linux系统的版本信息通常包含两个核心部分:内核版本(Kernel Version)和发行版版本(Distribution Version),内核是系统的核心,负责管理硬件资源;发行版则是基于内核构建的完整操作系统,包含各种软件包……

    2025年9月22日
    18900
  • Linux ar命令如何将其他静态库加入当前静态库?

    在Linux环境下,静态库是程序开发中常用的代码复用形式,通过ar工具(Archiver)创建和管理,通常以.a为后缀,当开发过程中需要将多个静态库合并,或向现有静态库中添加其他静态库的内容时,需理解ar工具的工作机制及操作方法,本文将详细阐述Linux ar命令如何加入其他静态库,涵盖核心原理、操作步骤、注意……

    2025年9月28日
    13400
  • Linux系统挂起后如何正确唤醒?

    Linux挂起(Suspend)是操作系统将当前运行状态保存到内存或磁盘,进入低功耗模式的技术,常用于便携设备或短暂离开场景以节省能源,唤醒则是从低功耗状态恢复到运行状态的过程,涉及硬件检测、内核恢复和用户空间服务重启等多个环节,本文将详细说明Linux挂起的状态类型、唤醒流程、具体操作方法及常见问题排查,Li……

    2025年8月27日
    17000
  • 更新软件包索引失败怎么办?

    在Linux系统中安装JDK(Java Development Kit)是开发Java应用的基础步骤,以下是详细安装指南,涵盖主流发行版(Ubuntu/Debian、CentOS/RHEL)及手动安装方法:准备工作检查现有Java环境终端执行:java -version若显示”未找到命令”或版本低于需求,则需安……

    2025年7月9日
    17400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信