2020-12-04

第18章配置FTP服务
18.1 使用vsftpd搭建FTP服务
18.1.1 安装vsftpd
#yum install -y vsftpd db4-utils
这里安装2个软件包,同时也会把依赖包安装上。其中db4-utils包用来生成密码库文件
18.1.2 建立账号
vsftpd默认可以支持使用系统账号体系登录,但是这样并不安全,所以使用虚拟账号体系登录
首先建立与虚拟账号相关的系统账号。
#useradd virftp -s /sbin/nologin

接着建立与虚拟账户相关的文件
#vi /etc/vsftpd/vsftpd_login
内容如下: 该文件的奇数行是用户名,偶数行为上一行的用户密码
在这里插入图片描述

更改文件的权限,提升安全级别。
#chmod 600 /etc/vsftpd/vsftpd_login

vsftpd使用的密码文件不是明文的,需要生成对应的库文件
#db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

最后建立与虚拟账号相关的目录以及配置文件
#mkdir /etc/vsftpd/vsftpd_user_conf
#cd /etc/vsftpd/vsftpd_user_conf/

18.1.3 创建和用户对应的配置文件
#vi test1

添加如下内容:
local_root=/home/virftp/test
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
在这里插入图片描述

配置文件参数:
 local_root: 是test1账号的家目录
 anonymous_enable: 用来限制是否允许匿名帐号登录(若为NO,表示不允许匿名帐号登录)
 write_enable 表示可写
 local_umask 指定umask值
 anon_upload_enable 表示是否允许匿名账号上传文件
 anon_mkdir_write_enable 表示是否允许匿名帐号可写

#mkdir /home/virftp/test1
#touch /home/virftp/test1/czklinux.txt
#chown -R virftp:virftp /home/virftp/
#vi /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
在这里插入图片描述

18.1.4 修改全局配置文件/etc/vsftpd/vsftpd.conf
修改vsftpd的一些全局配置
#vi /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
在这里插入图片描述

启动vsftpd服务:
#systemctl start vsftpd

做一个测试:查看进程是否存在
在这里插入图片描述

安装iftp客户端软件
#yum install -y lftp
#lftp test1@127.0.0.1 口令就是test1的密码
在这里插入图片描述

使用lftp成功登录vsftpd,并且ls列出test1用户家目录下的czklinux.txt。 其中1000为virftp用户的uid和gid

18.2 安装配置pure-ftpd
18.2.1 安装pure-ftpd
需要先安装epel扩展源
#yum install -y epel-release
#yum install -y pure-ftpd

18.2.2 配置pure-ftpd
#vi /etc/pure-ftpd/pure-ftpd.conf//找到pureftpd.pdb这行, 把行首的#删除
启动pure-ftpd之前需要关闭vsftpd,因为端口有冲突
在这里插入图片描述

启动成功!

18.2.3 建立账号
为了安全,pure-ftpd使用的账号并非Linux的系统账号,而是虚拟账号。先创建一个账号
#mkdir /data/ftp/
#useradd -u 1010 pure-ftp
#chown -R pure-ftp:pure-ftp /data/ftp
#pure-pw useradd ftp_user2 -u pure-ftp -d /data/ftp
在这里插入图片描述

其中,-u选项将虚拟用户ftp_user2与系统用户pure-ftp关联在一起,即使用ftp-user2账号登录FRP后,会以pure-ftp的身份来读取和下载文件
-d选项后面的目录为ftp-user2账户的家目录,这样就可以使ftp-user2只能访问其家目录/data/ftp/

18.2.4 测试pure-ftpd
然后创建用户信息数据库文件,
#pure-pw mkdb
在这里插入图片描述

登录后使用ls命令可以查看当前目录都有什么文件,使用put命令可以把系统的文件上传到FTP服务器上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值