linux FTP服务原理及vsfptd的安装、配置
1、FTP服务原理


2、查看是否已经安装vsftpd

3、如果没有,就安装

4、修改配置文件/etc/vsftpd/vsftpd.conf
将允许匿名用户登录
anonymous_enable=YES
但要限制其权限:
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
限制下限速率及设置日志文件
anon_max_rate=512000
xferlog_enable=YES
xferlog_file=/var/ftp/pub/xferlog
将下面两行的注释”#”去掉,锁定本地用户的家目录。
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list

5、在/etc/vsftpd/下新建文件chroot_list

6、在chroot_list里面输入FTP用户的用户名每个用户一行

7、添加webftp用户组,用来承载我们的FTP授权用户

8、添加ftp用户并指定ftp目录

9、设置密码

10、目录付权限

11、配置基本安全策略
# getsebool -a | grep ftp列出所有selinux全部ftp策略。#setsebool allow_ftpd_full_access on允许FTP完全访问。# iptables -I INPUT -p tcp --dport 80 -j ACCEPT插入防火墙规则(CentOS里用-A添加一条规则会处于链表尾,但表尾貌似不起作用,所以用-I插入到链表头),这条规则的意思是所有INPUT到服务器的包,-p如果是tcp协议的,--dport目标端口是80端口的,-j那么就ACCEPT。# iptables -I INPUT -p tcp --dport 21 -j ACCEPT同样的方法接受所有要到达服务器21端口的tcp包。# modprobe ip_conntrack_ftp载入IP连线跟踪模块。记住最后这一步(第九步)的基本安全策略配置在重启后全部失效,你需要重新配置一遍,当然通过修改selinux和iptables的配置文件或service iptables save是可以保持这些策略的。但你应该清晰的认识到一个问题:一个服务器应该总是保持开启状态的,如果服务器重启了,那么只有两种可能,一种是在你的控制之下,一种不在你的控制之下,当服务器重启事件不在你的控制之下时,那么你应该认识到这是很危险的情况,那么刚才那些“放行”的策略应该完全失效而不是继续保持才对。
12、CentOs6.5中安装和配置vsftp简明教程
.代码如下:
#安装vsftpd
yum-y install vsftpd
#启动
service vsftpd start
#开启启动
chkconfig vsftpd on
二、vsftp相关命令之服务篇
.代码如下:
#启动ftp服务
service vsftpd start
#查看ftp服务状态
service vsftpd status
#重启ftp服务
service vsftpd restart
#关闭ftp服务
service vsftpd stop
三、vsftp配置篇
.代码如下:
#进入vsftpd配置文件
vim/etc/vsftpd/vsftpd.conf
#禁止匿名用户anonymous登录
anonymous_enable=NO
#允许本地用户登录
local_enable=YES
#让登录的用户有写权限(上传,删除)
write_enable=YES
#默认umask
local_umask=022
#把传输记录的日志保存到/var/log/vsftpd.log
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=NO
#允许ASCII模式上传
ascii_upload_enable=YES
#允许ASCII模式下载
ascii_download_enable=YES
#使用20号端口传输数据
connect_from_port_20=YES
#欢迎标语
ftpd_banner=Welcome to use my test ftp server.
#接下来的三条配置很重要
#chroot_local_user设置了YES,那么所有的用户默认将被chroot,
#也就用户目录被限制在了自己的home下,无法向上改变目录。
#chroot_list_enable设置了YES,即让chroot用户列表有效。
#★超重要:如果chroot_local_user设置了YES,那么chroot_list_file
#设置的文件里,是不被chroot的用户(可以向上改变目录)
#★超重要:如果chroot_local_user设置了NO,那么chroot_list_file
#设置的文件里,是被chroot的用户(无法向上改变目录)
chroot_list_enable=YES
#touch/etc/vsftpd/chroot_list新建
chroot_list_file=/etc/vsftpd/chroot_list
use_localtime=YES
#以standalone模式在ipv4上运行
listen=YES
#PAM认证服务名,这里默认是vsftpd,在安装vsftpd的时候已经创建了这个pam文件,
#在/etc/pam.d/vsftpd,根据这个pam文件里的设置,/etc/vsftpd/ftpusers
#文件里的用户将禁止登录ftp服务器,比如root这样敏感的用户,所以你要禁止别的用户
#登录的时候,也可以把该用户追加到/etc/vsftpd/ftpusers里。
pam_service_name=vsftpd
#重启vsftpd
service vsftpd restart
四、vsftp用户篇
.代码如下:
#创建用户
useradd-d/home/webapps/www.xxx.com-s/sbin/nologin-M hzh1990
#设置用户到文件夹
chown-R username/home/webapps/www.xxx.com/public
#设置权限
chown-R 777/home/webapps/www.xxx.com/public
#添加密码
passwd hzh1990->密码->确认密码