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

Linux 统一身份与权限管理

Linux 统一身份与权限管理
部署文档(FreeIPA 方案,支持:登录 + sudo 权限管理)

适用:CentOS 7/8、Rocky 8/9、RHEL 8/9、Ubuntu 20/22

目标:

  • 用一套密码登录所有 Linux 主机
  • sudo 权限精确到「张三只能在 web-01 上 sudo,李四在所有 db 主机上 login」
  • 加人 / 回收 / 审计全部在 一台 IPA Server 完成,业务机零文件维护

1 架构总览

        ┌--------------------┐│   FreeIPA Server   │  1 台│   LDAP+Kerberos+CA │  统一账号、密码、sudo、HBAC└--------┬-----------┘│┌-------------┴-------------┐│                           		 │
web-01  web-02  db-01 ...  (N 台业务机)
↑ ipa-client-install           ↑ ipa-client-install
↑ 自动配置 PAM/NSS/Kerberos    ↑ 自动配置 sudo/sssd

2 服务器端(IPA Server)部署

2.1 准备

  • 主机名:ipa.example.org(FQDN,必须可解析)
  • IP:192.168.10.10
  • 系统:Rocky 9 / CentOS 8 Stream

2.2 安装

dnf install -y freeipa-server freeipa-server-dns   # DNS 可选
# 若用 Ubuntu
# apt install -y freeipa-server freeipa-server-dns

2.3 一键初始化

ipa-server-install \--hostname ipa.example.org \--realm EXAMPLE.ORG \--domain  example.org \--admin-password  'RedHat123' \--ds-password     'DirMgr123' \--setup-dns --auto-forwarders

完成后:

  • Web UI: https://ipa.example.org
  • CLI: kinit admin

2.4 防火墙

firewall-cmd --permanent --add-service={http,https,ldap,ldaps,kerberos,dns}
firewall-cmd --reload

3 客户端(所有业务机)加入域

3.1 安装

dnf install -y freeipa-client
# Ubuntu: apt install freeipa-client

3.2 加入

ipa-client-install \--server ipa.example.org \--domain example.org \--realm EXAMPLE.ORG \--principal admin \--password 'RedHat123' \--mkhomedir

完成后:

  • /etc/sssd/sssd.conf 自动生成
  • /etc/krb5.conf 指向 IPA
  • sudo 规则由 LDAP 下发

4 创建用户

IPA Server 上执行:

# 创建用户
ipa user-add alice --first=Alice --last=Li --password
# 再次确认密码
kinit alice@EXAMPLE.ORG

5 主机注册(可选但推荐)

让每台业务机在 IPA 中有对象,方便后续 HBAC / sudo:

# 在 ipa server 或 client
ipa host-add web-01.example.org --force

6 精确 sudo 权限配置

6.1 建 sudo 规则(示例:alice 在 web-01 可 sudo 所有命令)

# 1. 建命令组
ipa sudocmdgroup-add ALL
ipa sudocmd-add ALL --runasuser=root# 2. 建规则
ipa sudorule-add web01_alice_sudo
ipa sudorule-add-user    web01_alice_sudo --users=alice
ipa sudorule-add-host    web01_alice_sudo --hosts=web-01.example.org
ipa sudorule-add-allow-command web01_alice_sudo --sudocmdgroups=ALL
ipa sudorule-mod        web01_alice_sudo --runasuser=root

6.2 批量场景(所有 db* 主机 + devs 组)

# 建主机组
ipa hostgroup-add dbservers
ipa hostgroup-add-member dbservers --hosts=db-01.example.org --hosts=db-02.example.org# 建用户组
ipa group-add devs --posix
ipa group-add-member devs --users=alice --users=bob# 建 sudo 规则
ipa sudorule-add devs_db_sudo
ipa sudorule-add-user    devs_db_sudo --groups=devs
ipa sudorule-add-host    devs_db_sudo --hostgroups=dbservers
ipa sudorule-add-allow-command devs_db_sudo --sudocmdgroups=ALL

6.3 生效检查
在业务机上:

# 立即刷新
sss_cache -E
sudo -l -U alice

应看到仅对该机生效的 sudo 条目。


7 登录权限(HBAC)精确到单台主机

7.1 默认规则
IPA 预置 allow_all 规则,可先禁用:

ipa hbacrule-disable allow_all

7.2 建规则(示例:alice 只能登录 web-01)

ipa hbacrule-add login_web01
ipa hbacrule-add-user    login_web01 --users=alice
ipa hbacrule-add-host    login_web01 --hosts=web-01.example.org
ipa hbacrule-add-service login_web01 --hbacsvcs=sshd

7.3 批量场景(devs 组可登录所有 webservers)

ipa hbacrule-add login_webservers
ipa hbacrule-add-user    login_webservers --groups=devs
ipa hbacrule-add-host    login_webservers --hostgroups=webservers
ipa hbacrule-add-service login_webservers --hbacsvcs=sshd

8 日常运维速查

任务 IPA 命令 立即生效?
新建用户 ipa user-add bob …
给用户 sudo 权限 ipa sudorule-add-user <rule> --users=bob
禁止用户登录某机 ipa hbacrule-remove-user <rule> --users=bob
查看某机谁能登录 ipa hbactest --host=web-01 --service=sshd --user=alice
审计 Web UI → Identity / HBAC / Sudo → Audit

9 备份 & 恢复

  • 全库备份:
    ipa-backup --data-only → 每天 cron
  • 恢复:
    ipa-restore <tar>

10 故障排查

  • 客户端登录失败:
    sssctl user-checks alice
    ipa hbactest --host=web-01 --service=sshd --user=alice

  • sudo 无效:
    sssctl sudo-checks alice
    查看 /var/log/sssd/sudo.log


11 附录:最小开放端口

  • IPA Server:TCP 80,443,389,636,88,464,53(udp/tcp)
  • 客户端 → Server:389 或 636, 88, 464

完 — 按此文档部署后,即可通过 IPA Web/CLI 一站式完成所有 Linux 登录与 sudo 权限管理。

http://www.sczhlp.com/news/46577/

相关文章:

  • 2025 设计神器 Adobe Photoshop 2025 中文破解版深度解析:AI 黑科技 + 免激活安装指南
  • nginx:设置过滤规则,不收纳特定主机的日志
  • Dify新版1.8.0发布:新增异步工作流和多模型设置!
  • b2b商城网站源码长春网站优化服务
  • 做帮助手册的网站seo商学院
  • 好玩网页游戏大全上海城市分站seo
  • 企业网站建立制作小红书搜索关键词排名
  • 网站怎么做导航条网络营销网站建设
  • 手机p2p网站真正免费建站网站
  • 宁波网站建设信息网实时热搜榜榜单
  • IDL 9.2 新特性介绍 - ENVI
  • 库函数
  • 我国5G行业虚拟专网规模达6.4万个,工业应用场景加速落地
  • 基于MATLAB模板匹配的车牌识别系统设计与实现(附字符模板库)
  • 网站业务员怎么给客户做方案爱站网注册人查询
  • 青岛建设英文网站建设免费的自媒体一键发布平台
  • 群辉怎么做网站淘宝推广软件
  • 中国网站为什么做的那么丑深圳20网络推广
  • 做日文网站百度词条搜索排行
  • 聊城手机网站公司电话申请网站怎么申请
  • 酷炫 网站模板sem网站推广怎么做
  • 服装设计师接单网站信息发布平台推广
  • 开发php网站建设今日头条十大热点
  • ADS8686S代替方案芯片LHA6916
  • Python 演示FastApi与sqlalchemy结合使用(异步模式)
  • 在K8S中,etcd 适应的场景?
  • 深圳建网站技术新闻热点大事件
  • 成都建设工程交易中心网站免费seo提交工具
  • 如果做vr参观网站成都最好的seo外包
  • 【推荐+1】HarmonyOS官方模板优秀案例 (第4期:餐饮行业 美食菜谱)