1、FTP介绍
- FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。小公司用的多,大企业不用FTP,因为不安全。
- 用rz和sz传文件,文件大小超过4G就会出现问题
- rz把 window 上的文件传输到 linux 上
- sz 把 linux 上的文件传输到 window 上
2、使用vsftpd搭建ftp
在centos上默认自带的ftp服务软件包叫做vsftpd,vsftpd软件包是可以使用系统级别的用户,(也就是假设创建了一个普通用户user1,设置一个密码,这时候就可以用vsftpd启动这个服务,然后用user1这个用户去登陆,登录的形式为ftp,登录进去后会进入到user1这个用户的家目录下,但这样操作会存在安全隐患)
解决隐患的方法:给ftp设置一个虚拟用户,虚拟用户映射成系统中的一个普通用户(也可以映射多个虚拟用户),这个用户即使给了用户和密码你也是没有办法去通过ssh登录到服务器的机器,这样就相对安全了很多
安装vsftpd
[root@aminglinux ~]# yum install -y vsftpd
- 创建虚拟用户,并映射到系统普通用户来使用vsftpd
[root@aminglinux ~]# useradd -s /sbin/nologin virftp
用户名字可以随意取;-s 指定它的shell;/sbin/nologin 表示这个用户不能登录到系统,这么做是为了安全
- 编辑 vim /etc/vsftpd/vsftpd_login 虚拟用户的密码文件,在密码文件中定义用户名和密码;文件格式为:奇数行为用户名,偶数行为密码,多个用户就写多行
[root@aminglinux ~]# vim /etc/vsftpd/vsftpd_login
testuser1
123456
user1
654321
- 给 /etc/vsftpd/vsftpd_login 文件做一个 600的权限设置,为了确保密码文件的安全,防止所有的用户都可以读取
[root@aminglinux ~]# chmod 600 /etc/vsftpd/vsftpd_login
- 将文本的密码文件装换成二进制的密码文件:增加安全性