ftp服务

本文详细介绍如何在vsftpd服务中配置匿名用户、虚拟用户及系统用户,并提供客户端检测步骤,确保用户能够正确上传、下载及管理文件。

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

vsftpd服务

应用:用户可通过客户端向(从)远程主机上传(下载)文件

实验环境

主机名IP地址角色
ftp-server192.168.100.33服务端
ftp-client192.168.100.60客户端

关闭防火墙和selinux

[root@ftp-server ~]# systemctl stop firewalld.service  //防火墙
[root@ftp-server ~]# systemctl disable firewalld.service
[root@ftp-client ~]# systemctl stop firewalld.service
[root@ftp-client ~]# systemctl disable firewalld.service
[root@ftp-server ~]# setenforce 0 //selinux
[root@ftp-client ~]# setenforce 0

配置匿名用户ftp

服务端配置

  • 安装vsftpd
[root@ftp-server ~]# yum -y install vsftpd
  • 开启vsftpd并加入开机自启
[root@ftp-server ~]# systemctl start vsftpd
[root@ftp-server ~]# systemctl enable vsftpd
  • 在文件vsftpd.conf配置匿名用用户
[root@ftp-server ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES  //开启匿名用户,默认是开启的
###匿名用户
anon_upload_enable=YES  //允许匿名用户上传
anon_mkdir_write_enable=YES  //允许匿名用户创建目录
anon_other_write_enable=YES  //允许匿名用户删除和创建
###
  • 给/var/ftp/put目录的其他用户提权
[root@ftp-server ~]# chmod 777 /var/ftp/pub/
  • 重启vsftpd服务
[root@ftp-server ~]# systemctl restart vsftpd

客户端检测

  • 客户端登陆
[root@ftp-client ~]# lftp 192.168.100.33 //匿名用户登陆
  • 创建和删除
lftp 192.168.100.33:~> cd pub/
lftp 192.168.100.33:/pub> mkdir 1
mkdir ok, `1' created
lftp 192.168.100.33:/pub> ls
drwx------    2 14       50              6 Aug 24 03:29 1
lftp 192.168.100.33:/pub> rmdir 1
rmdir ok, `1' removed
  • 在客户端工具验证
    登陆
    登陆ftp
    创建文件和目录
    创建目录
    创建文件
    删除
    删除

配置虚拟用户ftp

服务端配置

  • 创建文本格式用户名、密码列表
[root@ftp-server ~]# cat >> /etc/vsftpd/vsftp.list << EOF
> tom
> 123
> jerry
> 456
> EOF
  • 将刚创建的文件用db4工具转换成数据库文件
[root@ftp-server ~]# yum -y install db4* //下载db4工具
[root@ftp-server ~]# db_load -T -t hash -f /etc/vsftpd/vsftp.list /etc/vsftpd/vsftp.db
  • 将文件的权限设置为600,避免数据外泄
[root@ftp-server ~]# chmod 600 /etc/vsftpd/vsftp*
[root@ftp-server ~]# ll /etc/vsftpd/vsftp*
-rw-------  1 root root 12288 824 11:50 /etc/vsftpd/vsftp.db
-rw-------  1 root root    18 824 11:44 /etc/vsftpd/vsftp.list
  • 添加虚拟用户的映射账户,创建ftp根目录
[root@ftp-server ~]# useradd -d /var/ftproot -s /sbin/nologin vftp 
[root@ftp-server ~]# chmod 755 /var/ftproot/
[root@ftp-server ~]# ll /var/ftproot/ -d
drwxr-xr-x 2 vftp vftp 62 824 11:55 /var/ftproot/
  • 为虚拟用户建立PAM认证
[root@ftp-server ~]# cp /etc/pam.d/vsftpd{,-bak} //备份
[root@ftp-server ~]# cat /etc/pam.d/vsftpd
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vsftp
account required pam_userdb.so db=/etc/vsftpd/vsftp
  • 修改vsftp配置文件,添加虚拟账号支持,为不同的虚拟用户建立独立的配置文件
[root@ftp-server ~]# cat >> /etc/vsftpd/vsftpd.conf << EOF
> guest_enable=YES
> guest_username=vftp
> user_config_dir=/etc/vsftpd/vusers_dir
> allow_writeable_chroot=YES
> EOF
  • 在vusers_dir目录中为每个虚拟用户配置文件
[root@ftp-server ~]# mkdir /etc/vsftpd/vusers_dir
//设置tom用户
[root@ftp-server ~]# cat >> /etc/vsftpd/vusers_dir/tom << EOF
> anon_umask=022
> anon_upload_enable=YES
> anon_mkdir_write_enable=YES
> anon_other_write_enable=YES
> EOF
//设置jerry用户
[root@ftp-server ~]#  touch /etc/vsftpd/vusers_dir/jerry //只需要默认的下载权限,所有不用配置
  • 重启服务
[root@ftp-server ~]# systemctl restart vsftpd

客户端检测

  • 客户端登陆tom用户
[root@ftp-client ~]# lftp -u tom,123 192.168.100.33        //登陆
lftp tom@192.168.100.33:/> mkdir 1                        //创建
mkdir ok, `1' created
lftp tom@192.168.100.33:/> ls
drwx------    2 1003     1004            6 Aug 24 04:20 1
lftp tom@192.168.100.33:/> rmdir 1                //删除
rmdir ok, `1' removed
  • 登陆jerry用户
[root@ftp-client ~]# lftp -u jerry,456 192.168.100.33
lftp jerry@192.168.100.33:~> ls
drwx------    2 1003     1004            6 Aug 24 04:28 1
  • 客户端工具登陆tom
    登陆

  • 创建和删除
    创建
    删除

  • 客户端登陆jerry
    登陆jerry
    这里写图片描述

测试权限
这里写图片描述

下载
这里写图片描述

配置系统用户ftp

  • 创建系统用户,设置密码,但不允许登陆系统
[root@ftp-server ~]# useradd bgx -s /sbin/nologin
[root@ftp-server ~]# echo "123"  | passwd --stdin bgx 
  • 配置vsftpd的配置文件文件
[root@ftp-server ~]# vim /etc/vsftpd/vsftpd.conf
\\本地用户默认有上传下载权限
###系统用户
local_enable=YES           //开启本地用户
chroot_local_user=YES  //禁锢本地用户在自己的家目录中
allow_writeable_chroot=YES 
  • 重启服务
[root@ftp-server ~]# systemctl restart vsftpd

客户端检测

  • 客户端登陆
[root@ftp-client ~]# lftp -u bgx,123 192.168.100.33
lftp bgx@192.168.100.33:~> ls
drwxr-xr-x    2 1003     1004            6 Aug 24 03:14 1
lftp bgx@192.168.100.33:/> mkdir a
mkdir ok, `a' created
lftp bgx@192.168.100.33:/> rmdir a
rmdir ok, `a' removed
  • 客户端工具检测
    登陆
    这里写图片描述
    查看目录
    这里写图片描述

上传
这里写图片描述

下载
这里写图片描述

创建和删除
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值