FTP介绍

 FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。

 FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。

 小公司用的多,大企业不用FTP,因为不安全


使用vsftpd搭建ftp服务

1 centos上自带vsftpd,默认是没有安装的,我们需要yum安装。

2 #yum install -y vsftpd

建立账号,

vsftpd默认可以支持使用系统账号体系登录,但那不安全,所以我们使用虚拟账号。

首先建立与虚拟账号相关的系统账号

3 #useradd -s /sbin/nologin virftp

4 #vim /etc/vsftpd/vsftpd_login 内容如下,奇数行为用户名,偶数行为密码,多个用户就写多行

testuser1
aminglinux

更改文件权限,提升安全级别,

4.1 chmod 600 /etc/vsftpd/vsftpd_login 

vsftpd使用的密码文件不是铭文的,需要生成对应的库文件,

4.2 db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

最后建立与虚拟账号相关的目录以及配置文件,

5  #mkdir /etc/vsftpd/vsftpd_user_conf 

6  #cd /etc/vsftpd/vsftpd_user_conf

用户的配置文件是单独存在的,每一个用户都有一个自己的配置文件,文件名和用户名是一样的。

7  #vim testuser1 //加入如下内容

local_root=/home/virftp/testuser1
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10

创建testuser1账号

8  #mkdir /home/virftp/testuser1

9  #touch /home/virftp/testuser1/aming.txt

10 #chown -R virftp:virftp /home/virftp

11 #vim /etc/pam.d/vsftpd 在最前面加上

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

修改用户的配置文件后还不可用,还需要修改vsftpd的一些全局配置文件。

12 #vim /etc/vsftpd/vsftpd.conf

 将anonymous_enable=YES 改为 anonymous_enable=NO

 将#anon_upload_enable=YES 改为 anon_upload_enable=NO 

 将#anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO

13 再增加如下内容

chroot_local_user=YES
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
allow_writeable_chroot=YES

14  #systemctl start vsftpd 启动vsftpd服务


测试ftp

1 yum install -y lftp

2 lftp ftpuser1@127.0.0.1

3 执行命令ls,看是否正常输出

4 若不正常查看日志/var/log/messages和/var/log/secure

5 windows下安装filezilla客户端软件,进行测试