单元 9 — 账户管理 红帽RHCE中文课件.ppt
文本预览下载声明
单元 9 — 账户管理 目标 学习了本单元后,你应该能够 : ● 理解验证的基本知识 ● 理解 NSS 和 PAM 的功能 用户账户 ● 每个用户账户必须提供两类信息 ● 账户信息 :UID 号码、默认的 shell,主目录,组群成员信息等等 ● 验证是一种用来确定登录账户所用的密码是否正确的方法 账户信息(名称服务) ● 通过库功能使用的名称服务将名称与信息进行匹配 ● 最初,仅由类似 /etc/passwd 的本地文件提供名称服务 ● 添加对新名称服务(如 NIS)的支持需要重新编写 libc 名称服务切换(NSS) ● NSS 允许不必重新编写 libc 就能够添加新名称服务 ● 使用 /lib/libnss_service.so 文件 ● /etc/nsswitch.conf 控制要使用的名称服务及其顺序 ● passwd :files nis ldap getent ● getent database ● 列出所有保存在指定数据库中的对象 ● getent services ● getent database name ● 在指定数据库中的保存信息中查找某个特定的名称 ● getent passwd smith 验证 ● 应用程序传统上使用 libc 功能来验证密码 ● 在登录时提供的散列密码 ● 和 NSS 中的散列密码进行比较 ● 如果匹配,则通过验证 ● 应用程序必须被重新编写来改变它们验证用户的方法 可插入验证模块(PAM) ● 可插入验证模块 ● 应用程序调用 libpam 功能来验证和授权用户 ● libpam 根据应用程序的 PAM 配置文件来进行验证 ● 可能通过 libc 来包括 NSS 检查 ● 共享的,可动态配置的代码 ● 文档 :/usr/share/doc/pam-version/ PAM 操作 ● /lib/security PAM 操作 ● 每个模块都执行“通过”或“失败”测试 ● /etc/security 中的文件可能会影响某些模块执行测试的方法 ● /etc/pam.d PAM配置 ● 服务文件决定模块在什么时候如何被特定程序使用 /etc/pam.d 文件 :测试 ● 测试被分为四类 : ● auth 验证某用户的确是这个用户 ● account 批准某账户的使用 ● password 控制密码的修改 ● session 打开、关闭、并记录会话 ● 每一类都会在需要时被调用,并为服务提供独立的结果 /etc/pam.d 文件 :控制值 ● 控制值决定每个测试将会如何影响群的总体结果 ● required :必须通过,若失败则继续测试 ● requisite 和 required 相似,不同之处是它在失败后停止测试 ● sufficient :如果到此为止一直通过,现在就返回成功 :如果失败,忽略测试继续检查 ● optional :测试通过与否都无关紧要 ● include :返回在被调用文件中配置的测试的总体控制值 示例 :/etc/pam.d /login 文件 auth required pam_securetty.so auth include system_auth account required pam_nologin.so account include system_auth password include system_auth session required pam_selinux.so close session optional pam_keyinit.so force revoke session include system_auth session required pam_loginuid.so session optional pam_console.so session required pam_selinux.so open system_auth 文件 ● system-auth 被广泛使用 ● 被 include 控制标记,而不是模块(如
显示全部