配置FTP服务

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

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

小公司用的多,大企业不用FTP,因为有一定的安全隐患。

1.使用vsftpd搭建FTP服务。

CentOS上vsftpd是自带的,但是并没有安装,我们只需要用yum 安装一下就好了。

[root@localhost ~]# yum install -y vsftpd

[root@localhost ~]# yum install -y db4-utils     //用来生成密码库文件

同时在安装一个 db4-utils 的包用来生成密码库文件。

2.建立账号

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

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

[root@localhost ~]# useradd -s /sbin/nologin virftp

接着建立与虚拟账户相关的库文件。

[root@localhost ~]# vim /etc/vsftpd/vsftpd_login  //内容如下

test1

123456

test2

123456

注:奇数行为用户名,偶数行为密码,多个用户就写多行

然后更改该文件的权限。

[root@localhost ~]# chmod 600 /etc/vsftpd/vsftpd_login

[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login  /etc/vsftpd/vsftpd_login.db  //vstpd使用的密码文件不是明文的,需要生成对应的库文件。

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

[root@localhost ~]# mkdir /etc/vsftpd/vsftpd_user_conf
[root@localhost ~]# cd /etc/vsftpd/vsftpd_user_conf

3.创建和用户对应的配置文件

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

[root@localhost vsftpd_user_conf]# vim test1   //内容如下 

local_root=/home/virftp/test1  //账号的家目录
anonymous_enable=NO     //用来限制是否允许匿名账号登陆NO,表示不允许
write_enable=YES           //表示可写
local_umask=022          //指定umask的值
anon_upload_enable=NO  //表示是否允许匿名帐号上传文件
anon_mkdir_write_enable=NO  //表示是否允许匿名帐号可写
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000
以上有标注的为关键配置,其他参数不用关心。

创建test2账号的步骤和test1一样。

[root@localhost vsftpd_user_conf]# mkdir /home/virftp/test1    //创建家目录
[root@localhost vsftpd_user_conf]# touch /home/virftp/yjlinux.txt   
[root@localhost vsftpd_user_conf]# chown -R virftp.virftp /home/virft   //更改文件所有者,所属组

[root@localhost vsftpd_user_conf]# vim /etc/pam.d/vsftpd  //在文件最开头添加两行

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

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

 

4.修改全局配置文件 /etc/vsftpd/vsftpd.conf

[root@localhost vsftpd_user_conf]# 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

在添加如下内容:

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 //编辑完后启动服务

systemctl start vsftpd //启动vsftpd服务

[root@localhost vsftpd_user_conf]# ps aux | grep vsftp  //测试 

 

 

[root@localhost vsftpd_user_conf]# yum install -y lftp  //安装lftp客户端软件

[root@localhost vsftpd_user_conf]# lftp test1@127.0.0.1

[root@localhost vsftpd_user_conf]# lftp test1@127.0.0.1
口令:
lftp test1@127.0.0.1:~> ls
lftp test1@127.0.0.1:/>          //这里应该有一个文件。

 

posted @ 2020-12-03 13:47  渝怀。  阅读(91)  评论(0编辑  收藏  举报