proxy代理   soft软件   IT 业界特快   norton 诺顿病毒库   代理列表   search FTP搜索   whois IP地理位置   blog 追求完美  
money理财   life生活   RSS聚合门户   firefox WEB浏览器   免费域名   typeset 假古文   AntiVirus 反病毒   ipcn 站点导航  

« Fedora Core 5 已经可以下载了 | Main | 关注短信猫(Wireless GSM/GPRS Modem) »

March 19, 2006

openssh PAM 认证时的用户自动创建解决方案

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
https://windtear.net/archives/2006/03/19/000939.html
http://windtear.net/archives/2006/03/19/000939.html

openssh PAM 认证时的用户自动创建解决方案

上次blog提了一下研究的事:
openssh PAM 认证时的用户自动创建问题研究
http://windtear.net/archives/2006/02/27/000925.html

后来确认了一下 没有现成的模块做这件事
所谓的模块也就是 /lib/security/pam_mkhomedir.so
不过这玩意显然不是能满足需求的东东
pam_mkhomedir.so 的用武之地在于已有用户(如LDAP/AD用户)
主要贡献只是帮用户建一个家目录

2006-03-07 那天周二 还是自己改代码写了个patch解决
因为实在找不到不patch代码的方案了

既然决定改代码就很简单了
就如上次提到的一样
相关的地方改一下就行了

auth2.c 的 authctxt->valid = 1;
auth-pam.h 的 #define SSHD_PAM_SERVICE "rsasshd" 为了维护独立性
auth-pam.c 的 sshpam_query 判断一下 PAM_SUCCESS 并且本地没帐号
然后添加帐号 并作必要的记录就行了 (需要注意的也是基本的是申请内存记得释放)
另外从追求完美的角度 提示用户发生了什么也是必要的
logit("add user automatically %s",sshpam_authctxt->user);
packet_disconnect("Your user account - %s added just now, please wait for 
 next PASSCODE and relogin", sshpam_authctxt->user);
 
个人认为这个方案简单有效 而且改动也少

btw:
看 FC5 的 Release Notes 发现 FC5 采用了新的 PAM include 改动
比如:
account    required     pam_stack.so service=system-auth
改为:
account    include      system-auth

(Linux-PAM 0.78 及其后版本以 include 指令替换了pam_stack 模块)

今天周日 就补写一下这个好了 3月份欠blog很多了 不好意思:(
本blog WWW

Posted by windtear at March 19, 2006 11:34 PM

本站使用中的任何问题,请与 windtear @ windtear.net 联系
Copyright© 1999-2024 Windtear. All rights reserved.