设为首页 收藏本站
查看: 2322|回复: 6

[经验分享] 快速搭建FTP服务器

[复制链接]

尚未签到

发表于 2013-1-8 09:01:56 | 显示全部楼层 |阅读模式
FTP服务器是一种常见的用于文件交换的服务,目前大小公司都有在用。最近公司有需求需要搭建FTP服务,就研究了一下。  本次主要是基于vsftpd的搭建和配置。
一、vsftpd简介:
vsftpd是一个UNIX类操作系统上运行的FTP服务器,它可以运行在Linux、BSD、Solaris、HP-UNIX等多种操作系统上面,是一个完全免费的、开发源代码的ftp服务器软件。目前主流的Linux发行版中都可以找到vsftpd的身影。
它有如下特点:
  • 程序小巧轻快,安装方便。
  • 安全性和稳定性较早期FTP有很大进步。
  • 配置简单。
二、学习安装和配置vsftpd:
实验环境:Centos 5.8 x86_64
测试环境关掉防火墙和selinux。
  • service iptables stop
  • setenforce 0

1、安装vsftpd
  • yum -y install vsftpd
2、vsftpd相关的目录及配置文件
  • /usr/sbin/vsftpd  vsftpd主程序。
  • /etc/init.d/vsftpd  vsftpd服务控制脚本。
  • /etc/pam.d/vsftpd  这个是vsftpd使用PAM模块时的相关配置文件,主要用来验证登陆FTP用户账号的身份。
  • /etc/vsftpd/  配置文件目录。
  • /etc/vsftpd/vsftpd.conf  vsftpd服务主配置文件,使用方法:参数=设定值。
  • /etc/vsftpd/ftpusers  与PAM模块的配置文件配合使用,主要填写FTP用户账号,一行一个。
  • /etc/vsftpd/user_list  vsftpd服务自己的用户账户控制文件,与vsftpd.conf配置文件中的userlist_enable、userlist_deny两个参数有关。
  • /var/ftp/  默认匿名用户根目录。
3、主配置文件vsftpd.conf详解
  • 与服务器环境较相关的设定值
  • connect_from_port_20=YES (NO)
  • 主动式连接时使用FTP服务器的端口号,就是FTP-date的端口号。
  • listen_port=21
  • vsftpd控制端口。
  • dirmessage_enable=YES (NO)
  • 当用户进入某个目录时,是否显示该目录需要注意的内容,显示信息的文件默认是 .message 。
  • message_file=.message
  • 当 dirmessage_enable=YES 时,可以修改默认显示信息文件的文件名。
  • listen=YES (NO)
  • 设置为YES表示以stand alone方式启动服务器,设置为NO则表示以super deamon的方式启动服务器。
  • pasv_enable=YES (NO)
  • 启动被动模式(passive mode),一定要设置为YES。
  • use_localtime=YES (NO)
  • 启用本地时间,一般需要设置为YES。因为vsFTPd默认使用GMT格林威治时间,这比东八区的时间早了8个小时,会使得服务器上的文件时间属性出现混乱。
  • write_enable=YES (NO)
  • 是否允许用户上传数据。
  • connect_timeout=60
  • 在数据连接主动模式下,发出的连接信号在60秒内没有得到客户端的响应,则强制断线。
  • accept_timeout=60
  • 在用户以PASV被动模式进行数据传输时,如果主机启动passive port并等待客户端超过60秒无回应,就强制断线。
  • data_connection_timeout=300
  • 在客户端和服务器的数据连接已经建立的情况下,如果在300秒内还是无法顺利完成数据传输,则客户端的连线会被vsFTPd强制断开。
  • idle_session_timeout=300
  • 如果用户在300秒内没有命令操作,则断线。
  • max_clients=0
  • 当vsFTPd以stand alone模式运行时,这个参数决定同一个IP、同一时间内被服务器允许的连接数。
  • max_per_ip=0
  • 与上面 max_clients 类似,这里是同一个 IP 同一时间可允许多少联机?
  • pasv_min_port=0, pasv_max_port=0
  • 这两个参数指定pasv模式使用的端口号的范围,0表示不限制。
  • ftpd_banner=一些文字说明
  • 用登入FTP时,显示的欢迎信息,可设定显示的信息内容较少。
  • banner_file=/path/file
  • 这个参数可以弥补FTPd_banner参数的不足,特别是当需要在服务器端展示较多的文字信息时(如站点说明,欢迎文字等等)。
  • 与实体用户较相关的设定值
  • guest_enable=YES (NO)
  • 开启访客用户,如果开启则所有的非匿名用户的均会被假设成访客身份。访客默认情况下使用FTP这个账户相关的权限设置,但是可以通过参数guest_username来修改。
  • guest_username=ftp
  • 在开启了guest_enable=YES之后才会生效,用来指定访客的身份。
  • local_enable=YES (NO)
  • 是否允许/etc/passwd中存在的实体用户帐号登陆vsFTPd服务器。
  • local_max_rate=0
  • 实体用户的传输速度限制,单位为bytes/second,0表示不限制。
  • chroot_local_user=YES (NO)
  • 将实体用户限制在自己的家目录之内,默认值为NO。
  • chroot_list_enable=YES (NO)、chroot_list_file=/etc/vsftpd.chroot_list
  • 这两个参数需要配合使用,用以将chroot_list文件中列出的用户限制在自己的默认目录中。
  • userlist_enable=YES (NO)、userlist_deny=YES (NO)、userlist_file=/etc/vsftpd/user_list
  • 参数userlist_enable=YES表示借助vsFTPd的阻止机制来处理user_list文件中列出的某些不受欢迎的帐号;当userlist_deny=YES时user_list文件中的帐号将被拒绝,当userlist_deny=NO时则表示允许user_list中的帐号登陆服务器;
  • 匿名者登入的设定值
  • anonymous_enable=YES (NO)
  • 是否允许匿名账户anonymous登录,以下参数均在允许情况下生效。
  • anon_world_readable_only=YES (NO)
  • 是否允许匿名用户具有只读权限。
  • anon_other_write_enable=YES (NO)
  • 是否允许匿名账户具有可写权限。
  • anon_mkdir_write_enable=YES (NO)
  • 是否允许匿名用户具有创建目录的权限。
  • anon_upload_enable=YES (NO)
  • 是否允许匿名用户具有上传文件的权限。
  • deny_email_enable=YES (NO)
  • 若是启动这项功能,则必须提供一个档案/etc/vsftpd/banner_emails,内容为email address。若是使用匿名登入,则会要求输入email address,若输入的email address 在此档案内,则不允许进入。默认值为NO。
  • banned_email_file=/etc/vsftpd/banned_emails
  • 如果 deny_email_enable=YES 时,可以利用这个设定项目来规定哪个 email address 不可登入我们的 vsftpd 喔!在上面设定的档案内,一行输入一个 email address 即可!
  • no_anon_password=YES (NO)
  • 此文件用来输入email address,只有在deny_email_enable=YES时,才会使用到此档案。若是使用匿名登入,则会要求输入email address,若输入的email address 在此档案内,则不允许进入。
  • anon_max_rate=0
  • 设置匿名登入者使用的最大传输速度,单位为B/s,0 表示不限制速度。默认值为0。
  • anon_umask=077
  • 设置匿名登入者新增或上传档案时的umask 值。默认值为077,则新建档案的对应权限为700。
  • 关于系统安全方面的一些设定值
  • ascii_download_enable=YES (NO)
  • 设置是否启用ASCII 模式下载数据。默认值为NO。
  • ascii_upload_enable=YES (NO)
  • 设置是否启用ASCII 模式上传数据。默认值为NO
  • one_process_model=YES (NO)
  • 是否使用单进程模式
  • tcp_wrappers=YES (NO)
  • 设置vsftpd是否与tcp wrapper相结合来进行主机的访问控制。默认值为YES。如果启用,则vsftpd服务器会检查/etc/hosts.allow 和/etc/hosts.deny 中的设置,来决定请求连接的主机,是否允许访问该FTP服务器。这两个文件可以起到简易的防火墙功能。
  • xferlog_enable=YES (NO)
  • 是否启用上传/下载日志记录。如果启用,则上传与下载的信息将被完整纪录在xferlog_file 所定义的档案中。预设为开启。
  • xferlog_file=/var/log/xferlog
  • 设置日志文件名和路径,默认值为/var/log/vsftpd.log。
  • xferlog_std_format=YES (NO)
  • 如果启用,则日志文件将会写成xferlog的标准格式,如同wu-ftpd 一般。默认值为关闭。
  • dual_log_enable=YES, vsftpd_log_file=/var/log/vsftpd.log
  • 如果启用该选项,将生成两个相似的日志文件,默认在 /var/log/xferlog 和 /var/log/vsftpd.log 目录下。前者是 wu-ftpd 类型的传输日志,可以利用标准日志工具对其进行分析;后者是Vsftpd类型的日志。
  • nopriv_user=nobody
  • 预设vsftpd服务的运行账户。
  • pam_service_name=vsftpd
  • 设置PAM使用的名称,默认值为/etc/pam.d/vsftpd。
4、配置实例
基于匿名用户的配置:
  • cd /etc/vsftpd/
  • vim vsftpd.conf
  • write_enable=YES
  • anonymous_enable=YES
  • no_anon_password=YES
  • anon_upload_enable=YES
  • anon_mkdir_write_enable=YES
  • anon_other_write_enable=YES
  • anon_root=/data/vsftpd
  • anon_world_readable_only=NO
  • syslog_enable=YES
  • connect_from_port_20=YES
  • pam_service_name=vsftpd
  • listen=YES

  • mkdir -p /data/vsftpd/upload
  • chmod 777 /data/vsftpd/upload
基于本地用户的配置:
  • cd /etc/vsftpd/
  • vim vsftpd.conf
  • anonymous_enable=NO
  • local_enable=YES
  • write_enable=YES
  • local_umask=022
  • dirmessage_enable=YES
  • xferlog_enable=YES
  • connect_from_port_20=YES
  • xferlog_std_format=YES
  • pam_service_name=vsftpd
  • userlist_enable=YES
  • listen=YES
  • tcp_wrappers=YES
  • userlist_deny=NO

  • useradd test
  • echo test | passwd --stdin test
  • echo "test" >> user_list
基于虚拟用户的配置:
  • yum -y install db4-utils
  • cd /etc/vsftpd/
  • vim virtual_userlist.txt
  • test1
  • 123456
  • test2
  • 123456

  • db_load -T -t hash -f /etc/vsftpd/virtual_userlist.txt /etc/vsftpd/virtual_userlist.db
  • chmod 600 /etc/vsftpd/virtual_userlist.db
  • vim /etc/pam.d/vsftpd.vu
  • auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/virtual_userlist
  • account required /lib64/security/pam_userdb.so db=/etc/vsftpd/virtual_userlist

  • useradd virtual_user -d /data/vsftpd
  • chmod 700 /home/ftpsite
  • chown virtual_user.virtual_user /data/vsftpd/
  • vim /etc/vsftpd/vsftpd.conf
  • anonymous_enable=NO
  • local_enable=YES
  • xferlog_enable=YES
  • connect_from_port_20=YES
  • xferlog_std_format=YES
  • listen=YES
  • listen_port=21
  • userlist_enable=YES
  • guest_enable=YES
  • guest_username=virtual_user
  • pam_service_name=vsftpd.vu
  • virtual_use_local_privs=YES
  • ftpd_banner=Welcome to opendoc FTP service.
  • write_enable=YES
  • anonymous_enable=NO
  • anon_world_readable_only=NO
  • anon_upload_enable=YES
  • anon_mkdir_write_enable=YES
  • anon_other_write_enable=YES
  • local_umask=022
  • download_enable=Yes
  • local_root=/data/vsftpd

关于服务器控制:
  • service vsftpd {start|stop|restart|condrestart|status}
客户端操作:
714067_1357556280UJu8.jpg
到此,vsftpd的安装配置算是告一段落了,如有问题请和我联系。。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-3117-1-1.html 上篇帖子: FTP的安装方法 下篇帖子: PSFTP的基本使用 服务器 搭建

尚未签到

发表于 2013-3-14 00:02:50 | 显示全部楼层
相当不错,感谢无私分享精神!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-16 00:32:42 | 显示全部楼层
做爱做的事,交配交的人。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-16 13:50:42 | 显示全部楼层
有事秘书干,没事干秘书!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 01:14:27 | 显示全部楼层
月经不仅仅是女人的痛苦,也是男人的痛苦。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 11:35:37 | 显示全部楼层
此地禁止大小便,违者没收工具。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 23:01:00 | 显示全部楼层
学习了,不错,讲的太有道理了

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表