安装vsftpd软件
yum install -y vsftpd
启动服务
启动:
service vsftpd start
停止:
service vsftpd stop
重启:
service vsftpd restart
用户访问
首先,创建个目录用来存放 ftp 上传的文件,这里以 /ftp/lycase/ 为例
然后,创建 ftpuser 用户,只有上传权限,没有登录服务器权限:
useradd ftpuser -d /ftp/lycase/ -s /sbin/nologin
授权:
chown -R ftpuser:ftpuser /ftp/lycase/
修改 ftpuser 的密码:
修改配置文件:
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO:关闭匿名访问
local_enable=YES :设定本地用户可以访问
write_enable=YES:设定可以进行写操作
anon_upload_enable=NO:禁止匿名用户上传
anon_mkdir_write_enable=NO:禁止匿名用户建立目录
connect_from_port_20=YES:设定端口20进行数据连接(主动模式)
chown_uploads=NO:设定禁止上传文件更改宿主
xferlog_enable=YES:设定开启日志记录功能
xferlog_file=/var/log/xferlog:设定Vsftpd的服务日志保存路径。
chroot_local_user=YES
chroot_list_enable=YES:禁止用户登出自己的FTP主目录。
chroot_list_file=/etc/vsftpd/chroot_list:这个文件里的用户不受限制,不限制在本目录
ls_recurse_enable=NO:禁止用户登陆FTP后使用"ls -R"的命令。
userlist_enable=YES //设定userlist_file中的用户将不得使用FTP。
防火墙和selinux配置
永久开放ftp服务:
firewall-cmd --add-service=ftp --permanent
开放端口:
firewall-cmd --add-port=20/tcp --permanent
firewall-cmd --add-port=21/tcp --permanent
防火墙配置生效:
firewall-cmd --reload
setsebool -P tftp_home_dir 1
setsebool -P ftpd_disable_trans 1
验证
在 windows 服务器,打开 ftp://192.168.25.135/ 文件夹,输入账号密码,成功登陆到ftp说明正常