FTP服务器操作流程:
第一步: 配置网卡
1、FTP服务器地址192.168.100.100
2、systemctl status firewalld.service 检查防火墙状态
systemctl stop firewalld.service关闭防火墙
(1)开启防火墙,放行ftp服务
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
firewall-cmd --list-all
(2)getenforce 关闭selinux显示Disabled
第二步:配置本地yum源后,安装FTP服务器(默认是没有安装的)
- yum repolist 检查yum源:
- yum list installed |grep vsftpd 检查是否安装ftp服务:
- yum install -y vsftpd 安装ftp服务:
- yum start vsftpd 启动vsftpd服务:
- yum enable vsftpd设置vsftpd服务开机自启动
第三步:
(一)实现匿名用户的上传、下载。本例FTP服务器地址为192.168.100.100,默认访问目录为:“/var/ftp”允许匿名用户登录、上传、下载文件,并允许创建自己的目录。
1、编辑主配置文件“/etc/vsftpd/vsftpd.conf”,并保存退出。
2、修改访问目录的用户权限。
在Linux文件系统的“/var/ftp”目中里面有一个“pub”目录,这个目录就是VSFTP的默认访问目录。修改该文件的权限,使之能被任何用户进行读写。
(1)匿名用户访问ftp,默认是/var/ftp文件夹,在主配置文件vsftpd.conf添加这一条命令进行修改:anon_root=[路径]。例如:anon_root=/var/ftp
(2)修改/var/ftp文件夹属性,目的是让其下的pub目录可以被任何用户读写。
(3) service vsftpd restart重启FTP服务器
3、配置windows 客户端与Centos 7 FTP服务器同一网段。
4、打开浏览器,输入地址:ftp://192.168.100.100,可以看到目录中有一个“pub”目录,即Liunx中FTP默认的访问目录。
5、测试建立与复制文件
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES 允许匿名用户登录
local_enable=YES 允许本地用户登录
write_enable=YES 允许用户上传文件或目录
local_umask=022 反掩码,用户新建目录权限755、文件权限644
dirmessage_enable=YES 开启欢迎信息功能
banner_file=/etc/vsftpd/文件名 设置欢迎信息文件
xferlog_enable=YES 开启日志功能
connect_from_port_20=YES 设置主动模式的数据连接20端口
xferlog_std_format=YES 设置日志格式
listen=NO 代表要以xinetd守护进程启动
listen_ipv6=YES 与listen参数不能同时为YES
pam_service_name=vsftpd 支持PAM模块的管理
userlist_enable=YES 开启user_list用户管理文件
tcp_wrappers=YES 由tcp_wrappers完成访问控制
注意:
- 在Linux中,目录和文件默认的权限中,只有所有者才可以拥有完全读写权限。匿名用户虽然可以通过本地主机可以登录ftp服务器,但不是目录的所有者,所有只有读权限。如果使匿名用户可以新建目录,处理修改主配文件的命令外,还要修改目录权限,是“群组”和“其他”都具备读写权限。
- Linux中FTP默认目录是“/var/ftp”,这个目录本身在通过远程登录时是禁止“写”操作的。即不能创建新目录。可以通过修改FTP目录属性中的“群组”和“其他”的权限为“创建和删除文件”后即可创建新目录。
(二)实现本地用户test1登录ftp服务器,显示登录欢迎信息,实现对/home/csdz目录中文件的下载、上传,并且不允许匿名用户登录ftp服务器。(默认运行匿名用户登录)。
1、安装vsftpd
2、修改主配置文件/etc/vsftpd/vsftpd.conf
3、其他设置(可选)
Local_root=/abc/efg/ //设置本地用户登陆后的文件夹,不设置默认是本地用户的根路径。
4、创建本地用户
- -d参数是设置 test1 用户的家目录
- 默认是在/home目录中创建一个同名的目录
5、查看用户目录,建立测试文件
touch file1
touch file2
如果要更改其他目录为本地用户的FTP服务器目录,可以新建目录,设置权限后,在vsftpd.conf 文件中用:local_root=/目录名,指定即可。
6、设置欢迎信息文件
7、systemctl restart vsftpd //重启vsftpd服务器
8、windows 资源管理器进行测试
创建一个文件夹测试
9、在centos中ftp登录。没有安装ftp服务的,需要安装。
补充:
1、max_clients=50 //限制服务器最大连接客户端为50个
2、max_per_ip=2 //限制每个IP地址只能有2个连接
3、锁定本地用户主目录
使用本地用户登录vsftp服务后,默认本地用户可以切换任意目录,这会给服务器带来极大的安全隐患,需要修改主配置文件/etc/vsftpd/vsftpd.conf,增加chroot_local_user、allow_writeable_chroot参数:
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES //允许本地用户登录
chroot_local_user=YES //锁定用户主目录
allow_writeable_chroot=YES //允许锁定目录后拥有写权限