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. 系统用户与普通用户:系统用户(如nginx、mysql)用于服务进程,禁止登录;普通用户用于日常操作,需分配有效Shell。
  3. 家目录权限:默认家目录权限为700(仅用户可访问),若需共享目录,可通过chmod或设置SGID位实现组内共享。

相关问答FAQs

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

  • 查看所有用户:cat /etc/passwd | cut -d: -f1(显示用户名)或getent passwd | cut -d: -f1(包含系统用户);
  • 查看所有用户组:cat /etc/group | cut -d: -f1或getent 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操作系统中,如何详细编辑文件内容的具体步骤有哪些?

    在Linux操作系统中,编辑文件内容是日常运维和开发的核心操作之一,无论是配置系统文件、编写代码还是处理文本数据,掌握多种文件编辑方法都能提升效率,本文将详细介绍Linux中常用的文件编辑方式,涵盖图形界面工具、命令行编辑器及流编辑器,帮助用户根据场景选择合适工具,图形界面编辑器:直观易用,适合新手图形界面编辑……

    2025年9月26日
    24600
  • 如何测试192.168.1.100的UDP 53端口?

    在Linux系统中测试UDP端口的连通性比TCP更复杂,因为UDP协议是无连接的,不会自动返回响应,以下是专业、可靠的测试方法,适用于系统管理员和开发人员:为什么UDP测试更困难?UDP协议不建立连接,发送数据后不会自动返回成功/失败状态,若目标端口无服务监听,可能收不到任何响应;若有防火墙拦截,结果可能被误导……

    2025年7月4日
    21100
  • 如何修改linux中的日期格式

    Linux中,可通过date命令设置日期格式,如date +%Y-%m-%d显示年月日格式。

    2025年8月19日
    26300
  • 程序员如何避免996加班?

    在Linux系统中监控硬件温度对于维护系统稳定性、预防过热损坏及优化性能至关重要,以下详细介绍多种命令行与图形化工具的操作方法,涵盖CPU、硬盘、GPU等核心硬件:核心工具安装与配置lm-sensors(CPU/主板传感器)安装:sudo apt install lm-sensors # Debian/Ubun……

    2025年8月8日
    25000
  • Linux账号权限如何设置最安全?,最小权限原则怎样守护Linux?,你的Linux账号权限真的安全吗?

    用户与组管理创建用户sudo useradd -m -s /bin/bash username # -m创建家目录,-s指定shellsudo passwd username # 设置密码创建用户组sudo groupadd groupname将用户加入组sudo usermod -aG groupname u……

    2025年7月31日
    24800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信