# 安装 vsftpd
 yum install -y vsftpd
 # 检查|启动|停止|重启 vsftpd 服务
 systemctl status|start|stop|restart vsftpd
 # 设置开机自启动
 systemctl enable vsftpd
 # 让防火墙开启 FTP 服务和 21 端口的使用
 firewall-cmd --add-service=ftp --zone=public --permanent
 firewall-cmd --add-port=21/tcp --zone=public --permanent
 firewall-cmd --reload

vsftpd配置文件:/etc/vsftpd/vsftpd.conf 为了正常使用,需要修改vsftpd.conf的部分内容如下:

 # 是否允许匿名登录FTP服务器。
 anonymous_enable=NO
 ​
 # 是否允许本地用户(即linux系统中的用户帐号)登录FTP服务器,
 # 默认设置为YES允许,本地用户登录后会进入用户主目录;
 # 而匿名用户登录后进入匿名用户的下载目录/var/ftp;
 # 若只允许匿名用户访问,前面加上#,可阻止本地用户访问FTP服务器。
 local_enable=YES
 ​
 # 是否允许本地用户对FTP服务器文件具有写权限,默认设置为YES允许。
 write_enable=YES
 ​
 # 设置本地用户的文件掩码为缺省022,
 # 也可根据个人喜好将其设置为其他值。
 local_umask=022
 ​
 # 是否允许匿名用户上传文件,须将上面的write_enable设置为YES允许。
 #anon_upload_enable=YES
 ​
 # 是否允许匿名用户创建新文件夹。
 #anon_mkdir_write_enable=YES
 ​
 # 是否激活目录欢迎信息功能,
 # 当用户用CMD模式首次访问服务器上某个目录时,FTP服务器将显示欢迎信息;
 # 默认情况下,欢迎信息是通过该目录下的.message文件获得的,
 # 此文件保存自定义的欢迎信息,由用户自己建立。
 dirmessage_enable=YES
 ​
 # 如果启用此选项,系统将会维护记录服务器上传和下载情况的日志文件;
 # 默认情况该日志文件为/var/log/vsftpd.log,
 # 也可以通过下面的xferlog_file选项对其进行设定。
 xferlog_enable=YES
 ​
 # 设定FTP服务器将启用FTP数据端口的连接请求,ftp-data数据传输,21为连接控制端口。
 # 设定端口20进行数据连接,被动模式设为NO
 connect_from_port_20=NO
 ​
 # 是否将所有用户限制在主目录,YES 为启用,NO 禁用。
 # 为 YES 时,用户被锁定在自己的home目录中;
 # 为 NO 时,用户登录FTP服务器后具有访问自己目录以外的其他文件的权限。
 # vsftpd 将寻找 chroot_list 文件作为用户名单,此文件需用户建立。
 chroot_local_user=YES
 ​
 # 如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限。
 # 下面这条命令将允许主目录继续保持写权限。
 allow_writeable_chroot=YES
 ​
 # 如果设置为YES,则vsftpd将以独立模式运行,由vsftpd自己监听和处理IPV4连接请求。
 listen=YES
 ​
 # 设定是否支持IPV6
 #listen_ipv6=NO
 ​
 # 被动模式
 listen_port=21
 pasv_enable=YES
 pasv_min_port=10060
 pasv_max_port=10090
 pasv_address=192.168.1.186
 pasv_addr_resolve=YES
 # 由于被动模式设置的端口范围是10060-10090,我们设置防火墙放行
 firewall-cmd --add-port=10060-10090/tcp --zone=public --permanent

为了安全起见,我们不考虑使用 root 作为 ftp 帐号,新建一个专门用来 ftp 操作的帐号,操作步骤如下:

 # 新建一个名为 ftper 的本地帐号,禁止登陆 shell,且不为其创建登录目录
 useradd -M -s /sbin/nologin ftper
 # 为建好的 ftper 帐号设置密码
 passwd ftper
 # 指定 ftper 的 ftp 登录主目录,要和配置文件里的 local_root= 结果保持一致
 usermod -d /usr/share/nginx/html ftper
 # 将 ftp 登录主目录的基本组和附加组为 ftper
 chown -R ftper:ftper /usr/share/nginx/html
 # 将 ftper 用户追加到 root 组
 usermod -a -G root ftper
 # 开机自启动
 systemctl enable vsftpd

参考: https://chaishiwei.com/blog/1338.html https://www.v5c87.com/2019/01/11/CentOS7搭建FTP(被动模式)/

版权声明:本文内容由互联网用户自发贡献,版权归作者所有,本网站不拥有所有权,也不承担相关法律责任。如果您发现本网站中有涉嫌抄袭的内容,欢迎发送邮件至: 1559179387@qq.com 进行举报,并提供相关证据,一经查实,本网站将立刻删除涉嫌侵权内容。

文章作者: Amelie
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 个人技术心得
运维 Linux Linux
喜欢就支持一下吧