当前位置: 首页 > news >正文

10.Linux 用户和组的管理

Linux : 用户和组的管理

一、用户类型

  1. 超级用户
    • root用户(UID=0),拥有系统最高权限
    • 安全建议:日常操作使用普通用户,仅在系统管理时切root
  2. 普通用户
    • 由管理员创建(UID≥1000),权限受限
    • 家目录(/home/用户名)拥有完整权限
  3. 程序用户
    • 系统服务专用(UID范围1-999),无登录权限
    • 示例:www-data(Web服务)、mysql(数据库)

二、组管理

  • 基本组:用户创建文件时默认所属组
  • 附加组:为用户额外授权的组(如赋予sudo权限)
  • 组ID(GID)
    • root组 GID=0
    • 系统组 GID=1-999
    • 普通组 GID≥1000

三、核心配置文件

文件路径作用关键字段说明
/etc/passwd用户基本信息用户名:x:UID:GID:描述:家目录:登录Shell
/etc/shadow用户密码及策略(仅root可读)账号:加密密码:最后修改日:最小天数:最大天数:警告期:宽限日:失效日:保留
/etc/group组信息组名:x:GID:组成员列表
/etc/gshadow组密码及管理信息组名:加密密码:组管理员:组成员

重要安全机制:密码从passwd移至shadow,避免暴力破解(passwd中用x占位)


四、密码(chage命令)

# 设置用户密码策略
sudo chage -m 7 -M 90 -W 7 -E 2025-12-31 username# 常用选项:
#   -m:密码最小修改间隔(天)
#   -M:密码有效期(天)
#   -W:密码过期前警告天数
#   -E:账号绝对失效日期(YYYY-MM-DD)
#   -I:密码过期后禁用账号前的宽限天数

五、用户管理命令

1. 创建用户
sudo useradd -m -d /home/misa -s /bin/bash -g dev -G sudo,sales misa
  • -m:创建家目录
  • -g:指定基本组
  • -G:指定附加组(逗号分隔)
2. 修改用户属性
sudo usermod -L misa       # 锁定账号
sudo usermod -U misa        # 解锁账号
sudo usermod -aG newgroup misa  # 添加附加组(保留原组)
3. 删除用户
sudo userdel -r misa  # 删除用户及家目录、邮件
4. 密码管理
sudo passwd misa       # 设置密码
sudo passwd -d misa    # 清空密码(无密码登录)
sudo passwd -S misa    # 查看密码状态

六、组管理命令

sudo groupadd    # 创建组
sudo groupdel    # 删除组(需先移除组成员)
sudo gpasswd -a misa     # 添加用户到组
sudo gpasswd -d misa    # 从组移除用户
groups misa                 # 查看用户所属组

七、权限委派(sudo)

配置文件:/etc/sudoers

# 步骤:
1. 定义命令别名(安全建议):Cmnd_Alias kami = /usr/sbin/useradd, /usr/sbin/userdel2. 授权用户(组):misa   ALL=(ALL)  kami # kami可执行指定命令# 验证:
sudo -l -U misa  # 查看misa的sudo权限
  • 优先授权命令而非ALL权限
  • 生产环境慎用NOPASSWD

关键补充与建议

  1. UID/GID范围

    • 系统用户/组:0-999
    • 普通用户/组:1000-60000(系统默认上限可调整)
  2. 密码安全

    • Shadow加密:SHA-512(现代系统)
    • 禁用登录:密码字段设为*!!/etc/shadow
  3. 用户默认配置

    • 模板文件:/etc/skel/(新建用户时自动复制到家目录)
    • 默认设置:/etc/default/useradd
  4. 查看用户信息工具

    id misa          # 查看UID/GID及所属组
    lastlog          # 所有用户最近登录记录
    
  5. 特殊Shell

    • /sbin/nologin:禁止登录(程序用户专用)
http://www.lryc.cn/news/607252.html

相关文章:

  • 数据结构——查找(一、什么是查找?)
  • 嵌入式 C 语言入门:函数封装与参数传递学习笔记 —— 从定义到内存机制
  • Vue+Cesium 基础搭建
  • LT3045EDD#TRPBF ADI亚德诺半导体 线性稳压器 电源管理应用设计
  • 优化算法专栏——阅读导引
  • 【OneAPI】网页搜索API和网页正文提取API
  • 让 OAuth 授权码流程更安全的 PKCE 技术详解
  • linux下非Docker模式部署Xinference并部署Rerank模型
  • 最新docker国内镜像源地址大全
  • DreamBoards 借助 DreamHAT+ 雷达插件为 Raspberry Pi 提供 60GHz 毫米波雷达
  • 基于STM32+FPGA工业打印机运动控制卡的核心解决方案
  • Spring Boot微服务性能优化实践指南:从配置到监控
  • MT Photos图库部署详解:Docker搭建+贝锐蒲公英异地组网远程访问
  • 无人机模式的切换
  • PendingIntent相关流程解析
  • 我的博客系统测试报告
  • PHP转Java笔记
  • 前端图片懒加载的深度指南:从理论到实战
  • 浏览器环境segmentit实现中文分词
  • windows内核研究(软件调试-调试事件采集)
  • 性能测试-性能测试中的经典面试题一
  • Nginx跨域问题与 MIME 类型错误深度排错指南:解决 MIME type of “application/octet-stream“ 报错
  • CAN通信协议
  • 从零到英雄:掌握神经网络的完整指南
  • 大模型开发框架LangChain之构建知识库
  • YOLOv8/YOLOv11 C++ OpenCV DNN推理
  • 深入浅出理解WaitForSingleObject:Windows同步编程核心函数详解
  • 大模型幻觉的本质:深度=逻辑层次,宽度=组合限制,深度为n的神经网络最多只能处理n层逻辑推理,宽度为w的网络无法区分超过w+1个复杂对象的组合
  • 前沿智能推荐算法:基于多模态图神经网络的隐私保护推荐系统
  • JS字符串匹配,检测字符中是否包含ABC,includes,indexOf