还不错

我也有这个问题,AD密码修改的问题解决了吗?

问题解决了:
把 /var/www/roundcubemail/config/main.inc.php 的
$rcmail_config['autocomplete_addressbooks'] = array("sql", "ldap_global");
修改为:
$rcmail_config['autocomplete_addressbooks'] = array("sql", "domain.com");  //与上面的地址本名称一致

真正出错信息在此:


Apr 11 12:07:42 LINUX64 roundcube: PHP Error: Addressbook source (ldap_global) not found! in /var/www/roundcubemail-0.8.2/program/include/rcmail.php on line 463 (POST /mail/?_task=mail&_action=autocomplete?_task=&_action=)

AD集成是参考这个指导文档做的:
http://www.iredmail.org/wiki/index.php? … y.iRedMail

==== 必填信息。没有填写将不予回复 ====
- iRedMail 版本: 0.8.3
- 使用的 Linux/BSD 发行版名称及版本号: centos 5.5
- 与您的问题相关的日志信息:
====
使用与win 2003 AD集成。
收发邮件没有问题。
在发邮件时,填写发件人的时候,报错 (服务器错误SERVICE  CURRENTLY NOT AVAILABLE!)
当然不理会这个提示,填邮件地址还是可以发邮件的。

附上 /var/www/roundcubemail/config/main.inc.php   地址本部分,其他没有改动

$rcmail_config['ldap_public']["domain.com"] = array(
    'name'          => 'Global Address Book',
    'hosts'         => array("10.10.10.5"),     // <- Set AD hostname or IP address here.
    'port'          => 389,
    'use_tls'       => false,                 // <- Set to true if you want to use LDAPS. Change port to 636 on above line too.// ---- Used to search accounts only in the same domain. ----
    'user_specific' => false,
    'base_dn'       => "ou=DomainHome,dc=domain,dc=com",   // <- Set base dn in AD
    'bind_dn'       => "vmail",                     # <- bind dn
    'bind_pass'     => "qwe_123",                    // <- bind password
    'writable'      => false,                       # <- Do not allow mail user write data back to AD.
    'ldap_version'  => "3",
// ---- Search ----
    'search_fields' => array('userprincipalname','cn',),
    'name_field'    => 'cn',
    'email_field'   => 'userprincipalname',
    'surname_field' => 'sn',
    'firstname_field' => 'mail',
    'sort'          => 'cn',
    'scope'         => 'sub',
    'filter'        => "(|(mail=*@*)(userPrincipalName=*@*))",
    'fuzzy_search'  => true
);

在另一台机器测试,可以改密码。可能这个测试机器动过配置。
谢谢张工

又出现个问题,在roundcube 的密码插件中修改密码失败。
界面提示:无法保存新密码。

openldap.log


Mar 14 00:34:32 LINUX64 slapd[3347]: conn=2351 fd=23 ACCEPT from IP=127.0.0.1:43217 (IP=0.0.0.0:389)
Mar 14 00:34:32 LINUX64 slapd[3347]: conn=2351 op=0 BIND dn="mail=bail@gwrd.net,ou=Users,domainName=gwrd.net,o=domains,dc=gwrd,dc=net" method=128
Mar 14 00:34:32 LINUX64 slapd[3347]: conn=2351 op=0 BIND dn="mail=bail@gwrd.net,ou=Users,domainName=gwrd.net,o=domains,dc=gwrd,dc=net" mech=SIMPLE ssf=0
Mar 14 00:34:32 LINUX64 slapd[3347]: conn=2351 op=0 RESULT tag=97 err=0 text=
Mar 14 00:34:32 LINUX64 slapd[3347]: conn=2351 op=1 MOD dn="mail=bail@gwrd.net,ou=Users,domainName=gwrd.net,o=domains,dc=gwrd,dc=net"
Mar 14 00:34:32 LINUX64 slapd[3347]: conn=2351 op=1 MOD attr=userPassword shadowLastChange
Mar 14 00:34:32 LINUX64 slapd[3347]: conn=2351 op=1 RESULT tag=103 err=50 text=
Mar 14 00:34:32 LINUX64 slapd[3347]: conn=2351 op=2 UNBIND
Mar 14 00:34:32 LINUX64 slapd[3347]: conn=2351 fd=23 closed


/var/log/maillog

Mar 14 01:04:29 LINUX64 postfix/anvil[11807]: statistics: max cache size 2 at Mar 14 00:59:51
Mar 14 01:37:03 LINUX64 roundcube: PHP Warning:  ldap_modify() [<a href='function.ldap-modify'>function.ldap-modify</a>]: Modify: Insufficient access in /var/www/roundcubemail-0.8.2/plugins/password/drivers/ldap_simple.php on line 112

可以登录了,是我搞错了, 谢谢张总。

题外话:STORAGE_BASE_DIRECTORY 一定要检查一下。我居然这个设置错了

==== 必填信息。没有填写将不予回复 ====
- iRedMail 版本:  0.8.3
- 使用的 Linux/BSD 发行版名称及版本号: CentOS 5.5
- 与您的问题相关的日志信息:
====

刚才我导入了一部分用户到iredmail, 在iredadmin 和ldapadmin里都可以看到这些用户已经正确导入了。

但使用这些用户都没法登录,密码是同用户名。
在 http://host/mail  和  http://host/iredadmin  都没法登录。

有什么建议吗?

centos 5.5 没有 proftpd , 非官方库不知有没有

==== 必填信息。没有填写将不予回复 ====
- iRedMail 版本: 0.8.3
- 使用的 Linux/BSD 发行版名称及版本号:CentOS 5.5
- 与您的问题相关的日志信息:
====

本文档基于iredmail的OpenLDAP建立bugzilla 系统, bugzilla 和iredmail 及openldap 并不在同一台服务器

bugzilla是用的最多,很不错的bug跟踪系统,但他的安装难到了不少人.这边我写了一个简单安装指南.

安装配置Bugzilla

1.安装

yum install gd gd-devel httpd mysql mysql-server gcc g++ make perl make gcc-c++ libtool mysql-devel
#安装扩展库
rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/r … x86_64.rpm
#安装这些包
yum  install  perl-XML-Twig  ImageMagick-perl  mod_perl  perl-HTML-Parser  perl-Email-MIME-Attachment-Stripper  perl-Chart  perl-PatchReader   perl-Net-LDAP
service httpd start
cd /var/www/html
wget http://ftp.mozilla.org/pub/mozilla.org/ … BLE.tar.gz
#我安装当前是4.2.5
tar -zxvf bugzilla-STABLE.tar.gz
rm bugzilla-STABLE.tar.gz
chown -R apache:apache bugzilla-4.2.5
cd bugzilla-4.2.5
#检查少什么包,会提示你少什么,按提示命令安装缺少的包
./checksetup.pl --check-modules
#都安装完了,生成 localconfig
./checksetup.pl

编辑这个localconfig文档,以下贴上我的localconfig配置,作参考吧

$create_htaccess = 1;
$webservergroup = 'apache';
$use_suexec = 0;
$db_driver = 'mysql';
$db_host = 'localhost';
$db_name = 'bugs';
$db_user = 'bugs';
$db_pass = 'passwd';
$db_port = 0;
$db_sock = '';
$db_check = 1;
$index_html = 0;
$cvsbin = '/usr/bin/cvs';
$interdiffbin = '/usr/bin/interdiff';
$diffpath = '/usr/bin';
$site_wide_secret = 'CE4WvCEQx3T50cDcS2AjndYw8uMz1STw5Dt712tC458u4Y7KIEAS4MIQJboWZXc6';

2.生成Bugzilla数据库用户并分配权限

mysql -uroot -p 
mysql>create database bugs DEFAULT CHARACTER SET utf8 
mysql>GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES, CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY 'passwd'; 


3. 配置  /etc/httpd/conf.d/bugzilla.conf , 供参考:
<Directory "/var/www/html/bugzilla-4.2.5">
   AddHandler cgi-script .cgi
   Options +Indexes +ExecCGI
   DirectoryIndex index.cgi
   AllowOverride Limit FileInfo Indexes
</Directory>


到这步,bugzilla 就装好的,重启mysql和appache.登录 http://host/bugzilla-4.2.5 ,其他与iredmail及openldap 相关的都在网页上设置。

4. 通过浏览器登陆bugzilla, 选择参数parameter 准备切换到ladp 认证
   我的配置,供参考。   其他用户的权限等,都可以在bugzilla 中设置,无需在openldap中处理。

   'LDAPBaseDN' => 'ou=Users,domainName=gwsample.net,o=domains,dc=gwsample,dc=net',
   'LDAPbinddn' => 'cn=vmail,dc=gwsample,dc=net:lMUw7irAIb4jdeM6AT68qCRjK5R8gV',
   'LDAPfilter' => '(objectClass=*)',
   'LDAPmailattribute' => 'mail',
   'LDAPserver' => '192.168.162.145',
   'LDAPstarttls' => 0,
   'LDAPuidattribute' => 'uid',

5. bugzilla是英文的,如需要这个版本的汉化档,可友情提供,不过汉化文件有点小问题会出错,英文好就不建议使用。

其实我就是要基于iredmail 建立 ftp服务器,之前vsftpd有一些依赖等,较麻烦。现在是proftpd配置好且比较简单。
公司内部用的。
文档是基于网上的一些文档加上我的理解及配置信息整理的,可操作度达90%, 乱了点,见谅.

13

(15 篇回复,发表在 iRedMail 技术支持)

因为vsftpd 对ldap的 posixAccount  等属性有依赖,研究了proftpd服务器,这个配置比较快,参考见文档:
http://www.iredmail.com/bbs/topic2438-i … apftp.html

我这个文档比较简单,没有在openldap 里对ftp进行管理,ftp的配额及ldap组对ftp访问的管理等都没有涉及,可参考proftpd的文档进行配置。

==== 必填信息。没有填写将不予回复 ====
- iRedMail 版本: 0.8.3
- 使用的 Linux/BSD 发行版名称及版本号: CentOS 5.5
- 与您的问题相关的日志信息:
====


   ProFTPD 对 LDAP 的支持相当的完善,几乎堪称完美。而且也不对 LDAP 中的用户帐号有过多的限制。 和 LDAP 整合的关键设置, 本文建立的FTP服务和openldap 及iredmail 并不在同一个服务器,请注意。

   A。 首先安装:
    对版本说明一下,本文档基于1.3.2配置,其他版本配置项名称等会有变化,不保证一致。
    在安装前请准备源码编译环境, 这个就参考网上其他文档吧。

    开始安装proftpd:

    wget ftp://ftp.uk.proftpd.org/historic/sourc … 3.2.tar.gz
    tar xvzf proftpd-1.3.2.tar.gz
    cd proftpd-1.3.2
    ./configure --prefix=/usr/local/proftpd --with-modules=mod_ldap
    make
    make install

    检查一下有没有包括 mod_ldap 模块: /usr/local/sbin/proftpd -l

   B。编辑 /usr/local/proftpd/etc/proftpd.conf,
      以下是我的配置文档,根据你自己的情况修改:
        #Ldap 服务器地址
        LDAPServer 192.168.162.145
        #对ldap服务器读操作的用户与密码
    LDAPDNInfo cn=vmail,dc=gwsample,dc=net lMUw7irAIb4jdeM6AT68qCRjK5R8gV
    #BaseDN 以及 LDAP 查询的 filter 通过语句 LDAPDoAuth 提供
    LDAPDoAuth on "ou=Users,domainName=gwsample.net,o=domains,dc=gwsample,dc=net" "(&(uid=%u))"
    #使用用户提供的口令和搜索到的用户 DN 绑定 LDAP 服务器,来验证口令
    LDAPAuthBinds on
    #如果 LDAP 中没有用户ID和组ID,即没有 posixAccount 相关字段,使用缺省值。 注:下面的用户ID和组ID仅供参考,在我的机器上对应于 ftp:nogroup
    LDAPDefaultGID 65534
    LDAPDefaultUID 14
    LDAPForceDefaultGID on
    LDAPForceDefaultUID on
    LDAPDoUIDLookups off
    LDAPDoGIDLookups off
    #设置用户的主目录。设置为 /home/ftp 作为 LDAP 用户登录的主目录 注意:要事先创建 /home/ftp 目录,并正确授权,以便 proftpd 服务进程能够在其下创建子目录
    LDAPGenerateHomedir on
    LDAPGenerateHomedirPrefix /home/ftp
    LDAPForceGeneratedHomedir on
    # 在用户主目录下,创建用户个人目录。如果设置为 on,则所有用户共享同一主目录
    LDAPGenerateHomedirPrefixNoUsername off
    # 如果用户主目录不存在,创建它
    CreateHome on
    #允许用户没有合法 shell,也可以登录。因为 LDAP 用户如果没有 posixAccount 扩展,是没有 shell 设置的。而 ProFTPD 的 LDAP 指令集中没有缺省 shell 的设置。还好,可以设置为忽略
    RequireValidShell off

至此FTP就可以用了,只需要在iredadmin里增加用户,FTP就能登录,并且访问自己的目录。如果需要共用的FTP目录,根据LDAPDefaultUID设置权限即可。
 

C。以下是从原文档抄过来的,可能有用,自行研究吧。
LDAP 帐号和系统帐号和平共处
合并共处五项原则:

    LDAP 用户主目录位于 /data/ftp/home/<login> 下,每个用户能读写自己目录,不能写他人目录(可以读?)
    系统用户主目录位于 /home/<login> 下,只能访问自己目录,不能访问他人目录
    LDAP 用户的根相当于 /data/ftp,即 chroot 到 /data/ftp
    系统用户 FTP 登录后,能够访问整个文件系统
    LDAP 用户登录后,只读访问 /data/ftp/pub,但是系统用户可以向 pub 中写

要想实现上述五原则,真的要费很多周折。

    只对 nogroup 用户组用户设置 CHROOT

    DefaultRoot   /data/ftp   nogroup

    启用 PAM 认证(缺省启用)

    PersistentPasswd   on

    设置 /data/ftp 只读权限

    <Directory /data/ftp>
     Umask             022  022
     HideNoAccess on
     <Limit READ DIRS>
       AllowAll
     </Limit>
     <Limit WRITE>
       DenyAll
     </Limit>
    </Directory>

    设置用户主目录 /data/ftp/home 只读权限

    <Directory /data/ftp/home>
     Umask             022  022
     <Limit READ DIRS>
       AllowAll
     </Limit>
     <Limit WRITE >
       DenyAll
     </Limit>
    </Directory>

    设置用户对自己主目录的完全权限

    <Directory ~>
     Umask             022  022
     <Limit WRITE READ DIRS>
     AllowAll
     </Limit>
    </Directory>

    设置 /data/ftp/pub 目录权限:LDAP 用户只读,系统用户可写

    <Directory /data/ftp/pub>
     Umask             002  002
     <Limit WRITE>
       DenyGroup nogroup
       AllowGroup !nogroup
     </Limit>
     <Limit READ DIRS>
       AllowAll
     </Limit>
    </Directory>

至此,FTP 服务器和 LDAP 整合完毕。 FTP 协议因为明文传输口令,并不安全,架设 FTPS 可以提供更安全的 FTP 服务。

D。补充个Proftpd的启动脚本
   以源码方式编译安装的Proftpd是没有启动脚本的,也就是说用户不能通过简单的Server profptd start/stop/restart等操作。为了使用简便,我们建立一个Proftpd的启动脚本,把Proftpd加入系统SysV服务。
1. 建立启动脚本

    1. # vi /etc/rc.d/init.d/proftpd  
    2.  
脚本代码:
#!/bin/bashsh 

FTPD_BIN=/usr/local/proftpd/sbin/proftpd 

FTPD_CONF=/usr/local/proftpd/etc/proftpd.conf 

PIDFILE=/usr/local/proftpd/var/proftpd.pid 

if [ -f $PIDFILE ]; then 

pid=`cat $PIDFILE` 

fi 

if [ ! -x $FTPD_BIN ]; then 

echo "$0: $FTPD_BIN: cannot execute" 

exit 1 

fi 

case $1 in 

start) 

if [ -n "$pid" ]; then 

echo "$0: proftpd [PID $pid] already running" 

exit 

fi 

if [ -r $FTPD_CONF ]; then 

echo "Starting proftpd..." 

$FTPD_BIN -c $FTPD_CONF 

else 

echo "$0: cannot start proftpd -- $FTPD_CONF missing" 

fi 

;; 

stop) 

if [ -n "$pid" ]; then 

echo "Stopping proftpd..." 

kill -TERM $pid 

else 

echo "$0: proftpd not running" 

exit 1 

fi 

;; 

restart) 

if [ -n "$pid" ]; then 

echo "Rehashing proftpd configuration" 

kill -HUP $pid 

else 

echo "$0: proftpd not running" 

exit 1 

fi 

;; 

*) 

echo "usage: $0 {start|stop|restart}" 

exit 1 

;; 

esac 

exit 0 


Proftpd启动脚本中注意文件的

    1. FTPD_BIN=/usr/local/proftpd/sbin/proftpd  
    2.  
    3. FTPD_CONF=/usr/local/proftpd/etc/proftpd.conf  
    4.  
    5. PIDFILE=/usr/local/proftpd/var/proftpd.pid  
    6.  
三行,如果您的Proftpd不是安装在/usr/local/proftpd,请根据情况更改以上三行中Proftpd的路径!
2. 授予proftpd运行权限

    1. # chmod 755 /etc/rc.d/init.d/proftpd  
    2.  
3. 将httpd加入系统SysV服务并设置其开机自启动

    1. # chkconfig --add proftpd  
    2.  
    3. # chkconfig --level 3 proftpd on  
    4.  
这样,今后如需启动、停止、重启Proftpd就可以用以下方式了:

    1. # service profptd start  
    2.  
    3. # service proftpd stop  
    4.  
    5. # service proftpd restar

16

(15 篇回复,发表在 iRedMail 技术支持)

整理文档没有问题,我会整理一份  iRedMail + OpenLDAP + VsFTPd + SVN + Bugzilla + Samba  的应用OpenLDAP部署文档。
不过linux 我比较新手,实现起来的东西比较粗,没法象Pure-FTPd应用文档那样优秀,另外我只能写下相关的步骤和重要配置信息,可能没法对文档进行重现。

回到本主题,前贴的内容我测试了一下,还有一些设置需要测试和改进。
1. pam_filter 设置没用,好象posixAccount   是vsftpd必须的.
2. pam_lookup_policy no 设置没有效果。 不过不删除shadowlastchange项的解决办法就是把 shadowlastchange改成非0就可以登录了

还有个问题,登录后出现以下提示,
响应:    500 OOPS: cannot change directory:/mnt/vmail/vmail1/gwrd.net/t/e/s/test-2013.02.27.04.22.08/
现在的临时解决方法就是在ftp服务器创建这个路径,呵呵。 计划是看能不能第一次登录创建个个人目录。

17

(15 篇回复,发表在 iRedMail 技术支持)

posixAccount  不是要删除,而是要增加。普通用户原来没有这个值。
shadowLastChange 要删除才能登录,我想知道这个项删除对原来的iredmail系统有没有影响。
另外openldap不是独立安装的,是由iredmail 安装来的,和iredmail 在同一服务器

18

(15 篇回复,发表在 iRedMail 技术支持)

再补充一下,需要增加  posixAccount 和删除 shadowLastChange 值 就可以登录了。

19

(15 篇回复,发表在 iRedMail 技术支持)

张工,测试过了,把 ldap里的值 shadowLastChange 删除就可以登录了。 这个值有什么用吗?(默认是0)

20

(15 篇回复,发表在 iRedMail 技术支持)

谢谢,但是我看到系统里没有uid 这个属性啊?phpldapadmin 里看的

21

(15 篇回复,发表在 iRedMail 技术支持)

登录用户 postmaster


Mar  1 01:42:10 LINUX64 slapd[3347]: conn=1 fd=14 ACCEPT from IP=192.168.162.148:40252 (IP=0.0.0.0:389)
Mar  1 01:42:10 LINUX64 slapd[3347]: conn=1 op=0 BIND dn="cn=vmail,dc=gwrd,dc=net" method=128
Mar  1 01:42:10 LINUX64 slapd[3347]: conn=1 op=0 BIND dn="cn=vmail,dc=gwrd,dc=net" mech=SIMPLE ssf=0
Mar  1 01:42:10 LINUX64 slapd[3347]: conn=1 op=0 RESULT tag=97 err=0 text=
Mar  1 01:42:10 LINUX64 slapd[3347]: conn=1 op=1 SRCH base="ou=Users,domainName=gwrd.net,o=domains,dc=gwrd,dc=net" scope=2 deref=0 filter="(sn=postmaster)"
Mar  1 01:42:10 LINUX64 slapd[3347]: conn=1 op=1 SRCH attr=host authorizedService shadowExpire shadowFlag shadowInactive shadowLastChange shadowMax shadowMin shadowWarning uidNumber
Mar  1 01:42:10 LINUX64 slapd[3347]: conn=1 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text=
Mar  1 01:42:10 LINUX64 slapd[3347]: conn=1 op=2 BIND anonymous mech=implicit ssf=0
Mar  1 01:42:10 LINUX64 slapd[3347]: conn=1 op=2 BIND dn="mail=postmaster@gwrd.net,ou=Users,domainName=gwrd.net,o=domains,dc=gwrd,dc=net" method=128
Mar  1 01:42:10 LINUX64 slapd[3347]: conn=1 op=2 BIND dn="mail=postmaster@gwrd.net,ou=Users,domainName=gwrd.net,o=domains,dc=gwrd,dc=net" mech=SIMPLE ssf=0
Mar  1 01:42:10 LINUX64 slapd[3347]: conn=1 op=2 RESULT tag=97 err=0 text=
Mar  1 01:42:10 LINUX64 slapd[3347]: conn=1 op=3 BIND anonymous mech=implicit ssf=0
Mar  1 01:42:10 LINUX64 slapd[3347]: conn=1 op=3 BIND dn="cn=vmail,dc=gwrd,dc=net" method=128
Mar  1 01:42:10 LINUX64 slapd[3347]: conn=1 op=3 BIND dn="cn=vmail,dc=gwrd,dc=net" mech=SIMPLE ssf=0
Mar  1 01:42:10 LINUX64 slapd[3347]: conn=1 op=3 RESULT tag=97 err=0 text=
Mar  1 01:42:10 LINUX64 slapd[3347]: conn=2 fd=17 ACCEPT from IP=192.168.162.148:40253 (IP=0.0.0.0:389)
Mar  1 01:42:10 LINUX64 slapd[3347]: conn=2 op=0 BIND dn="" method=128
Mar  1 01:42:10 LINUX64 slapd[3347]: conn=2 op=0 RESULT tag=97 err=0 text=
Mar  1 01:42:10 LINUX64 slapd[3347]: conn=2 op=1 SRCH base="dc=gwrd,dc=net" scope=2 deref=0 filter="(&(objectClass=posixAccount)(uid=postmaster))"
Mar  1 01:42:10 LINUX64 slapd[3347]: conn=2 op=1 SRCH attr=userPassword cn gidNumber uidNumber loginShell objectClass gecos uid homeDirectory
Mar  1 01:42:10 LINUX64 slapd[3347]: conn=2 op=1 SEARCH RESULT tag=101 err=0 nentries=0 text=
Mar  1 01:42:10 LINUX64 slapd[3347]: conn=1 op=4 UNBIND
Mar  1 01:42:10 LINUX64 slapd[3347]: conn=1 fd=14 closed

22

(15 篇回复,发表在 iRedMail 技术支持)

谢谢张工,我把 /etc/vsftpd/vsftpd.conf 的 guest_enable=YES 和 guest_username=ftp 关闭了,postmaster也登录不上了。

如下为ldap日志(loglevel 256): 登录用户test

Mar  1 01:37:45 LINUX64 slapd[3347]: conn=0 fd=14 ACCEPT from IP=192.168.162.148:35965 (IP=0.0.0.0:389)
Mar  1 01:37:45 LINUX64 slapd[3347]: conn=0 op=0 BIND dn="cn=vmail,dc=gwrd,dc=net" method=128
Mar  1 01:37:45 LINUX64 slapd[3347]: conn=0 op=0 BIND dn="cn=vmail,dc=gwrd,dc=net" mech=SIMPLE ssf=0
Mar  1 01:37:45 LINUX64 slapd[3347]: conn=0 op=0 RESULT tag=97 err=0 text=
Mar  1 01:37:45 LINUX64 slapd[3347]: conn=0 op=1 SRCH base="ou=Users,domainName=gwrd.net,o=domains,dc=gwrd,dc=net" scope=2 deref=0 filter="(sn=test)"
Mar  1 01:37:45 LINUX64 slapd[3347]: conn=0 op=1 SRCH attr=host authorizedService shadowExpire shadowFlag shadowInactive shadowLastChange shadowMax shadowMin shadowWarning uidNumber
Mar  1 01:37:45 LINUX64 slapd[3347]: conn=0 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text=
Mar  1 01:37:45 LINUX64 slapd[3347]: conn=0 op=2 BIND anonymous mech=implicit ssf=0
Mar  1 01:37:45 LINUX64 slapd[3347]: conn=0 op=2 BIND dn="mail=test@gwrd.net,ou=Users,domainName=gwrd.net,o=domains,dc=gwrd,dc=net" method=128
Mar  1 01:37:45 LINUX64 slapd[3347]: conn=0 op=2 BIND dn="mail=test@gwrd.net,ou=Users,domainName=gwrd.net,o=domains,dc=gwrd,dc=net" mech=SIMPLE ssf=0
Mar  1 01:37:45 LINUX64 slapd[3347]: conn=0 op=2 RESULT tag=97 err=0 text=
Mar  1 01:37:45 LINUX64 slapd[3347]: conn=0 op=3 BIND anonymous mech=implicit ssf=0
Mar  1 01:37:45 LINUX64 slapd[3347]: conn=0 op=3 BIND dn="cn=vmail,dc=gwrd,dc=net" method=128
Mar  1 01:37:45 LINUX64 slapd[3347]: conn=0 op=3 BIND dn="cn=vmail,dc=gwrd,dc=net" mech=SIMPLE ssf=0
Mar  1 01:37:45 LINUX64 slapd[3347]: conn=0 op=3 RESULT tag=97 err=0 text=
Mar  1 01:37:45 LINUX64 slapd[3347]: conn=0 op=4 UNBIND
Mar  1 01:37:45 LINUX64 slapd[3347]: conn=0 fd=14 closed

23

(15 篇回复,发表在 iRedMail 技术支持)

好吧,我被打败了,折腾两天了还没搞定。
环境说明一下.
1. iredmail 0.8.3 独立服务器, 基本上没有改动。
2. 另一个服务器vsftpd, 基于centos 6.3, ldapsearch 查询是可以查到ldap的用户。
3. 也在各个独立服务器部署了 svn 和 bugzilla , 使用iredmail 验证没有问题。

现在状况是 postmaster 可以登录,其他用户不能。

相关信息如下,如需要补充我再贴

[root@gwrdftp ~]# cat /etc/pam_ldap.conf | egrep -v '^#' | egrep -v ^$
base ou=Users,domainName=gwrd.net,o=domains,dc=gwrd,dc=net
binddn cn=vmail,dc=gwrd,dc=net
bindpw xxxx
scope one
pam_login_attribute sn
uri ldap://192.168.162.145/
ssl no
tls_cacertdir  /etc/openldap/certs
pam_password crypt


[root@gwrdftp ~]# cat /etc/vsftpd/vsftpd.conf | egrep -v '^#' | egrep -v ^$
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=NO
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=ftp
log_ftp_protocol=YES



[root@gwrdftp ~]# cat /etc/pam.d/vsftpd | egrep -v '^#' | egrep -v ^$
auth       sufficient   pam_ldap.so
account    sufficient   pam_ldap.so
password   sufficient   pam_ldap.so
session    optional     pam_ldap.so



[root@gwrdftp log]# tailf vsftpd.log
Fri Mar  1 12:19:22 2013 [pid 2600] CONNECT: Client "192.168.18.12"
Fri Mar  1 12:19:22 2013 [pid 2600] FTP response: Client "192.168.18.12", "220 (vsFTPd 2.2.2)"
Fri Mar  1 12:19:22 2013 [pid 2600] FTP command: Client "192.168.18.12", "USER test"
Fri Mar  1 12:19:22 2013 [pid 2600] [test] FTP response: Client "192.168.18.12", "331 Please specify the password."
Fri Mar  1 12:19:22 2013 [pid 2600] [test] FTP command: Client "192.168.18.12", "PASS <password>"
Fri Mar  1 12:19:22 2013 [pid 2599] [test] FAIL LOGIN: Client "192.168.18.12"
Fri Mar  1 12:19:23 2013 [pid 2600] [test] FTP response: Client "192.168.18.12", "530 Login incorrect."
Fri Mar  1 12:21:01 2013 [pid 2657] CONNECT: Client "192.168.18.12"
Fri Mar  1 12:21:01 2013 [pid 2657] FTP response: Client "192.168.18.12", "220 (vsFTPd 2.2.2)"
Fri Mar  1 12:21:01 2013 [pid 2657] FTP command: Client "192.168.18.12", "USER postmaster"
Fri Mar  1 12:21:01 2013 [pid 2657] [postmaster] FTP response: Client "192.168.18.12", "331 Please specify the password."
Fri Mar  1 12:21:01 2013 [pid 2657] [postmaster] FTP command: Client "192.168.18.12", "PASS <password>"
Fri Mar  1 12:21:01 2013 [pid 2656] [postmaster] OK LOGIN: Client "192.168.18.12"
Fri Mar  1 12:21:01 2013 [pid 2664] [postmaster] FTP response: Client "192.168.18.12", "230 Login successful."
Fri Mar  1 12:21:01 2013 [pid 2664] [postmaster] FTP command: Client "192.168.18.12", "OPTS UTF8 ON"
Fri Mar  1 12:21:01 2013 [pid 2664] [postmaster] FTP response: Client "192.168.18.12", "200 Always in UTF8 mode."
Fri Mar  1 12:21:01 2013 [pid 2664] [postmaster] FTP command: Client "192.168.18.12", "PWD"
Fri Mar  1 12:21:01 2013 [pid 2664] [postmaster] FTP response: Client "192.168.18.12", "257 "/""
Fri Mar  1 12:21:04 2013 [pid 2666] CONNECT: Client "192.168.18.12"
Fri Mar  1 12:21:04 2013 [pid 2666] FTP response: Client "192.168.18.12", "220 (vsFTPd 2.2.2)"
Fri Mar  1 12:21:04 2013 [pid 2666] FTP command: Client "192.168.18.12", "USER test"
Fri Mar  1 12:21:04 2013 [pid 2666] [test] FTP response: Client "192.168.18.12", "331 Please specify the password."
Fri Mar  1 12:21:04 2013 [pid 2666] [test] FTP command: Client "192.168.18.12", "PASS <password>"
Fri Mar  1 12:21:04 2013 [pid 2665] [test] FAIL LOGIN: Client "192.168.18.12"
Fri Mar  1 12:21:05 2013 [pid 2666] [test] FTP response: Client "192.168.18.12", "530 Login incorrect."

24

(15 篇回复,发表在 iRedMail 技术支持)

==== 必填信息。没有填写将不予回复 ====
- iRedMail 版本: 0.8.3
- 使用的 Linux/BSD 发行版名称及版本号:Centos 5.5
- 与您的问题相关的日志信息:
====
张工好, 我基于openldap部署了Iredmail,  看起来应该没有问题。
我在另一台服务器安装vsftpd, 打算用iredmail服务器里的openldap来验证。
配置好后,发现只有postmaster 用户能够登录,其他任何用户都不行。好奇怪,为什么?

我相信非虚拟化的6.3没有问题,但虚拟化的6.3是旧的内核。