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客户端软件,进行测试