免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: chris Lung
打印 上一主题 下一主题

[Mail] 关于sendmail如何支持virtual user的问题请教。 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2005-09-06 17:47 |只看该作者

关于sendmail如何支持virtual user的问题请教。

对libnss-mysql有点不能理解,abel给的范例链接是需要libnss-mysql和pam_mysql两个套件都进行安装?我的理解是只需要编译pam_mysql产生pam_mysql.so,pam_mysql.la两个文件,在pam.d目录下设置相应的(如smtp,pop,imap)验证方式就可以了吧。为什么还需要安装libnss-mysql?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
12 [报告]
发表于 2005-09-06 17:52 |只看该作者

关于sendmail如何支持virtual user的问题请教。

[quote]原帖由 "chris Lung"]对libnss-mysql有点不能理解,abel给的范例链接是需要libnss-mysql和pam_mysql两个套件都进行安装?我的理解是只需要编译pam_mysql产生pam_mysql.so,pam_mysql.la两个文件,在pam.d目录下设置相应的(如smtp,pop,ima..........[/quote 发表:

因為我們不是只給 sendmail 用,也給其他很多系統用
你只用 pam_mysql 進系統後就會有一個
i have no name 的訊息,要不出現這個訊息,就需要 libnss_mysql

论坛徽章:
0
13 [报告]
发表于 2005-09-06 17:58 |只看该作者

关于sendmail如何支持virtual user的问题请教。

哦,是系统的所有服务的用户login的时候都是mysql方式。但两个套件同时用,先后顺序和流程是怎样的呢?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
14 [报告]
发表于 2005-09-06 18:06 |只看该作者

关于sendmail如何支持virtual user的问题请教。

登入時, login 會先使用到 pam 中的 login , 而後 passwd 再使用到 pam 的 passwd
此時過了後,因為系統只看 uid/gid ,到了 shell 時, shell 會提取 username
但會發現,無法找到 (因其使用getpwnam/getpwuid/getspnam...時,預設是向 /etc/passwd 查詢), 所以 nsswitch.conf 要定義,可以向 files (/etc/passwd)
及 mysql 查詢, files 則是用原來的系 統呼叫,但若用到 mysql 則需要有同一呼叫
但支援 mysql 的 getpwnam 功能,所以 libnss_mysql.cfg 就是在定義這個地方
你若 man getpwnam 時可以看到這個 :
          struct passwd {
                  char    *pw_name;       /* user name */
                  char    *pw_passwd;     /* user password */
                  uid_t   pw_uid;         /* user id */
                  char    *pw_dir;        /* home directory */
                  char    *pw_shell;      /* shell program */
          };

這個內容和我給你那個 link 中提到的 sql , ex:
getpwnam    SELECT user_name,'x',uid,'100','users',homedir,shell FROM user WHERE
user_name='%s' LIMIT 1
是一樣的,把 mysql 查到的東西填到這個 struct 中去,完成 getpwnam 的請求

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
15 [报告]
发表于 2005-09-06 18:11 |只看该作者

关于sendmail如何支持virtual user的问题请教。

這些都是原理,不論你 care 不 care , 了解跟本的本質才是最重要的
沒有 name 我沒有試過,但應是可行的,如果你只用到 smtp/pop 上
因為我們還用在像 ,差勤系統,VoIP 認證,AAA Radius ...等許多地方
單位機器至少數十台,帳號管理可不是單純的 adduser/deluser 而以

论坛徽章:
0
16 [报告]
发表于 2005-09-06 18:17 |只看该作者

关于sendmail如何支持virtual user的问题请教。

谢谢关心与支持,我想我还需要查好多资料才能理解。

论坛徽章:
0
17 [报告]
发表于 2005-09-07 15:55 |只看该作者

关于sendmail如何支持virtual user的问题请教。

在name service switch的配置文件nsswitch.conf中定义成下面这样:

passwd:     files mysql
shadow:     files mysql
group:      files mysql

是先查询files呢,还是先查询mysql?如果是先查询files(passwd,shadow,group),那岂不是没达到我的目的?

论坛徽章:
0
18 [报告]
发表于 2005-09-07 16:04 |只看该作者

关于sendmail如何支持virtual user的问题请教。

还是不是很理解,pam和nss的关系是怎样的?哪个是发生在login前?哪个是发生login后?是否是pam_mysql-->;nscd-->;nsswitch.conf-->;libnss-mysql?。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
19 [报告]
发表于 2005-09-07 16:54 |只看该作者

关于sendmail如何支持virtual user的问题请教。

原帖由 "chris Lung" 发表:
在name service switch的配置文件nsswitch.conf中定义成下面这样:

passwd:     files mysql
shadow:     files mysql
group:      files mysql

是先查询files呢,还是先查询mysql?如果是先查询files(passwd..........

你可以反過來,
也可以轉到 mysql 後將 passwd 的刪掉, 其是有順序性的

pam_mysql-->;nscd-->;nsswitch.conf-->;libnss-mysql 我想應是沒有錯的

论坛徽章:
0
20 [报告]
发表于 2005-09-07 16:58 |只看该作者

关于sendmail如何支持virtual user的问题请教。

原帖由 "abel" 发表:

你可以反過來,
也可以轉到 mysql 後將 passwd 的刪掉, 其是有順序性的


不能理解这句话。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP