一、了解ftp
FTP(File Transfer Protocol)是一个非常古老并且应用十分广泛的文件传输协议,FTP协议是现今使用最为广泛的网络文件共享协议之一,我们现在也一直有在用着FTP协议来进行各种文件的传输,FTP为我们提供了一种可靠的方式在网络上进行文件的共享。
二、准备虚拟机
本地镜像使用centos-1908。也就是说挂载的镜像是centos-1908,点开你的虚拟机设置看看配置的对不对。
三、vsftpd部署安装
systemctl stop firewalld //关闭防火墙 setenforce 0 //关闭se
1)配置 yum 源
把 yum 源去掉换成本地的 yum 源。把新的 yum 源输入进去就行。
mv/etc/yum.repos.d/* /media/ //移除原有的yum源 vim /etc/yum.repos.d/lcoal.repo //在这个文件里添加yum源 [centos] name=centos baseurl=file:///opt/centos gpgcheck=0 enabled=1
mkdir -p /opt/centos //创建一个目录
mount /dev/sr0 /opt/centos //将那个镜像挂在到cetos这个目录
//查看挂载情况 [root@ftp ~]# ls /opt/centos CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7 EFI images Packages RPM-GPG-KEY-CentOS-Testing-7 EULA isolinux repodata TRANS.TBL
//查看 yum 源是否正常
[root@ftp ~]# yum repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
Loading mirror speeds from cached hostfile
Loading mirror speeds from cached hostfile
Loading mirror speeds from cached hostfile
Loading mirror speeds from cached hostfile
源标识 源名称 状态
!base/7/x86_64 CentOS-7 - Base 0
centos centos 0
!extras/7/x86_64 CentOS-7 - Extras 0
!updates/7/x86_64 CentOS-7 - Updates 0
repolist: 0
这样 yum 源已经弄好了。
2)下载vsftp
查看完端口后是21端口就对了。
//下载 vsftpd net-tools [root@ftp ~]#yum install -y vim vsftpd net-tools //启用vsftpd [root@ftp ~]#systemctl start vsftpd //查看端口 [root@ftp ~]# netstat -ntlp |grep vsftpd tcp6 0 0 :::21 :::* LISTEN 1769/vsftpd
查看配置文件里的内容。
listen=YES:是否以独立运行的方式监听服务
listen_address=192.168.x.x:设置监听的 IP 地址
listen_port=21:设置监听 FTP 服务的端口号
write_enable=YES:是否启用写入权限
download_enable=YES:是否允许下载文件
userlist_enable=YES:是否启用 user_list 列表文件
userlist_deny=YES:是否禁用 user_list 中的用户
max_clients=0:限制并发客户端连接数
max_per_ip=0:限制同一 IP 地址的并发连接数
guest_enable=YES:启用虚拟用户
user_config_dir=/etc/vsftpd/vsftpd_user_conf :虚拟用户使用的配置文件目录
allow_writeable_chroot=YES:允许写入用户主目录
常用的匿名 FTP 配置项:
anonymous_enable=YES:启用匿名访问
anon_umask=022:匿名用户所上传文件的权限掩码
anon_root=/var/ftp:匿名用户的 FTP 根目录
anon_upload_enable=YES:允许上传文件
anon_mkdir_write_enable=YES:允许创建目录
anon_other_write_enable=YES:开放其他写入权
anon_max_rate=0:限制最大传输速率(字节/秒)
常用的本地用户 FTP 配置项:
local_enable=YES:是否启用本地系统用户
local_umask=022:本地用户所上传文件的权限掩码
local_root=/var/ftp:设置本地用户的 FTP 根目录
chroot_local_user=YES:是否将用户禁锢在主目录
四、配置虚拟用户
1)配置用户名密码
进入配置文件里创建一个存放密码的文件
vim /etc/vsftpd/users.conf //创建 users.conf 进入这个文件
文件里面写用户名和密码,第一行是用户名第二行是密码(默认:奇数列是用户名、偶数列是密码)
给密码加密
db_load -T -t hash -f /etc/vsftpd/users.conf /etc/vsftpd/users.db //密码加密 vim /etc/vsftpd/users.conf //查看密码被加密后的情况 chmod 600 users.db //给 users.db 授权(只有这里面的用户去读写)
chmod 600 users.* //授权(文件里面的用户授权)
2)创建系统用户
useradd vsftpd -d /home/vsftpd -s /sbin/nologin //创建用户 (-d:指定用户所在目录 -s:指定一下不能登录 ) chmod -R 777 /home/vsftpd //给上面的文件授权(777:可以上传、下载)
vim /etc/pam.d/vsftpd //修改里面的文件
放到这里的话会避免很多的错误。
3)修改主配置文件
vim /etc/vsftpd/vsftpd.conf //修改主配置文件
现在配置的是 yunjisuan 如果还要使用那个就也把那个这样配置一下即可。
// 创建子配置文件目录 [root@localhost ~]# mkdir -p /etc/vsftpd/vsftpd_user_conf //进入创建的文件 [root@localhost ~]# cd !$ cd /etc/vsftpd/vsftpd_user_conf //进入文件里添加配置 [root@localhost vsftpd_user_conf]# vim yunjisuan local_root=/home/vsftpd/xmcsxy # 当本地用户登入时,将被更换到定义的目录下。默认值为各用户的家目录。 anon_upload_enable=YES # 是否允许登陆用户有上传权限。 write_enable=YES # 是否允许登陆用户有写权限。
# 重启服务,使配置文件生效 [root@localhost vsftpd_user_conf]# systemctl restart vsftpd [root@localhost vsftpd_user_conf]# systemctl enable vsftpd Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.w
五、链接ftp
我使用的是 xftp 你们还可以使用其他的软件去链接。链接上之后直接就可以直接去测试了,上传一下文件啊、下一下啊什么的。