用户、组、Sudo 与 PAM

共 56 题
#

1. /etc/passwd、/etc/shadow、/etc/group 三个文件的关键字段及加固要点

A passwd 存用户与 UID 等字段,shadow 存加密密码需收紧权限,需审计 UID 0/空密码 ✓ 正确答案
B 密码明文存 /etc/passwd
C shadow 应 644 权限
D group 无需检查
#

2. Linux Capabilities 替代 root 与细粒度授权相关方案应如何比较?

A 必须用 root 才能授权
B capabilities 权限大于 root
C capabilities 把 root 特权拆分细粒度,配合容器/ systemd/ seccomp/ LSM 实现最小权限 ✓ 正确答案
D capabilities 只用于桌面
#

3. Linux 中 UID/GID 与用户名的映射关系,UID 复用会造成的安全问题

A 内核按 UID 授权,UID 复用致新用户继承旧用户权限数据,需清理并规范 UID 分配 ✓ 正确答案
B 内核按用户名授权
C 用户名影响权限判断
D UID 复用无风险
#

4. PAM 模块加载顺序与 sufficient、required、requisite 标志的语义差异

A required 失败立即停止
B sufficient 失败即失败
C required 失败继续执行、requisite 失败立即停、sufficient 通过即放行跳过后续、optional 参考 ✓ 正确答案
D requisite 失败继续执行
#

5. PAM 的工作原理,常见模块 pam_unix、pam_limits、pam_faillock 的作用

A PAM 是可插拔认证框架,按模块链执行 auth/account/password/session,pam_unix/limits/faillock 各司其职 ✓ 正确答案
B PAM 只做单一认证
C pam_limits 只做认证
D PAM 配置在 /etc/sudoers
#

6. passwd、chage、pwconv 命令的差异,密码老化策略怎么落地

A chage 修改密码
B pwconv 修改密码
C passwd 改密、chage 管理老化、pwconv 迁移 shadow,老化策略通过 login.defs/chage/PAM 落地 ✓ 正确答案
D chage 无法设置过期
#

7. service account 与 system account 在 systemd 单元中的差异

A 服务应默认用 root 运行
B system account 是低 UID 无登录的系统账号,service account 是服务专用账号,systemd 用 User= 指定非 root 运行 ✓ 正确答案
C User= 不需要
D 服务账号必须用 root
#

8. su - 与 su 的区别,wheel 组的工程意义

A su 与 su - 环境相同
B su 需 root 密码更安全
C wheel 组与 sudo 无关
D su - 加载登录环境,su 保留环境;wheel 组是 sudo 管理员组,实现最小权限授权 ✓ 正确答案
#

9. sudo -l 列出的命令如何用于合规自检与最小特权审计

A sudo -l 陈列可执行命令,用于核对超授权、NOPASSWD 过多与危险命令,实现最小特权合规 ✓ 正确答案
B sudo -l 无审计价值
C 所有用户都可 sudo ALL
D NOPASSWD 越多越安全
#

10. sudo 与 sudo -i、sudo -s 的区别,secure_path 与 env_reset 的安全意义

A sudo -i 登录 shell、-s 保留 env;env_reset 重置环境防 LD_PRELOAD、secure_path 固定 PATH 防劫持 ✓ 正确答案
B sudo -i 保留当前环境
C env_reset 会继承 LD_PRELOAD
D secure_path 无关紧要
#

11. sudo 免密 NOPASSWD 在自动化脚本中的隐患

A NOPASSWD ALL 是安全的
B NOPASSWD 无法审计
C NOPASSWD 免密被执行,需最小命令白名单、避免可提权命令、配合审计与隔离 ✓ 正确答案
D 免密命令无需最小化
#

12. sudo 的时间戳(timestamp)机制如何工作,sudo -k 如何清除缓存的凭据?

A sudo 每次都必须输密码
B sudo 认证后缓存 timestamp_timeout 内免密,-k 清除当前缓存、-K 清全部,可调 timeout 控制窗口 ✓ 正确答案
C -k 无法清除缓存
D 时间戳永不过期
#

13. sudoers 配置中 NOPASSWD、!authenticate、log_input 的安全权衡

A NOPASSWD 无安全影响
B NOPASSWD/!authenticate 降认证门槛需最小化,log_input 提升审计但增加开销,需权衡 ✓ 正确答案
C log_input 永不记录
D !authenticate 更安全
#

14. 为什么 root SSH 密钥登录不应使用相同 key 给多个管理员

A 共享 key 无法区分身份、泄露面大、无法单独撤销,应每个管理员独立 key + sudo 提权 ✓ 正确答案
B 共享 key 便于审计
C 共享 key 可单独撤销个人
D root 直接登录更安全
#

15. 为什么生产环境应禁用 root SSH 登录,PermitRootLogin 的不同选项

A root 直接登录最安全
B 禁用 root 登录防爆破且可审计,PermitRootLogin 选项控制密码/密钥,管理员用 sudo 提权 ✓ 正确答案
C yes 最安全
D root 登录无法审计无妨
#

16. 为何不要把所有用户加入 sudoers,sudo 命令白名单设计的原则

A 所有用户都应 sudo
B 通配符 ALL 最安全
C 应最小授权,按角色/命令精确白名单,避免 ALL 与可提权命令(vim/tee) ✓ 正确答案
D sudo 无需审计
#

17. 基于 LDAP/AD 的集中账号如何与本地 sudoers、SSSD 协同

A 集中账号与 sudo 无关
B 身份来自 LDAP/AD,SSSD 桥接并支持 sudo 集成,授权可集中或本地组,需缓存与刷新 ✓ 正确答案
C SSSD 无法缓存
D 本地 sudoers 与 LDAP 不能共存
#

18. Kerberos keytab 在自动化脚本中的风险与 keytab 轮换

A keytab 是普通文件无需保护
B keytab 长期有效无风险
C keytab 是长期敏感凭证,需收紧权限、定期轮换、用凭据管理,防泄漏 ✓ 正确答案
D 轮换无需同步
#

19. Linux 中 /etc/login.defs 在 UID 范围、密码老化上的默认值

A login.defs 定义 UID 范围(UID_MIN/MAX)与密码老化默认(PASS_MAX_DAYS 等),影响 useradd 新建用户 ✓ 正确答案
B login.defs 只存密码
C PASS_MAX_DAYS 默认很小
D login.defs 影响已有用户
#

20. Linux 中 UID 0(root)唯一性的安全工程含义,即为何系统只应存在一个 UID 0 以及重复 UID 0 账号会带来哪些提权与审计风险

A 多个 UID 0 无风险
B UID 0 需 sudo 才能提权
C 任何 UID 0 都是 root 全权,重复 UID 0 带来提权与审计无法区分风险,应保持唯一并审计 ✓ 正确答案
D 重复 UID 0 便于审计
#

21. Linux 中 userdel -r 失败时残留家目录的处理

A 失败常因进程占用/权限,先确认无进程再手动清理家目录与相关残留 ✓ 正确答案
B userdel -r 一定成功
C 家目录无法删除
D userdel 不删账号
#

22. PAM 中 pam_cracklib 与 pam_pwquality 在密码策略上的差异

A pam_pwquality 是 pam_cracklib 的替代、配置更集中,用于密码复杂度校验 ✓ 正确答案
B 两者完全相同
C pam_cracklib 是较新模块
D 两者都无密码复杂度功能
#

23. PAM 中 pam_loginuid 与 auditd 在审计追踪的协同

A loginuid 与审计无关
B loginuid 只记录当前用户
C pam_loginuid 记录原始登录用户,auditd 记录事件含 loginuid,su 后也能追溯登录者 ✓ 正确答案
D 容器内应启用 loginuid
#

24. PAM 中 pam_permit 模块的放行逻辑与适用场景是什么?

A pam_permit 无条件放行,仅用于无需认证场景,绝不能放 sshd/login 的 auth 阶段否则绕过认证 ✓ 正确答案
B pam_permit 检查密码
C pam_permit 增强安全
D pam_permit 用于强制认证
#

25. PAM 中的 pam_motd 与 pam_lastlog 在合规审计中的角色

A pam_motd 记录登录历史
B pam_lastlog 显示横幅
C pam_motd 显示合规警告横幅,pam_lastlog 记录登录历史供审计 ✓ 正确答案
D 两者都无审计价值
#

26. PAM 在容器内是否生效,容器镜像中 PAM 配置如何精简

A 容器内所有服务都需要 PAM
B 容器内 loginuid 正常
C PAM 在容器内永远生效
D 容器内仅认证服务(sshd/su)需要 PAM,多数可精简移除以减小体积与攻击面 ✓ 正确答案
#

27. PAM 模块 pam_echo 在登录调试时的辅助作用

A pam_echo 改变认证结果
B pam_echo 输出文本确认模块链执行位置,不改变结果,用于登录调试 ✓ 正确答案
C pam_echo 用于认证
D pam_echo 加密密码
#

28. PAM 的 pam_access、pam_time 模块在限制登录时间地点的用法

A pam_access 限制登录时间
B pam_time 限制来源
C pam_access 按来源主机/IP 限制、pam_time 按时间段限制,在 account 阶段启用 ✓ 正确答案
D 两者都限制密码
#

29. PAM 的 pam_env 在设置环境变量的边界

A pam_env 限制登录时间
B pam_env 用于认证
C pam_env 全局永久生效
D pam_env 基于 pam_env.conf 注入会话环境变量,需谨慎避免设置危险变量 ✓ 正确答案
#

30. PAM 的 pam_succeed_if 模块如何按用户、组、shell 与时间等条件控制认证流程的启用与放行

A pam_succeed_if 无条件放行
B pam_succeed_if 按 user/group/uid/shell/time 等条件,结合 sufficient/required 控制放行或跳过 ✓ 正确答案
C pam_succeed_if 只检查密码
D pam_succeed_if 无法按组判断
#

31. chage -l 在密码到期审计中的作用

A chage -l 修改密码
B chage -l 无审计价值
C chage -l 只能看 root
D chage -l 显示密码老化字段,用于审计从不过期/超长账号并整改 ✓ 正确答案
#

32. chsh 修改用户默认 shell 的限制与安全审计

A chsh 可改任意 shell
B 普通用户只能改用 /etc/shells 内 shell,服务账号用 nologin,需审计 shell 变更防提权 ✓ 正确答案
C 服务账号应可登录
D /etc/shells 无意义
#

33. faillock 与 tally 锁定后如何解锁与审计

A faillock 与 tally2 解锁命令相同
B 锁定无法解锁
C faillock 用 faillock --reset、tally2 用 pam_tally2 --reset,审计用 faillock/lastb/secure 日志 ✓ 正确答案
D fail 记录无审计价值
#

34. getent passwd 在身份服务故障时的退路查询

A getent 只查本地
B LDAP 故障 getent 必失败
C getent 按 nsswitch 顺序查询,files 前置可作故障兜底,本地文件与 SSSD 缓存是退路 ✓ 正确答案
D nsswitch 顺序无关
#

35. id -u 与 whoami 在服务账号下的输出差异

A 两者永远相同
B id -u 输出数字有效 UID 不依赖名称解析,whoami 依赖名称,服务账号/解析失败时 id -u 更可靠 ✓ 正确答案
C whoami 输出数字
D id -u 依赖名称解析
#

36. keytab、kinit 在 Kerberos 环境下与 sudo 的集成方式

A sudo 与 Kerberos 无关
B kinit 获取的是密码
C keytab 无需保护
D sudo 经 PAM(pam_sss/pam_krb5)用 Kerberos 认证,keytab 供自动化免交互获取票据 ✓ 正确答案
#

37. newgrp 与 sg 在切换有效组时的差异

A 两者都执行命令后返回
B newgrp 执行命令
C newgrp 启动新 shell 切换有效组,sg 执行单命令后返回,都改变有效 GID ✓ 正确答案
D sg 启动新 shell
#

38. pam_tally2 在 RHEL 8 之后被 pam_faillock 取代的迁移

A 两者命令相同
B 迁移无需改配置
C pam_tally2 更现代
D pam_faillock 取代 pam_tally2,用 faillock.conf 配置、faillock 命令解锁,需配置 preauth/authfail ✓ 正确答案
#

39. setpriv、runuser、chroot 在无 root 容器中沙箱执行的边界

A chroot 是完整沙箱
B chroot 限制内核
C setpriv 降权、runuser 切身份、chroot 仅目录隔离可逃逸,真沙箱需 seccomp/namespace 组合 ✓ 正确答案
D runuser 可提权
#

40. sss_cache -E 在 LDAP 修改后清理缓存的工程意义

A sss_cache 只清 sudo
B sss_cache -E 清除全部缓存使 LDAP 修改立即生效,避免 getent 读到陈旧数据 ✓ 正确答案
C 缓存永不过期
D sss_cache 修改 LDAP
#

41. sudo 与 Defaults env_keep 与 env_reset 结合时的权限边界是什么?

A env_keep 保留所有变量
B env_keep 无安全影响
C env_reset 会保留 LD_PRELOAD
D env_reset 重置环境防危险变量,env_keep 是白名单保留,错误保留危险变量会破坏安全边界 ✓ 正确答案
#

42. sudo 与 doas 在 OpenBSD 起源与工程取舍的差异

A doas 功能更丰富
B sudo 更小
C doas 源自 OpenBSD、简洁小安全,sudo 功能丰富、配置复杂、跨平台广泛 ✓ 正确答案
D doas 不能提权
#

43. sudo 与 polkit 在桌面与服务器场景的边界

A 两者都只用于桌面
B sudo 面向终端命令提权(服务器),polkit 面向桌面/服务/D-Bus 授权,场景互补 ✓ 正确答案
C polkit 用于命令提权
D sudo 用于服务授权
#

44. sudo 日志如何集中到 auditd 与远端 syslog 防本地篡改

A sudo 日志只存本地
B 把 sudo 日志经 syslog 转发远端、auditd 审计事件,本地篡改不影响远端,实现防篡改 ✓ 正确答案
C 本地日志可防止篡改
D auditd 与 sudo 无关
#

45. sudoers 的 includedir 与 @include 在多团队配置的角色

A includedir/@include 让多团队各自维护独立片段,隔离冲突,需校验语法与权限 0440 ✓ 正确答案
B includedir 禁止多文件
C 片段文件可含语法错误
D 所有团队共用一个文件
#

46. sudoers.d/ 目录与单一 sudoers 文件的可维护性比较

A 单一文件适合超大规模
B sudoers.d/ 降低可维护性
C 拆分后无需校验
D 单一文件集中但易膨胀冲突,sudoers.d/ 按团队拆分更易维护,需 visudo -c 校验 ✓ 正确答案
#

47. useradd -r 系统账号与普通账号的家目录策略差异

A -r 账号默认建家目录
B 普通账号 UID 在系统范围
C 系统账号 shell 为 bash
D -r 系统账号低 UID、默认无家目录、nologin,普通账号建家目录可登录 ✓ 正确答案
#

48. 如何用 sudoedit 让编辑器以调用者身份修改特权文件

A sudoedit 让编辑器以 root 运行
B sudoedit 直接编辑原文件
C sudoedit 复制到临时文件,编辑器以调用者身份运行,避免编辑器提权,保存后 sudo 写回 ✓ 正确答案
D sudoedit 无需授权
#

49. 登录失败锁定策略中 pam_faillock 与 pam_tally2 的实现差异、锁定阈值与解锁方式

A faillock 与 tally2 解锁命令相同
B pam_tally2 是现役模块
C faillock 用 faillock.conf 与 faillock 命令,tally2 用 pam_tally2,deny 定阈值、unlock_time 定时长 ✓ 正确答案
D 锁定后无法解锁
#

50. SSSD 在 RHEL 系集中身份中的缓存与离线登录能力

A SSSD 无缓存
B 密码变更无需同步
C 离线可登录任何用户
D SSSD 缓存用户/组/凭据,集中服务不可达时可离线登录,但需先在线建立缓存 ✓ 正确答案
#

51. useradd -m、-s、-G 与 usermod -aG 的差异,避免覆盖主组

A usermod -G 总是追加
B -aG 会覆盖主组
C useradd -m/-s/-G 创建时设置,usermod -aG 追加附加组,不加 -a 的 -G 会覆盖原有组 ✓ 正确答案
D 主组由 -G 设置
#

52. usermod -L 与 passwd -l 在锁定账户时的差异

A 两者都在 shadow 密码字段加 ! 锁定,但只锁密码认证,密钥登录仍可绕过 ✓ 正确答案
B 两者都加 ! 前缀锁定密码
C 两者删除密码
D 锁定后无法解锁
#

53. 为什么生产环境通常不建议 nscd 与 sssd 同时运行,两者对 passwd/group 的缓存会引发哪些冲突与陈旧数据问题

A 两者缓存互补无冲突
B 两者都缓存 passwd/group 造成双重缓存、陈旧数据与刷新不一致,SSSD 已含缓存应避免 nscd 缓存 passwd/group ✓ 正确答案
C nscd 缓存无处不在
D 双缓存刷新一致
#

54. 为何修改 UID 后 ls 显示陈旧信息,缓存刷新与 nscd 的关系

A 改 UID 立即生效
B nscd/sssd 缓存旧 UID 映射导致 ls 陈旧,需 nscd -i passwd 或 sss_cache -E 刷新 ✓ 正确答案
C 缓存与 ls 无关
D 改 UID 无需刷新缓存
#

55. 集中账号缓存 nscd、sss_cache 失效时的常见故障

A 缓存从不过期
B 缓存损坏不影响查询
C 缓存失效表现为陈旧数据/查询失败,用 sss_cache -E/nscd -i 刷新或清缓存重建 ✓ 正确答案
D 双缓存刷新一致
#

56. 集中身份源切换 OpenLDAP 到 AD 时的灰度与回退策略

A 可一次性切换
B 应并行验证、分段灰度、保留旧源可回退,监控异常立即回退 ✓ 正确答案
C 灰度无需验证
D 切换后无法回退