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

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.xdnf.cn/news/16855.html

相关文章:

  • 【智能协同云图库】第七期:基于AI调用阿里云百炼大模型,实现AI图片编辑功能
  • Apache Flink 2.1.0: 面向实时 Data + AI 全面升级,开启智能流处理新纪元
  • webpack面试题及详细答案80题(41-60)
  • 【科研绘图系列】R语言绘制环状分组显著性柱状堆积图
  • iOS 抓不到包怎么办?全流程排查思路与替代引导
  • 机械学习中的一些优化算法(以逻辑回归实现案例来讲解)
  • 带root权限_中国移动创维DT541_S905L3融合机器改机顶盒刷机教程 当贝纯净版安卓9.0系统线刷包 刷机包
  • Git 命令使用指南:从入门到进阶
  • 字节跳动招AI for Science算法研究员(AI分子动力学)
  • 图论-最短路Floyd算法
  • GXP6040K压力传感器可应用于医疗/汽车/家电
  • 【AI 加持下的 Python 编程实战 2_12】第九章:繁琐任务的自动化(上)——自动清理电子邮件文本
  • 如何将联系人从三星手机转移到 iPhone
  • 8.1.2 TiDB存储引擎的原理
  • Git 各场景使用方法总结
  • LT3045EDD#TRPBF ADI亚德诺半导体 线性稳压器 电源管理应用设计
  • Spark Shuffle性能优化实践指南:提升大数据处理效率
  • 通过CISSP考试,共答到第127题
  • PendingIntent的flag和原理解析
  • CMake set_source_files_properties使用解析
  • Day17--二叉树--654. 最大二叉树,617. 合并二叉树,700. 二叉搜索树中的搜索,98. 验证二叉搜索树
  • Mysql join语句
  • 最新docker国内镜像源地址大全
  • 浏览器【详解】requestIdleCallback(浏览器空闲时执行)
  • PHP的魔术方法
  • [python][selenium] Web UI自动化8种页面元素定位方式
  • 深入浅出理解WaitForSingleObject:Windows同步编程核心函数详解
  • Apache RocketMQ 中 Producer(生产者)的详细说明
  • HQChart实战教程58:K线主图仿TradingView实现
  • 分布式弹幕系统设计