热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Fedora和CentOS配置LDAP认证的vsftpd

公司内部的软件研发没有一个合适的发布方式向测试部门发布待测的软件版本,由于IT部门太土,自己又不太会搭建很复杂的持续集成系统,只好采用ftp服务器发布待测软件。目前软件研发部门拥有内部服务器一枚,是我向IT申请假设在VMware虚拟服务器内的一个Fedora14,上面装好了vsftpd服务,公司内网也有一台现成的LDAP认证服务器,不过配置非常简单。现在需求就是在这台Fedora

 公司内部的软件研发没有一个合适的发布方式向测试部门发布待测的软件版本,由于IT部门太土,自己又不太会搭建很复杂的持续集成系统,只好采用ftp服务器发布待测软件。目前软件研发部门拥有内部服务器一枚,是我向IT申请假设在VMware虚拟服务器内的一个Fedora14,上面装好了vsftpd服务,公司内网也有一台现成的LDAP认证服务器,不过配置非常简单。

现在需求就是在这台Fedora上面配置vsftpd,能够让用户使用windows域帐号登录,并且实现不同目录的不同权限管理。本人对LDAP认证不甚了解,只知道以前实习的时候Intel内部办公采用的就是微软一整套集成协作系统,用起来超级爽,几经尝试把现在公司里面的Notes邮件客户端用thunderbird替换掉了,而且为了方便联系人管理,成功添加了LDAP服务器作为联系人地址簿。

现在需要让vsftpd也使用这个东西认证,有点没头绪,先去网上搜了一下,大致的结果就是,70%的搜索结果内容和标题不吻合,完全没用;剩下20%的内容基本上都是作者也在尝试的过程中遇到奇怪的错误,导致认证不成功,属于求助贴,所以贴出来的配置也没啥参考价值;最后这10%的内容,作者倒是颇为笃定,也没说会出错啥的,就直接贴出配置文件内容,说明配置哪些服务,就结束了。要命的是,最后这些配置基本上都是在Ubuntu上完成的,fedora上面屡试不过阿- -#

搜索的时候加上了关键字fedora,结果更要命,所有人都说fedora上面配置不能,一不小心系统不能登录了……我了个去,有这么恐怖。回头想想,管他呢,反正是虚拟机,于是就按照unbuntu的步骤上去实验了,后果果然很严重,搞了半天ftp认证不通过,网络断了一次,再登录,我擦阿,本地帐号的认证全都拒绝了,悲了个剧阿……

幸好是虚拟机,找IT打开VMware的控制台,用我自己的帐号进去查看了一下log,发现原因了,因为看网上的帖子,认证的时候让配置一个nsswitch的东西,虽然不知道是啥,就配了,后来发现就是这个东西搞的鬼,相关配置的目的是把本地帐号也采用LDAP认证去了,而我本地帐号的LDAP配置还没写好,于是悲剧了。后来也是做好了重装虚拟机的心理准备之后,猛然发现,先前打开的一个ssh连接,当时一致连着却始终没有走到登录成功的地方,却也没说连不上,就没去管他,原来这货去尝试认证LDAP之后一致卡在哪里,试过各自配置文件里指定的认证方式之后,终于failover到本地帐号passwd文件认证了,于是成功登入系统,果断把那些做错的配置改回来……虚惊一场阿

为了不把服务器上的wiki废掉,我还是自己装个CentOS先搞搞吧,于是自己装虚拟机搞起来,经过反复尝试,逐一把网上的配置筛选,不断的打开关闭某个配置项,删掉没用的配置,终于得出了系统装好之后,在默认配置下进行最小修改能够成功通过认证的配置方式。其中如果出现什么差错,失败的记录尽量去翻log,比如/var/log/messages,/var/log/secure等等,如果是登入认证失败,通常是secure文件会记录下来,登入之后的操作失败可以去看message或者/var/log/vsftpd或是其他你的ftp服务器指定的log文件。

下面是配置方法。

首先简要说明,vsftpd服务器的认证方式可以选用第三方认证插件替代自带的机制,这里采用PAM模块,所以需要让vsftpd配置为采用PAM认证。

第二,PAM认证方式因为是插件模式,其支持为许多软件提供第三方认证,所以其配置文件和是和调用PAM发起认证的软件一一对应,针对每个软件的不同需要,给PAM插件指定不同的后续认证方式,这里PAM的vsftpd配置就要指定成LDAP,这样就是告诉PAM当vsftpd服务器来发起认证的时候,你PAM就应该拿ftp服务器传递给你的帐号信息去做LDAP认证。

第三,以我目前所知,LDAP的认证方式在系统内是唯一的,www.linuxidc.com也就是说这个系统上不管是谁需要进行LDAP认证,都只能指定一套配置,一个LDAP服务器,我暂时还不了解能否为不同服务指定不同的LDAP服务器,这里指定好LDAP的服务器配置之后,PAM发起的LDAP认证就会来到LDAP这里,相关软件就会去LDAP服务器查询认证信息(我这里用的是openldap)

以下配置验证过的系统:Fedora14及以上,Centos6.0及以上

1. 完成配置所需的软件组件 

   在最小安装系统的基础上安装vsftpd和pam_ldap.so,或者在安装系统时勾选指定组件:

Base System -> Directory Client -> pam_ldap
Servers -> Ftp Server

2. 关闭防火墙以简化配置

    安装完成后进入系统,为了方便起见,首先关闭防火墙,配置完成后根据需要修改防火墙配置再启动防火墙

service iptables stop #effective immediately
chkconfig iptables off #maintain off

3. 关闭SElinux以简化配置

    如果安装了SElinux,且不懂配置的,建议将其关闭。方法是修改/etc/selinux/config文件的如下内容

SELINUX=disabled #effective after restart

4. 配置PAM的LDAP认证参数

   设置pam的ldap认证配置,修改/etc/pam_ldap.conf文件,www.linuxidc.com设置如下几个参数

host 10.0.1.1
base cn=users,dc=server,dc=embedway,dc=com
binddn cn=ldap,cn=users,dc=server,dc=embedway,dc=com
bindpw 123456@E
pam_login_attribute sAMAccountName

5. 配置vsftpd服务使用PAM的方式

   设置vsftpd的pam认证配置,修改/etc/pam.d/vsftpd,添加如下两行

auth    sufficient pam_ldap.so #keep this as the first 'auth' item
account sufficient pam_ldap.so #keep this as the first 'account' item

6. 配置vsftpd服务

   设置vsftpd,启用guest用户以便配合ldap认证。在/etc/vsftpd/vsftpd.conf文件最下面添加如下内容(如果不是新安装的系统,则可能要适当修改其他选项)

   前提是你的默认vsftpd配置文件内已经存在一项“pam_service_name=vsftpd

guest_enable=YES
guest_username=ftp

7. 启动ftp服务

   执行如下命令启动ftp服务器

service vsftpd start #effective immediately
chkconfig vsftpd on  #autostart after system bootup

到此为止,全部配置完成~

更多Fedora相关信息见Fedora 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=5


推荐阅读
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • 本文介绍了在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一,尤其是在大规模系统中,数据库集群已经成为必备的配置之一。文章详细介绍了主从数据库架构的好处和实验环境的搭建方法,包括主数据库的配置文件修改和设置需要同步的数据库等内容。MySQL的主从复制功能在国内外大型网站架构体系中被广泛采用,本文总结了作者在实际的Web项目中的实践经验。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 本文介绍了在Ubuntu 11.10 x64环境下安装Android开发环境的步骤,并提供了解决常见问题的方法。其中包括安装Eclipse的ADT插件、解决缺少GEF插件的问题以及解决无法找到'userdata.img'文件的问题。此外,还提供了相关插件和系统镜像的下载链接。 ... [详细]
author-avatar
我们的北京宫
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有