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

昌吉州住房和城乡建设局网站建筑公司企业信用分

昌吉州住房和城乡建设局网站,建筑公司企业信用分,珠海市网站设计公司,做网站用什么开发工具接前一篇文章#xff1a;PAM从入门到精通#xff08;十八#xff09; 本文参考#xff1a; 《The Linux-PAM Application Developers Guide》 PAM 的应用开发和内部实现源码分析 先再来重温一下PAM系统架构#xff1a; 更加形象的形式#xff1a; 六、整体流程示例 2.…接前一篇文章PAM从入门到精通十八 本文参考 《The Linux-PAM Application Developers Guide》 PAM 的应用开发和内部实现源码分析 先再来重温一下PAM系统架构 更加形象的形式 六、整体流程示例 2. 更为完整的例程及解析 上一回讲解了更为详细复杂例程的第二部分本文继续讲解其余部分。再来贴一下完整代码 /* 使用PAM所必需的两个头文件*/ #include security/pam_appl.h #include security/pam_misc.hstatic struct pam_conv conv {misc_conv,NULL }void main(int argc, char *argv[], char **renvp) {pam_handle_t *pamh NULL;int status;/* 初始化并提供一个回调函数 */if ((pam_start(login, user_name, conv, pamh)) ! PAM_SUCCESS)exit(1);/* 设置一些关于认证用户信息的参数 */pam_set_item(pamh, PAM_TTY, ttyn);pam_set_item(pamh, PAM_RHOST, remote_host);while (!authenticated retry MAX_RETRIES){status pam_authenticate(pamh, 0);/* 认证检查用户输入的密码是否正确 */}/* 认证失败则应用程序退出*/if (status ! PAM_SUCCESS){……exit(1);}/* 通过了密码认证之后再调用帐号管理API检查用户帐号是否已经过期 */if ((status pam_acct_mgmt(pamh, 0)) ! PAM_SUCCESS){if (status PAM_AUTHTOK_EXPIRED){status pam_chauthtok(pamh, 0); /* 过期则要求用户更改密码 */if (status ! PAM_SUCCESS)exit(1);}}/* 通过帐户管理检查之后则打开会话 */if (status pam_open_session(pamh, 0) ! PAM_SUCCESS)exit(status);……/* 建立认证服务的用户证书*/status pam_setcred(pamh, PAM_ESTABLISH_CRED);if (status ! PAM_SUCCESS)exit(status);……pam_end(pamh, PAM_SUCCESS); /* PAM事务的结束 */……}6pam_open_session函数 代码片段 /* 通过帐户管理检查之后则打开会话 */if (status pam_open_session(pamh, 0) ! PAM_SUCCESS)exit(status); 作用 启动PAM会话管理。pam_open_session函数为先前成功通过身份验证的用户设置用户会话。会话稍后应通过调用pam_close_session()来终止。 应该注意的是应用程序的有效uid通过geteuid()获得应该具有足够的权限来执行例如创建或挂载用户主目录之类的任务。 参数详解 pam_handle_t *pamh pamh参数是通过先前调用pam_start()获得的身份验证句柄。 此处传给pamh的实参为main函数中定义的pam_handle_t *pamh的地址pamh。 int flags flags参数是以下值中的零个或多个的二进制或 PAM_SILENT 不发出任何消息。 此处传给flags的实参为0。 7pam_setcred函数 代码片段 /* 建立认证服务的用户证书*/status pam_setcred(pamh, PAM_ESTABLISH_CRED);if (status ! PAM_SUCCESS)exit(status); 作用 设置用户凭证。pam_setcred函数用于建立、维护和删除用户的资格凭据。在对用户进行身份验证之后在为用户打开会话之前使用pam_open_session()应该调用它来设置凭据。应在会话关闭后删除凭据使用pam_close_session()。 凭据credential是用户所拥有的东西。它是一些属性如Kerberos票证或者构成给定用户的唯一性的补附加组成员资格。在Linux系统上用户的UID和GID也是凭据。但是已经决定这些属性以及用户所属的默认补充组是应由应用程序而不是PAM直接设置的凭据。应用程序应在调用此函数之前建立此类凭据。例如initgroups()或等效操作应该已被执行。 参数详解 pam_handle_t *pamh pamh参数是通过先前调用pam_start()获得的身份验证句柄。 此处传给pamh的实参为main函数中定义的pam_handle_t *pamh的地址pamh。 int flags 有效标志其中任何一个可以与PAM_SILENT进行逻辑“或”运算它们是 PAM_ESTABLISH_CRED 初始化用户的凭据。 PAM_DELETE_CRED 删除用户的凭据。 PAM_REINITIALIZE_CRED 完全重新初始化用户凭据。 PAM_REFRESH_CRED 延长现有凭据的生命期使用期限。 此处传给flags的实参为PAM_ESTABLISH_CRED。 至此代码流程中的所有函数就全部解析完了。
http://www.hkea.cn/news/14586934/

相关文章:

  • 网站开发 先做前端吗网站建设怎样推广
  • 国外公司建站系统域名和空间网站
  • 网站营销设计网站建设汇报方案ppt
  • ps如何做游戏模板下载网站濮阳做公司网站
  • 预付做网站订金怎么做账盗版网站怎么做的
  • 医疗室内设计网站推荐找潍坊做网站的
  • 怎么查看网站建设时间百度一下你就知道搜索引擎
  • 太原搭建网站的公司哪家好建筑总包二级资质
  • 做配件出口上什么网站crazyuncle WordPress
  • 精品网站建设免费seo工具
  • 蜘蛛爬网站泰国公共建设网站
  • 做五金的外贸网站有哪些亚马逊云服务 网站建设
  • 网站建设分哪几种石家庄网站开发
  • centos6.6做网站建设银行关方网站
  • 网站开发前景好吗网站模板建站教程视频
  • 网站目录遍历如果网站没有icp备案号
  • 酒店网站建设自建网站网址
  • 微软网站开发软件高端网约车
  • 重庆市建设公共资源交易中心网站网站cname解析
  • 本地安装wordpress账户是什么搜索引擎优化指的是什么
  • 网站开发手机充值接口宛城区网站建设
  • 学生求职网站的需求分析怎么做大丰做网站
  • wap网站发布西安网站托管专业公司
  • 济南大型网站设计公司网上购物平台哪家质量最好
  • 中国建设人才服务信息网站网站设计规划书例子
  • 莆田仿站定制模板建站wordpress最简单主题
  • 网站开发协议模版智联招聘网站怎么做两份简历模板
  • 天津网站建设技术韶关市住房和城乡建设部网站
  • 大气学校网站安装wordpress用什么
  • 织梦门户网站源码下载移动电商网站建设