1 Centos7.0安装vsftpd
安装vsftpd
# 查看是否已安装 方法一
[root@localhost ~]# rpm -q vsftpd
vsftpd-3.0.2-21.el7.x86_64
# 查看是否已安装 方法二
[root@localhost ~]# vsftpd -v
vsftpd: version 3.0.2
# 安装 vsftpd
[root@localhost ~]# yum -y install vsftpd
查看位置
[root@localhost ~]# whereis vsftpd
vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz
修改配置文件
安装完成之后,配置文件在/etc/vsftpd目录
/etc/vsftpd/vsftpd.conf 主配置文件
/etc/vsftpd/ftpusers 配置到这里的用户,不能访问ftp
/etc/vsftpd/user_list 这里的用户默认情况(即在/etc/vsftpd/vsftpd.conf中设置了userlist_deny=YES)下也不能访问
write_enable=YES # 允许本地用户对FTP服务器文件具有写权限
local_enable=YES
local_umask=022 #设置本地用户默认文件掩码022
dirmessage_enable=YES
xferlog_enable=YES #启用上传和下载的日志功能,默认开启。
connect_from_port_20=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
#未用到设置
#listen_port=21
#anonymous_enable=YES #允许匿名登陆
#data_connection_timeout=120 # 数据连接超时时间
#guest_enable=YES # 设定启用虚拟用户功能
#guest_username=ftpuser # 指定虚拟用户的宿主用户 ftpuser
#user_config_dir=/etc/vsftpd/vuser_conf # 虚拟用户配置文件目录
#virtual_use_local_privs=YES # NO时,虚拟用户和匿名用户有相同的权限,默认是NO
#pasv_min_port=10060 # 被动模式最小端口号10060
#pasv_max_port=10090 # 被动模式最大端口号10090
#idle_session_timeout=600
#data_connection_timeout=300
#accept_timeout=60
#connect_timeout=60
#chroot_local_user=NO #是否限制用户在主目录活动
#chroot_list_enable=YES #启动限制用户的列表
#chroot_list_file=/etc/vsftpd/chroot_list #每行一个用户名
#allow_writeable_chroot=YES #允许写
#listen_ipv6=YES
#chroot_list 文件需要自己建,内容一行一个用户名字
#anon_root=/data/ftp/public #修改匿名用户的访问路径
启动vsftpd服务
systemctl start vsftpd.service 或 service vsftpd restart
2 防火墙设置
firewalld防火墙开启端口21 firewalld防火墙使用
#firewalld基本使用
systemctl start firewalld#启动
systemctl status firewalld #查看状态
systemctl disable firewalld#停止
systemctl stop firewalld#禁用
#添加
firewall-cmd --zone=public --add-port=21/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
#重新载入
firewall-cmd --reload
#查看
firewall-cmd --zone= public --query-port=21/tcp
#删除
firewall-cmd --zone= public --remove-port=21/tcp --permanent
3 FTP工具测试
http://www.jb51.net/article/103904.htm
4、遇到的问题
4.1 vsftp上传文件出现553 Could not create file
1、查看 SELinux状态及关闭SELinux
查看SELinux状态:
1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
2、getenforce ##也可以用这个命令检查
关闭SELinux:
1、临时关闭(不用重启机器):
setenforce 0 ##设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式
2、修改配置文件需要重启机器:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
2、检查ftp配置文件里有write_enable=YES
杀ftp进程 重启下
#ps aux | grep vsftpd (进程关键字)
#kill -9 进程号
或者
service vsftpd stop
service vsftpd start
3、
ftp的文件夹目录有
没有写权限
553 coweuld not create file