虚拟机上CentOS 7 架设ftp服务器 最新版系统超详细!!
被这玩意弄的死去活来,搞了这么长时间终于通了。。。看了很多教程感觉说的都不错,但对像我这样的菜鸟还是不够照顾啊。。。还是觉得自己写一篇入门级的更好一些,也希望能方便大家!
我们假定此时CentOS刚刚在虚拟机上安装好,先连接网络,让window能ping通linux再说
首先:输入指令ip addr
此处我已经配置好了网络,正常情况下箭头指向的地方应该是空的,我们要注意的是下划线标注的ens33
这是我们linux的默认网卡名
关于输入指令ip addr后出现的所有参数不清楚的可以看一下讲解:
https://blog.csdn.net/IT_TIfarmer/article/details/85087996
然后,根据我们的网卡名,修改我们的网络配置
输入指令 vi /etc/sysconfig/network-scripts/ifcfg-XX XX即代表我们自己的默认网卡名
红色标注即为我们要修改的地方,把它由原来的ONBOOT=no改为yes即可,设置为自动开启
绿色标注的是配置文件的路径,也就是我们输入vi /etc/sysconfig/network-scripts/ifcfg-XX时,所用到的路径,注意这个千万不能错,如果输入指令不对的话,上图的内容就变成了
修改之后,点击VMware工具的右下角的
点击设置,进入虚拟机设置界面,当然这个界面用其他方法进入也可以
选择仅主机方式,这样只有我们的window主机才能与linux相互访问,主机就相当于我们的网关。
然后进入虚拟机 输入指令ip addr
就可以看到我们的linux的虚拟ip了,我的是192.168.92.128。
在window的cmd上ping 192.168.92.128,正常情况下就可以ping通了,而不是一直网络超时gg
我们可以在window的cmd上ipconfig一下,出现:
稍微解释一点网络的知识,不想看的童鞋可以跳过~
三个箭头指向的是什么意思呢?
前两个都是虚拟机生成的的虚拟网卡,这个两个网卡可不是属于linux,他们是windows系统的,linux系统需要连接到这两个网卡的网段上才能上网。
第一个网络 VMnet1正是我们选择“仅主机模式”时所对应使用的网段,这里红线标注的windows所使用的ip地址192.168.92.1只是该网段下的一个ip,这个ip是属于windows的,我们Linux的ip就是上边提到过的192.168.92.128, 什么是同一个网段?这这里只要ip的前三位是192.168.92,不管最后一位是啥,他们都属于同一个网段,在同一个网段下,他们才能相互访问!
第二个网络VMnet2是我们选择“NAT”模式时所用到的网段,我们先不管它。
第三个是我连wifi给我分配的内网ip,也不用注意它。
好,现在我们已经让linux与windows互通了,这是我们架设ftp服务器的基础。
由于CentOS不自带架设ftp服务器的必须工具 vsftpd,所以我们要先去下载,很简单,输入指令yum -y install vsftpd 即可。
然后开始下载,安装成功后,输入指令 cd /etc/vsftpd 进入该工具的目录下,输入指令ls我们就可以看到他的下边有这么几个文件:
ftpusers不受任何配制项的影响,它总是有效,它是一个黑名单!
该文件存放的是一个禁止访问FTP的用户列表,通常为了安全考虑,管理员不希望一些拥有过大权限的帐号(比如root)登入FTP,以免通过该帐号从FTP上传或下载一些危险位置上的文件从而对系统造成损坏。
而user_list则是和vsftpd.conf中的userlist_enable和userlist_deny两个配置项紧密相关的,它可以有效,也可以无效,有效时它可以是一个黑名单,也可以是一个白名单!我们可以通过设置vsftpd.conf配置里的userlist_enable=yes和userlist_deny=no来让其变成白名单,但是白名单内之外的用户谁也不能访问,包括匿名用户。也可以设置userlist_enable=yes和userlist_deny=yes来让其变成黑名单!!
userlist_enable就表示是否使用user_list,如果这一项为no,那么无论userlist_deny是何值,ftp都能被所有人登录!
所以之后我们如果useradd创建了一个用户让他用作ftp的访问时,就要把这个用户加到白名单里,并把那两项设置为yes。
vsftpd.conf是这里边最重要的配置文件,我们要做的修改是:
有#号的把#去了,需要该内容的,也改一下,改成和上边三张图一致。
要注意的是第二张图中的chown_username=whoever要改成=root,root就是匿名上传文件时的默认所属用户名,设置完这个选项,我们匿名登录ftp,并上传文件的时候,Linux就默认是root角色发起的上传请求,也正是因此,我们要把ftpusers中的root去掉,也就是从黑名单中去掉,这样我们就可以匿名上传文件了。
然后在/etc/vsfptd 下输入指令 touch chroot_list 来创建chroot_list文件,这个文件里写的,也是用户名,这个文件里写的用户,将对ftp的文件有更高的管理权限,我们先只把这个文件创建出来。
然后输入指令 systemctl enable vsftpd 设置其为开机启动
再输入指令 systemctl restart vsftpd 来重启该服务。
下一步 设置我们的防火墙
输入指令 firewall-cmd --permanent --add-service ftp
然后重启我们的防火墙 systemctl restart firewalld
至此,我们已经基本完成了所有工作,接下来先在windows的cmd上测试一下吧!
ftp后边跟的使我们linux自己的ip哦!上边有提到过。
通了之后,打开我的电脑,输入ftp:192.168.92.128 出现:
大功告成啦!
如果有什么疑惑的地方,欢迎留言!
更多推荐
所有评论(0)