标签:
前面笔者写过一篇"FTP本地用户"随笔,那只是一个案例,并没有完整的写出来作用、配置文件解析和原理,今天笔者将发布"FTP服务器的原理以及虚拟用户的配置"随笔
FTP服务的原理
† PORT(主动模式)
† PASV(被动模式)
两种模式的区别和哪种比较适合
† 主动模式传送数据时是"服务器"连接到"客户端"的端口
† 被动模式传送数据是“客户端"连接到"服务器"的端口
FTP服务程序"Vsftpd"的安装
† 非常高的安全性需求
† 带宽限制
† 创建虚拟用户
[root@vforbox ~]# mount /dev/cdrom /mnt/ //挂载到/mnt目录下 mount: block device /dev/sr0 is write-protected, mounting read-only [root@vforbox ~]# cd /etc/yum.repos.d/ //进入yum源定义文件目录 [root@vforbox yum.repos.d]# vim CentOS-Media.repo //配置Yum源(扩展名是.repo) [c6-media] //[]中是Yum源唯一的ID,名称可为任意字符串 name=CentOS-$releasever - Media //指定Yum源的名称,名称可为任意字符串 baseurl=file:///mnt //指定Yum源的URL路径,这里是我的光盘挂载路径 # file:///media/cdrom/ # file:///media/cdrecorder/ gpgcheck=0 //安装软件是否检测签名“0为禁用,1为激活” enabled=1 //是否激活Yum源“0为禁用,1为激活” gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 //检测签名的密钥文件 :wq! //保存并退出 [root@vforbox yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak //移动该文件到当前目录并加上.bak,如果不注释掉这个默认会线上安装
[root@vforbox ~]# yum -y install vsftpd
[root@vforbox ~]# ping -c 2 www.baidu.com PING www.a.shifen.com (61.135.169.121) 56(84) bytes of data. 64 bytes from 61.135.169.121: icmp_seq=1 ttl=52 time=39.5 ms 64 bytes from 61.135.169.121: icmp_seq=2 ttl=52 time=39.9 ms
[root@vforbox ~]# yum -y install vsftpd [root@vforbox ~]# chkconfig vsftpd on //开机启动 [root@vforbox ~]# service vsftpd start //启动服务 [root@vforbox ~]# netstat -ntulp | grep :21 //查看是否启动成功并监听 tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 4117/vsftpd
[root@vforbox ~]# rpm -ql vsftpd //查看vsftpd的安装目录 /etc/logrotate.d/vsftpd //日志轮转备份文件 /etc/pam.d/vsftpd //基于PAM的vsftpd验证配置文件 /etc/rc.d/init.d/vsftpd //vsftpd的启动文件,可使用server调用 /etc/vsftpd //vsftpd的主目录 /etc/vsftpd/ftpusers //默认的vsftpd的黑名单 /etc/vsftpd/user_list //可通过主配置文件来设置该文件为黑名单或白名单 /etc/vsftpd/vsftpd.conf //vsftpd的主配置文件 /usr/sbin/vsftpd //vsftpd主程序 /var/ftp //默认vsftpd共享目录
FTP服务程序"Vsftpd"的配置文件解析
listen=YES //是否监听端口,独立运行守护进程 listen_port=21 //监听入站ftp请求的端口号 write_enable=YES //是否允许写操作,全局开关 download_enable=YES //如果设置为NO,则拒绝所有的下载请求 dirmessage_enable=YES //用户进入目录是否显示消息 //在登陆的目录下创建一个.message文件写入登陆提示信息 xferlog_enable=YES //是否开启xferlog日志功能 xferlog_std_format=YES //xferlog日志格式 connect_from_port_20=YES //使用主动连接,启用20端口 pasv_enable=YES //是否启用被动连接 pasv_max_port=5000 //被动连接最大端口号 pasv_min_port=6000 //被动连接最小端口号 max_clients=1000 //最大可允许1000个客户端连接,0代表无限制 max_per_ip=0 //每个客户端的最大连接限制,0代表无限制 tcp_wrappers=YES //是否启用tcp_wrappers guest_enable=YES //如果为YES 则所有的非匿名登录都映射为guest_username指定账户 guest_username=ftp //设定来宾用户 user_config_dir/etc/vsftpd/conf //指定目录,在该目录下可以为用户设置独立的配置文件选项 dual_log_enable=NO //是否启用双日志功能,生存两个日志文件
local_enable=YES //是否启用本地账户功能 local_max_rate=500000 //FTP服务器的匿名用户最大传输速率 B/s,0为无限制 local_umask=077 //本地账户权限掩码 chroot_local_user=YES //为YES时在 chroot_list中不给用户切换到上级目录,其他都给与切换 chroot_list_enable=NO //为YES时 在 chroot_list中给用户切换到上级目录,其他的不允许 //当这两个都为YES时 chroot_list_enable 优先 chroot_list_file=/etc/vsftpd/chroot_list //chroot_list的文件目标 userlist_enable=YES //是否启用userlist用户列表 userlist_deny=YES //是否禁用userlist文件中的账户访问ftp local_root=/ftp/common //本地账户访问的FTP根路径
anonymous_enable=YES //是否允许匿名用户登录 anon_mkdir_writ_enable=YES //是否允许匿名账户创建目录,默认禁止 anon_other_writ_enable=YES //是否允许匿名账户进行所有其他写操作 anon_umask=077 //匿名上传权限掩码 anon_root=/var/ftp //匿名默认登陆的目录 anon_upload_enable=YES //是否允许匿名用户上传文件,则开启全局write_enable=YES chown_uploads=YES //是否允许匿名用户改变上传文件的属主 chown_usernamed=xxx //属主改为xxx"与上面配套使用" no_anon_password=YES //若是启动这项功能,则使用匿名登入时,不会询问密码 anon_max_rate=200000 //FTP服务器的匿名用户最大传输速率 B/s,0为无限制
FTP用户和文件共享
标签:
原文地址:http://www.cnblogs.com/vforbox/p/4793898.html