使用vsftpd搭建FTP服务

使用vsftpd搭建FTP服务
CentO S或者Red Hat Linux上有自带的FTP软件vsftpd,默认并没有安装,需要用yum安装,安装后 不用配置,启动后便可以使用
1.安装 vsftpd
使用yum工具安装vsftpd包,如下所示:

yum install -y vsftpd db4-utils

这里安装了两个软件包,同时也会把依赖的包安装上。其中db4-utils包用来生成密码库文件。
2.建立账号
vsftpd默认可以支持使用系统账号体系登录,但那样不太安全,所以建议你使用虚拟账号体 系登录。
首先建立与虚拟账号相关联的系统账号,如下所示:

useradd virftp -s /sbin/nologin

接着建立与虚拟账户相关的文件,如下所示:

vim /etc/vsftpd/vsftpd_login
testl
123456
test2
abcdef

需要说明的是,该文件的奇数行为用户名,偶数行为上一行的用户密码。
然后更改该文件的权限,提升安全级别,如下所示:

chmod 600 /etc/vsftpd/vsftpd_login

vsfptd使用的密码文件不是明文的,需要生成对应的库文件,如下所示:

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

3.创建和用户对应的配置文件
用户的配置文件是单独存在的,每一个用户都有一个自己的配置文件,文件名和用户名一致,如 下所示:
vim testl //内容如下:

local_root=/home/virftp/testl
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
max_per_ip=5
local_max_rate=50000

其中, local_root为testl账号的家目录,anonymous_enable用来限制是否允许匿名账号登录(若为NO,表示不 允许匿名账号登录),write_enable=YES表示可写,local_umask指定umask值,anon_ upload_enable表 示是否允许匿名账号上传文件,anon_mkdir_write_enable表示是否允许匿名账号可写。以上为关键配 置参数,其他参数暂时不用关心。
创建test2账号的步骤和testl-样,如下所示

mkdir /home/virftp/testl
touch /home/virftp/testl/aminglinux.txt
chown -R virftp:virftp /home/virftp

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

4.修改全局配置文件/etc/vsftpd/vsftpd.conf
修改用户的配置文件后还不可用,还需要修改vsftpd的一些全局配置文件。
首先编辑vsftpd.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=N00

再增加如下内容:

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

下面我们来做一下测试:
ps aux | grep vsftp //查看进程是否存在

[root@nfs vsftpd_user_conf]# ps aux | grep vsftp  
root       3392  0.0  0.0  52796   712 ?        Ss   17:52   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root      10287  0.0  0.0 112644   952 pts/0    S+   18:26   0:00 grep --color=auto vsftp

yum install lftp //安装Lftp客户端软件

[root@nfs vsftpd_user_conf]# lftp testl@127.0.0.1  
Password: 
lftp testl@127.0.0.1:~> ls        
drwxr-xr-x    2 0        0              27 Mar 09 21:51 test1
drwxr-xr-x    2 1000     1000           27 Mar 09 21:26 testl
lftp testl@127.0.0.1:/> 

这里我是创建了两个所以正常你们创建的时候应该是只有一个testl的
这里如果是想要上传文件需要将
testl文件下的anon_upload_enable=NO 修改为YES
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值