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

[经验分享] Linux下FTP服务器原理简介及简单应用

[复制链接]

尚未签到

发表于 2012-9-15 08:45:14 | 显示全部楼层 |阅读模式
v 常见的FTP服务器程序
ü Win:IIS、Serv-U
ü Linux:wu-ftpd,Proftpd,vsftpd(Very Secure FTP Daemon)
v 常见的FTP客户端程序
ü ftp命令(cmd),浏览器
ü CuteFTP、FlashFXP、LeapFTP、Filezilla
ü gftp、kuftp
v FTP连接方式
ü 控制连接:标准端口为21,用于发送FTP命令信息
ü 数据连接:标准端口为20,用于上传、下载数据
v 数据连接的建立类型:
ü 主动模式:服务端从20端口主动向客户端发起连接
ü 被动模式:服务端在指定范围内的某个端口被动等待客户端发起连接
v FTP传输模式
ü 文本模式:ASCII模式,以文本序列传输数据
ü 二进制模式:Binary模式,以二进制序列传输数据
v FTP用户的类型
ü 匿名用户:anonymousftp
ü 本地用户:
?  帐号名称、密码等信息保存在passwd、shadow文件中
ü 虚拟用户:
?  使用独立的帐号/密码数据文件
v常用的FTP指令
pwd  cd       lcd       bye           help     ascii binary
dir        !dir      get      mget         put      !put     
[iyunv@ftp ~]# man 5 vsftpd.conf       #参考手册
vsftpd服务基础
vsftpd软件包:
ü 官方站点:http://vsftpd.beasts.org/
ü 主程序:/usr/sbin/vsftpd
ü 服务名:vsftpd
ü 用户控制列表文件
?  /etc/vsftpd/ftpusers
?  /etc/vsftpd/user_list
ü 主配置文件
?  /etc/vsftpd/vsftpd.conf
安装vsftpd指令:
[iyunv@ftp ~]# yum info vsftpd
[iyunv@ftp ~]# yum install vsftpd -y
[iyunv@ftp ~]# rpm -qc vsftpd
/etc/vsftpd/vsftpd.conf
v常用的全局配置项
ü listen=YES:是否以独立运行的方式监听服务
ü listen_address=192.168.4.1:设置监听的IP地址
ü listen_port=21:设置监听FTP服务的端口号
ü write_enable=YES:是否启用写入权限
ü download_enable=YES:是否允许下载文件
ü userlist_enable=YES:是否启用user_list列表文件
ü userlist_deny=YES:是否禁用user_list中的用户
ü max_clients=0:限制并发客户端连接数
ü max_per_ip=0:限制同一IP地址的并发连接数
v常用的匿名FTP配置项
ü anonymous_enable=YES:启用匿名访问
ü anon_umask=022:匿名用户所上传文件的权限掩码
ü anon_root=/var/ftp:匿名用户的FTP根目录
ü anon_upload_enable=YES:允许上传文件
ü anon_mkdir_write_enable=YES:允许创建目录
ü anon_other_write_enable=YES:开放其他写入权
ü anon_max_rate=0:限制最大传输速率,单位为字节
v常用的本地用户FTP配置项
ü local_enable=YES:是否启用本地系统用户
ü local_umask=022:本地用户所上传文件的权限掩码
ü local_root=/var/ftp:设置本地用户的FTP根目录
ü chroot_local_user=YES:是否将用户禁锢在主目录
ü local_max_rate=0:限制最大传输速率(字节/秒)
[iyunv@ftp ~]# man 5 vsftpd.conf       #参考手册
vsftpd主要设置文件/etc/vsftpd/vsftpd.conf详解:
12 anonymous_enable=YES   #匿名账户可以登录
15 local_enable=YES              #本地账户可以登录
18 write_enable=YES             #本地账户可写权限
22 local_umask=022              #umask值(用于权限控制)
23 anon_umask=022
27 #anon_upload_enable=YES          #匿名账户是否上传文件
31 #anon_mkdir_write_enable=YES   #匿名账户是否可以创建目录
anon_other_write_enable       #匿名账户其它的写权限(删除等)
35 dirmessage_enable=YES               #启用目录说明功能
(切换到目录下,显示一些消息,在目录下创建.message文件)
38 xferlog_enable=YES          #是否启用日志文件
51 #xferlog_file=/var/log/vsftpd.log       #日志文件位置
54 xferlog_std_format=YES    #日志格式
41 connect_from_port_20=YES    #连接时打开20端口
46 #chown_uploads=YES            #上传身份是否改变
47 #chown_username=whoever #改变上传身份
57 #idle_session_timeout=600           #会话超时
60 #data_connection_timeout=120   #连接超时
79 #ascii_upload_enable=YES           #是否允许使用ascii上传
80 #ascii_download_enable=YES       #是否允许使用ascii下载
83 #ftpd_banner=Welcome to blah FTP service.      #欢迎条幅
87 #deny_email_enable=YES       #是否拒绝邮箱登陆
88 # (default follows)
89 #banned_email_file=/etc/vsftpd/banned_emails#拒绝邮箱登陆文件
94 chroot_list_enable=YES           #允许本地账户切换目录(跳出家目录)
96 chroot_list_file=/etc/vsftpd/chroot_list          #此文件中的账户将不能切换家目录(必须结合chroot_list_enable=YES )
#chroot_local_user=YES   #禁止所有用户切换根目录
(chroot_list_enable=YES,chroot_local_user=YES,
chroot_list_file=/etc/vsftpd/chroot_list此时只有放入列表中的账户可以切换,其它账户不能切换)
107 listen=YES      #监听功能打开
114 pam_service_name=vsftpd         #pam可插拔的验证模块
(设置pam的认证服务的配置文件名称,存入/etc/pam.d/目录下)
115 userlist_enable=YES   #启用账户限制,启用/etc/vsftpd/user_list文件
userlist_deny=YES      #禁止user_list中文件访问,不让输密码
userlist_deny=NO      #只允许user_list中账户访问
(/etc/vsftpd/user_list不让输密码,/etc/vsftpd/ftpusers允许输密码)
【说明:在/etc/vsftpd/user_list中 # If userlist_deny=NO, only allow users in this file# If userlist_deny=YES (default), never allow users in this file, and do not even prompt for a password.】
116 tcp_wrappers=YES     #启动系统的简易防火墙
28b700d2a208f15a0aec54023bfd9f2a.png
pasv_max_port     #被动连接的最大端口
pasv_min_port     #被动连接的最小端口
local_max_rate=1000000        #本地账户最大传输速率1M/s
anon_max_rate=100000         #匿名账户最大传输速率100K/s
ftp服务器应用之虚拟用户
[iyunv@ftp ~]# mkdir /mnt/cdrom/
[iyunv@ftp ~]# mount /dev/cdrom /mnt/cdrom/
[iyunv@ftp Server]# rpm -ivh vsftpd-2.0.5-12.el5.i386.rpm
[iyunv@ftp Server]# rpm -ivh db4-utils-4.3.29-9.fc6.i386.rpm
[iyunv@ftp Server]# cd /etc/vsftpd/
[iyunv@ftp vsftpd]# vim vuser.txt
zhangsan
123
lisi
123
[iyunv@ftp vsftpd]# db_load -T -t hash -f vuser.txt vuser.db
[iyunv@ftp vsftpd]# chmod 600 vuser.db
[iyunv@ftp vsftpd]# cd /etc/pam.d/
[iyunv@ftp pam.d]# ll
[iyunv@ftp pam.d]# cp vsftpd vsftpd.vu
[iyunv@ftp pam.d]# vim vsftpd.vu
#%PAM-1.0
auth       required   pam_userdb.so db=/etc/vsftpd/vuser
account    required pam_userdb.so db=/etc/vsftpd/vuser
[iyunv@ftp pam.d]# vim /etc/vsftpd/vsftpd.conf
114 guest_enable=YES
115 guest_username=qq
116 pam_service_name=vsftpd.vu
[iyunv@ftp pam.d]# useradd -d /home/virtual qq
[iyunv@ftp pam.d]# cd /home/
[iyunv@ftp home]# chmod 755 virtual/
[iyunv@ftp home]# mkdir virtual/d1
[iyunv@ftp home]# touch virtual/f1
[iyunv@ftp home]# service vsftpd start
Starting vsftpd for vsftpd:                                [ OK ]
客户端测试,使用虚拟账号zhangsan成功登录ftp。如下所示:
bb2066a469b4f66eec2d0e114f032894.png
参考资料:
FTP 是文件传输协议 (File Transfer Protocol) 的简写,主要的功能是进行服务器与客户端的档案管理、传输等事项;
?FTP 的服务器软件非常多,例如 Wu FTP, Proftpd, vsftpd 等等,各种 FTP 服务器软件的发展理念并不相同, 所以选择时请依照你的需求来决定所需要的软件;
?FTP 使用的是明码传输,而过去一些 FTP 服务器软件也曾被发现安全漏洞,因此设定前请确定该软件已是最新版本,避免安全议题的衍生;
?由于 FTP 是明码传输,其实可以使用 SSH 提供的 sftp 来取代 FTP ;
?大多数的 FTP 服务器软件都提供 chroot 的功能,将实体用户限制在他的家目录内;
?FTP 这个 daemon 所开启的正规埠口为 20 与 21 ,其中 21 为命令通道, 20 为主动联机的数据传输信道;
?FTP 的数据传输方式主要分为主动与被动(Passive, PASV),如果是主动的话,则 ftp-data 在服务器端主动以 port 20 连接到客户端,否则需开放被动式监听的埠口等待客户端来连接;
?在 NAT 主机内的客户端 FTP 软件联机时可能发生困扰,这可以透过 iptables 的 nat 模块或利用被动式联机来克服;
?一般来说, FTP 上面共有三个群组,分别是实体用户、访客与匿名登录者(real, guest, anonymous);
?可以藉由修改 /etc/passwd 里面的 Shell 字段,来让使用者仅能使用 FTP 而无法登入主机;
?FTP 的指令、与用户活动所造成的登录档是放置在 /var/log/xferlog 里面;
?vsftpd 为专注在安全议题上而发展的一套 FTP 服务器软件,他的配置文件在 /etc/vsftpd/vsftpd.conf
FTP 在建立联机以及数据传输时,会建立哪些联机?
需建立两种联机,分别是命令信道与数据传输信道。在主动式联机上为 port 21(ftp) 与 port 20(ftp-data)。
?FTP 主动式与被动式联机有何不同?
主动式联机的时候,命令联机是由 client 端主动连接到服务器端,但是 ftp-data 则是由服务器端主动的联机到 client 端。至于被动式联机的时候,则不论 command 还是 ftp-data 的联机,服务器端都是监听客户端的要求的!
?有哪些动作可以让你的 FTP 主机更为安全 (secure) ?
o 随时更新服务器软件到最新版本;
o 让 guest 与 anonymous 的家目录限制在固定的目录中(chroot 或是 restricted);
o 拒绝 root 的登入或者其他系统账号的登入;
o 拒绝大部分的 upload 行为!
? 我们知道 ftp 会启用两个 ports ,请问这两个 port 在哪里规范的 (以 vsftpd 为例)?而且,一般正规的 port 是几号?
? 若为 stand alone 时,都是由 vsftpd.conf 规范,命令通道为 listen_port=21 规范,数据连接为 connect_from_port_20=YES 及pasv_max_port=0, pasv_max_port=0 所规范。 若是 super daemon 所管理时,命令信道则由 /etc/services 所规范了。
? 那几个档案可以用来抵挡类似 root 这种系统账号的登入 FTP?
? /etc/vsftpd/ftpusers /etc/vsftpd/user_list
? 在 FTP 的 server 与 client 端进行数据传输时,有哪两种模式?为何这两种模式影响数据的传输很重要?
? 数据的传输有 ASCII 与 Binary 两种方式,在进行 ascii 传送方式时,被传送的档案将会以文本模式来进行传送的行为, 因此,档案的属性会被修改过,可能造成执行档最后却无法执行等的问题!一般来说,ASCII 通常仅用在文本文件与一些原始码档案的传送。
? 我的主机明明时区设定没有问题,但为何登入 vsftpd 这个 FTP 服务时,时间就是少八小时?该如何解决?
? 肯定是时区方面出了问题,应该就是 vsftpd.conf 里面少了『 use_localtime=YES 』这个参数了。
5d37290d665131cc32c289635ed2d217.png
35ddb7c143a0870003508249a9a76de6.png
ccbae2751c01f84f300b649fee78eaf6.png

运维网声明 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-1150-1-1.html 上篇帖子: RHEL下的FTP服务的整理扎记 下篇帖子: linux下的实现FTP服务器的安全搭建 服务器 应用 Linux

尚未签到

发表于 2013-3-13 17:29:45 | 显示全部楼层
相当不错,感谢无私分享精神!

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

尚未签到

发表于 2013-5-15 20:47:06 | 显示全部楼层
爱——不是想出来的,爱——是做出来的!!

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

尚未签到

发表于 2013-5-16 07:59:24 | 显示全部楼层
商女不知亡国恨、妓女不懂婚外情。

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

尚未签到

发表于 2013-5-16 18:52:22 | 显示全部楼层
昨天,系花对我笑了一下,乐得我晚上直数羊,一只羊,两只羊,三只羊……

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

尚未签到

发表于 2013-5-17 08:20:56 | 显示全部楼层
没看完~~~~~~ 先顶,好同志

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

尚未签到

发表于 2013-5-17 17:28:53 | 显示全部楼层
一时的冲动,子孙的危机!

运维网声明 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

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