首页 > 代码库 > CentOS7.2部署FTP
CentOS7.2部署FTP
目前Linux大部分部署的FTP服务器都是vsftpd,至于为什么,暂时没什么必要深究。
1.安装vsftpd
# yum check-update //检查可更新的程序,也可以不更新直接安装,以防万一# yum -y install vsftpd
2.配置参数
# vi /etc/vsftpd/vsftpd.conf
修改为如下参数
anonymous_enable=NO ### 禁用匿名登录local_enable=YES ### 允许本地用户登录write_enable=YES ### 允许对文件系统做改动的 FTP 命令local_umask=022### 本地用户创建文件所用的 umask 值dirmessage_enable=YES ### 当用户首次进入一个新目录时显示一个消息xferlog_enable=YES ### 用于记录上传、下载细节的日志文件connect_from_port_20=YES ### 使用端口 20 (ftp-data)用于 PORT 风格的连接xferlog_std_format=YES ### 使用标准的日志格式listen=NO ### 不要让 vsftpd 运行在独立模式listen_ipv6=YES ### vsftpd 将监听 IPv6 而不是 IPv4pam_service_name=vsftpd ### vsftpd 使用的 PAM 服务名userlist_enable=YES ### vsftpd 支持载入用户列表tcp_wrappers=YES ### 使用 tcp wrappers
3.重启ftp
# systemctl restart vsftpd.service# systemctl enable vsftpd.service
4.修改防火墙配置
有些文档说使用如下,但会报错无效 Error:INVALID_ZONE:public--permanent
# firewall-cmd --zone=public--permanent --add-port=21/tcp# firewall-cmd --zone=public--permanent --add-service=ftp
还是用如下方式比较好:
# firewall-cmd --permanent --add-service=ftp# firewall-cmd --reload# setsebool -P ftp_home_dir on //设置该SELinux 布尔值来允许 FTP 能读取用户家目录下的文件
接下来添加下面的选项来限制 FTP 用户到它们自己的家目录。
chroot_local_user=YES //配置文件中好像已存在allow_writeable_chroot=YES
chroot_local_user=YES
意味着用户可以设置 chroot jail,默认是登录后的家目录。
同样默认的是,出于安全原因,vsftpd 不会允许 chroot jail 目录可写,然而,我们可以添加 allow_writeable_chroot=YES
来覆盖这个设置。
5.为ftp创建一个用户test1(指定目录为/home/www,不允许远程登录shell)
# useradd -d /home/www -m test1 -s /sbin/nologin
6.为ftp用户设置一个密码
# passwd test1 //密码设置有要求,不能包含用户名,不能低于8位,例:ftp123456
CentOS7.2部署FTP
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。