# 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 切换后无法回退