- 查询系统是否已经开启ftp服务
rpm -q vsftpd
- 安装vsftpd
yum -y install vsftpd # -y表示不用输入确定,直接一路安装到底
- 设置开机启动ftp
systemctl enable vsftpd
- 启动ftp
systemctl start vsftpd.service
- 查看ftp是否已经启动
ps -e |grep ftp #列出ftp有关的进程
- 开启防火墙 (ftp默认开启21端口)
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload
- 添加ftp用户
useradd -g root -d /var/ftp/fileAddress -s /usr/sbin/nologin username
注:表示新增一个username(用户名),
且指定上传目录在/var/ftp/fileAddress 下,
/var/ftp/fileAddress 是我自己已经存在的路径名。这里可以根据自己随意设置
8. 设置用户密码
passwd tradeCenter
- 配置selinux 允许ftp访问home和外网访问
setsebool -P allow_ftpd_full_access on
setsebool -P ftp_home_dir on
- 设置权限
chown -R username:root /var/ftp/fileAddress
chmod 777 /var/ftp/fileAddress-R
- 修改vsftp配置文件,禁用匿名登录
路径:/etc/vsftpd/vsftpd.conf
anonymous_enable=YES改为: anonymous_enable=NO
- 相关启动重启停止等命令
systemctl start vsftpd #启动
systemctl stop vsftpd #停止
systemctl status vsftpd #状态
systemctl restart vsftpd #重启
使用FZ进行文件上传下载测试
*主配置文件及文件内容详解
/etc/vsftpd/ftpusers 配置到这里的用户,不能访问ftp
/etc/vsftpd/user_list 这里的用户默认情况(即在/etc/vsftpd/vsftpd.conf中设置了userlist_deny=YES)下也不能访问FTP服务器
/etc/vsftpd/vsftpd.conf的配置项
chroot_list 文件需要自己建,内容一行一个用户名字
anon_root=/data/ftp/public #修改匿名用户的访问路径
anonymous_enable=YES #允许匿名登陆
local_enable=YES #启动home目录
write_enable=YES #ftp写的权限
local_umask=022
dirmessage_enable=YES #连接打印的消息
connect_from_port_20=YES #20端口
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=300
accept_timeout=60
connect_timeout=60
ascii_upload_enable=YES #上传
ascii_download_enable=YES #下载
chroot_local_user=NO #是否限制用户在主目录活动
chroot_list_enable=YES #启动限制用户的列表
chroot_list_file=/etc/vsftpd/chroot_list #每行一个用户名
allow_writeable_chroot=YES #允许写
listen=NO #监听端口
listen_ipv6=YES #监听ipv6
pasv_min_port=50000 允许ftp工具访问的端口起止端口
pasv_max_port=60000
pam_service_name=vsftpd #配置虚拟用户需要的
userlist_enable=NO #配置yes之后,user_list的用户不能访问ftp
tcp_wrappers=YES