Linux网络----Vsftpd服务

本文详细介绍了如何在CentOS 7上搭建VSFTPD服务,并创建虚拟用户进行FTP访问。VSFTPD是一款小巧轻快且安全的FTP服务器程序,支持虚拟用户和带宽限制等功能。文中提供了具体的实验步骤,包括环境准备、服务配置和虚拟用户账户的建立。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Vsftpd服务

一:VSFTP简介

VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。

安全性是编写VSFTP的初衷,除了这与生俱来的安全特性以外,高速与高稳定性也是VSFTP的两个重要特点。

在速度方面,使用ASCII代码的模式下载数据时,VSFTP的速度是Wu-FTP的两倍,如果Linux主机使用2.4.*的内核,在千兆以太网上的下载速度可达86MB/S。

在稳定方面,VSFTP就更加的出色,VSFTP在单机(非集群)上支持4000个以上的并发用户同时连接,根据Red Hat的Ftp服务器的数据,VSFTP服务器可以支持15000个并发用户。

二:特点

vsftpd是一款在 Linux发行版中最受推崇的FTP服务器程序小巧轻快,安全易用,支持虚拟用户、支持带宽限制等功能

三:实验

3.1:实验目的

搭建vsftp,以及创建虚拟用户使用FTP

3.2:环境准备

一台win10 充当客户机

一台centos7充当vsftp服务机

两台机互联互通

3.3:vsftp搭建实验步骤

mark

mark

关闭防火墙
systemctl stop firewalld
关闭核心防护
setenforce 0

mark
mark

mark

mark

mark

mark

mark

mark

下面赋予账户权限

mark

mark

[root@shell vsftpd]# man vsftpd.conf

mark

[root@shell vsftpd]# vim vsftpd.conf 

mark


[root@shell vsftpd]# grep -v "#" vsftpd.conf 
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
[root@shell vsftpd]# systemctl restart vsftpd
[root@shell var]# chmod 755 ftp/
[root@shell var]# ls
account  crash  ftp     kerberos  lock  named  preserve  target  yp
adm      db     games   lib       log   nis    run       tmp
cache    empty  gopher  local     mail  opt    spool     www
[root@shell var]# chmod 777 ftp/pub         #最大权限
[root@shell var]# cd ftp
[root@shell ftp]# ll
总用量 4
drwxrwxrwx. 2 root root  6 4月   1 12:55 pub
-rw-r--r--. 1 root root 13 7月  20 09:43 test.txt

mark

[root@shell var]# cd -
/var/ftp
[root@shell ftp]# ls
pub  test.txt
[root@shell ftp]# cd pub
[root@shell pub]# ls
tes.txt
[root@shell pub]# cat tes.txt 
this is test

mark

[root@shell ftp]# useradd zhangsan
[root@shell ftp]# useradd lisi
[root@shell ftp]# passwd zhangsan
更改用户 zhangsan 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@shell ftp]# passwd lisi
更改用户 lisi 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

mark

mark

开启紧固在自己主目录

[root@shell vsftpd]# systemctl restart vsftpd

mark

[root@shell vsftpd]# echo "zhangsan" >> /etc/vsftpd/user_list
[root@shell vsftpd]# cat user_list 
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
zhangsan
[root@shell vsftpd]# systemctl restart vsftpd

mark

[root@shell vsftpd]# vim vsftpd.conf 

mark

仅允许 userlist访问

mark

匿名用户也无法登陆

userlist的外其他列表都无法登陆

3.4:建立虚拟用户账户使用FTP

创建伪用户账户

mark

[root@shell vsftpd]# db_load -T -t hash -f vuser vuser.db
-T:转化
-t:类型
hash:表示一种算法
-f:指定文件
[root@shell vsftpd]# db_load -T -t hash -f vuser vuser.db
[root@shell vsftpd]# ls -l
总用量 36
-rw-------. 1 root root   125 4月   1 12:55 ftpusers
-rw-------. 1 root root   370 7月  20 11:00 user_list
-rw-------. 1 root root  5160 7月  20 11:12 vsftpd.conf
-rwxr--r--. 1 root root   338 4月   1 12:55 vsftpd_conf_migrate.sh
-rw-r--r--. 1 root root    23 7月  20 11:15 vuser
-rw-r--r--. 1 root root 12288 7月  20 11:16 vuser.db     '数据库文件'

'让其他用户无法访问这两个文件'
[root@shell vsftpd]# chmod 600 vuser vuser.db
[root@shell vsftpd]# ls -l
总用量 36
-rw-------. 1 root root   125 4月   1 12:55 ftpusers
-rw-------. 1 root root   370 7月  20 11:00 user_list
-rw-------. 1 root root  5160 7月  20 11:12 vsftpd.conf
-rwxr--r--. 1 root root   338 4月   1 12:55 vsftpd_conf_migrate.sh
-rw-------. 1 root root    23 7月  20 11:15 vuser
-rw-------. 1 root root 12288 7月  20 11:16 vuser.db

[root@shell vsftpd]# useradd -d /opt/vuser -s /sbin/nologin vuser
创建一个用户为vuser 指定家目录/opt/vuser并不适用shell登陆
[root@shell vsftpd]# id vuser
uid=1028(vuser) gid=1028(vuser)=1028(vuser)
[root@localhost vsftpd]# vim /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
'创建pam认证允许远程用户登陆'
[root@shell vsftpd]# vim /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser

'开启来宾用户访问'
[root@shell vsftpd]# vim /etc/vsftpd/vsftpd.conf 
末尾插入
#pam_service_name=vsftpd                 '注释掉,防止和下面冲突'
guest_enable=YES
guest_username=vuser                     '开启vuser用户'
pam_service_name=vsftpd.vu

mark

mark

[root@shell vsftpd]# cd /opt/vuser
[root@shell vuser]# ls
tes.txt
[root@shell vuser]# ll
总用量 4
-rw-------. 1 vuser vuser 13 7月  20 11:44 tes.txt
[root@shell vuser]# ll
总用量 8
-rw-------. 1 vuser vuser 13 7月  20 11:44 tes.txt
-rw-------. 1 vuser vuser 13 7月  20 11:51 te.txt

[root@shell vsftpd]# vim /etc/vsftpd/vsftpd.conf
.......
#pam_service_name=vsftpd
userlist_enable=YES
#userlist_deny=NO
tcp_wrappers=YES
guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/vu_dir               添加单独用户配置文件夹

'在配置文件夹里创建用户配置文件'
[root@localhost vsftpd]# mkdir vu_dir
[root@localhost vsftpd]# cd vu_dir/
[root@localhost vu_dir]# vim tom
anon_umask=022             
[root@shell vu_dir]# systemctl restart vsftpd

mark

[root@shell vu_dir]# systemctl restart vsftpd
[root@shell vu_dir]# ls /opt/vuser/ -l
总用量 12
-rw-r--r--. 1 vuser vuser 13 7月  20 12:03 222.txt
-rw-------. 1 vuser vuser 13 7月  20 11:44 tes.txt
-rw-------. 1 vuser vuser 13 7月  20 11:51 te.txt
[root@shell vu_dir]# pwd
/etc/vsftpd/vu_dir
'单独用户配置权限'   '上传后变成644'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值