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

网站找谁做网站留言板html代码

网站找谁做,网站留言板html代码,企业邮箱在哪里申请,crm系统网址1、理论知识 1.1、PAM模块 1.1.1、PAM的介绍 Pluggable Authentication Modules简称PAM#xff0c;是一个微缩的可插入认证模块#xff08;PAM is an acronym for Pluggable Authentication Modules#xff09; 1.1.2、PAM的结构 1)模块层(PAM服务模块) - PAM结构最底层 作用… 1、理论知识 1.1、PAM模块 1.1.1、PAM的介绍 Pluggable Authentication Modules简称PAM是一个微缩的可插入认证模块PAM is an acronym for Pluggable Authentication Modules 1.1.2、PAM的结构 1)模块层(PAM服务模块) - PAM结构最底层 作用为接口层提供用户鉴别等服务 1 2 -- 验证用户名、密码、账号是否过期等 -- 完成账户管理、会话管理和口令管理等 2)应用程序接口层PAM API - PAM结构中间层 作用 1 2 -- 向上屏蔽用户鉴别等过程的细节 -- 向下调用模块层的具体模块提供特定的服务 接口分类 接口与模块相对应类型调用下层特定接口 1 2 3 4 5 6 7 8 9 10 -- 鉴别类接口  -- pam_authenticate() 鉴别用户  -- pam_setcred() 修改用户密码信息 -- 账号类接口  -- pam_acct_mgmt() 鉴别用户账号是否有权限登录以及账号是否过期 -- 会话类接口  -- pam_open_session()  -- pam_close_session() -- 口令类接口  -- pam_chauthok() 接口与模块不相对应对底层模块提供支持以及实现应用程序与模块的通讯 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 -- 管理性接口  -- pam_start() 标记PAM事务开始  -- pam_end() 标记PAM事务结束  -- pam_get_item() 获取PAM事务状态信息  -- pam_set_item() 设置PAM事务状态信息  -- pam_str() 输出PAM事务错误信息 -- 应用程序与模块间通讯接口  -- pam_start() 应用程序初始化可调用此函数存放用户名之类的信息到PAM接口层  -- pam_putenv() 向应用程序传递特定的环境变量  -- pam_getenv() 获取应用程序环境变量  -- pam_getenvlist() 获取应用程序环境变量 -- 用户与模块间的通讯接口  -- pam_start()函数可通过会话式回调函数让底层模块通过他读写模块相关的鉴别信息 -- 模块间通讯接口  -- 相互独立的模块可通过调用 pam_get_item()与pam_set_item()共享某些与鉴别会话有关的公共信息。 -- 读写模块状态信息接口  -- 接口pam_get_data()和pam_set_data()用于按照PAM句柄要求获取和设置特定的模块信息。 1 2 3)应用程序层 - PAM结构最上层 灵活调用中间层的各种鉴别功能接口 1.1.3、PAM验证文件配置目录 1 ls /etc/pam.d/ 显示如下 1 2 3 4 5 6 7 chfn                 newrole           runuser            ssh-keycat chsh                 other             runuser-l          su config-util          passwd            smartcard-auth     sudo crond                password-auth     smartcard-auth-ac  sudo-i fingerprint-auth     password-auth-ac  smtp               su-l fingerprint-auth-ac  remote            smtp.postfix       system-auth login                run_init          sshd               system-auth-ac 如上所示其中sshd是sshd服务的验证文件定义验证规则服务找不到相应的验证文件则会与other匹配 1.1.4、验证文件的语法 1PAM的格式 vim编辑/etc/pam.d/sshd 配置文件如下 1 2 3 4 5 6 7 8 9 10 11 12 13 #%PAM-1.0 auth       required     pam_sepermit.so auth       include      password-auth account    required     pam_nologin.so account    include      password-auth password   include      password-auth # pam_selinux.so close should be the first session rule session    required     pam_selinux.so close session    required     pam_loginuid.so # pam_selinux.so open should only be followed by sessions to be executed in the user context session    required     pam_selinux.so open env_params session    optional     pam_keyinit.so force revoke session    include      password-auth 由以上可知PAM验证文件格式分为四列 1 module_type   control_flag   module_path   module_optional 2module-type模块类型 1 2 3 4 -- auth(验证模块) - 用于验证用户或设置/销毁凭证 -- account(账户管理模块) - 执行访问、账户及凭证有效期、密码限制/规则等操作 -- session(会话管理模块) - 初始化或终止会话 -- passwd(密码模块) - 执行密码更改或更新操作 3)control-flag控制标记 1 2 3 4 5 -- required - 模块须有返值才通过验证,成功继续下一模块失败需待同一stack中所有模块执行完才返值到应用程序 -- requisite - 模块须有返值才通过验证,成功继续下一模块失败将不再执行同一stack内任何模块而返值给应用程序 -- sufficient - 模块返成功值则通过验证成功则停止执行失败值可忽略继续执行下一模块 -- optional - 模块可选模块返值对认证不起关键作用无论成败都继续执行下一模块返值一般被忽略 -- include - 4)module-path模块路径 模块的位置查找 1 find / -name pam_sepermit.so 显示如下 1 /lib64/security/pam_sepermit.so 如上所示 模块位于“/lib64/security/”目录下可只写模块名称,32位系统位置不同 5)module-optional模块选项可选 常见公用选项如下 1 2 3 4 5 6 -- debug - 该模块调用syslog()将调试信息写入系统日志 -- no_warn - 该模块不向应用程序发送警告信息 -- use_first_pass - 使用同一stack首次获取的密码不向用户提示 -- try_first_pass - 尝试使用同一stack首次获取的密码不通过则向用户提示 -- use_mapped_pass - 使用映射过的密码不向用户提示 -- expose_account - 允许该模块显示用户账号等信息 1.2、PAM-MySQL的介绍 ---------------------------------------------------------------------- 本文转自 tanzhenchao 51CTO博客原文链接http://blog.51cto.com/cmdschool/1737006如需转载请自行联系原作者
http://www.sadfv.cn/news/2769/

相关文章: