Vsftp文件共享

本文详细介绍了如何在CentOS7上配置和管理Vsftp服务,包括安装、启动、防火墙配置、Selinux设置,以及匿名用户和本地用户模式的配置。此外,还涉及到虚拟用户模式的设置和TFTP服务的安装与配置。

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

FTP Server服务

作用:提供文件共享服务

===============================================================================

FTP基础

ftp:文件传输协议 软件包:vsftpd 配置文件:/etc/vsftp/vsftpd.conf

ftp端口:控制端口21/tcp;数据端口20/tcp(主动模式)

================================================================================

vsftpd配置

=centos7======

​ yum -y install vsftpd

​ touch /var/ftp/ftp.txt

​ systemctl start vsftpd

​ systemctl enable vsftpd

​ 关闭防火墙

​ firewall-cmd --permanent --add-service=ftp

​ firewall-cmd --reload

​ setenforce 0或者/etc/selinux/conf(disabled)

================================================================================

FTP客户端

​ ftp默认共享目录:/var/ftp

yum - y install lftp wget

​ ls:查看目录;get:下载文件;mirror:下载目录;lcd:切换本地目录;put:上传

​ wget ftp://192.168.10.10/ftp.txt

​ lftp liu@ 192.168.10.10

=================================================================================

配置文件修改参数注释

​ listen=[YES|NO] 是否以独立运行的方式监听服务
listen_address=IP 地址设置要监听的 IP 地址
listen_port=21 设置 FTP 服务的监听端口
download_enable=[YES|NO] 是否允许下载文件
userlist_enable=[YES|NO]
userlist_deny=[YES|NO] 设置用户列表为“允许”还是“禁止”操作
max_clients=0 最大客户端连接数,0 为不限制
max_per_ip=0 同一 IP 地址的最大连接数,0 为不限制
anonymous_enable=[YES|NO] 是否允许匿名用户访问
anon_upload_enable=[YES|NO] 是否允许匿名用户上传文件
anon_umask=022 匿名用户上传文件的 umask 值
anon_root=/var/ftp 匿名用户的 FTP 根目录
anon_mkdir_write_enable=[YES|NO] 是否允许匿名用户创建目录
anon_other_write_enable=[YES|NO]是否开放匿名用户的其他写入权限(包括重命名、删除等操作权限)
anon_max_rate=0 匿名用户的最大传输速率(字节/秒),0 为不限制
local_enable=[YES|NO] 是否允许本地用户登录 FTP
local_umask=022 本地用户上传文件的 umask 值
local_root=/var/ftp 本地用户的 FTP 根目录
chroot_local_user=[YES|NO] 是否将用户权限禁锢在 FTP 目录,以确保安全
local_max_rate=0 本地用户最大传输速率(字节/秒),0 为不限制

​ 锁定本地用户:

​ chroot_list_enable=YES

​ chroot_list_file=/etc/vsftpd/chroot_list

​ 锁定所有本地用户:

​ chroot_list_user=YES

=======================================================================================

匿名配置(只能下载)

​ 1、使用yum安装 vsftpd
yum -y install ftp vsftpd

​ 2、启动服务

​ systemctl start vsftpd

​ 3、关闭防火墙

​ setenforce 0

​ systemctl stop firewalld 《临时关闭防火墙》

​ 4、修改配置文件

​ vi /etc/vsftp/vsftpd.conf

​ anonymous_enable=YES 允许匿名访问模式
anon_umask=022 匿名用户上传文件的 umask 值
anon_upload_enable=YES 允许匿名用户上传文件
anon_mkdir_write_enable=YES 允许匿名用户创建目录
anon_other_write_enable=YES 允许匿名用户修改目录名称或删除目录

​ 5、重启服务

可以在Linux或Windows下测试了

======================================================================================

本地用户配置(上传和下载)

​ 1、使用yum安装 vsftpd
yum -y install ftp vsftpd

​ 2、启动服务

​ systemctl start vsftpd

​ 3、配置防火墙规则,允许22端口通过

​  firewall-cmd --zone=public --add-port=21/tcp --permanent

​ 4、关闭selinux

​ getsebool -a | grep ftp

​ 输入命令  " setsebool -P ftpd_full_access on " 和 " setsebool -P tftp_home_dir on “进行修改

​ 5、修改配置文件

​ vi /etc/vsftp/vsftpd.conf

​ anonymous_enable=NO 禁止匿名访问模式
local_enable=YES 允许本地用户模式
write_enable=YES 设置可写权限
local_umask=022 本地用户模式创建文件的 umask 值
userlist_enable=YES 启用“禁止用户名单”,名单文件为 ftpusers 和 user_list
userlist_deny=YES 开启用户作用名单文件功能

​ local_root= 指定本地用户目录(默认是在用户的家目录下

​ 6、创建登录用户,并配置用户密码

​ useradd testftp

​ passwd testftp (输入两次密码)

可以在Linux或Windows下测试了


虚拟用户模式

安装vsftp服务

​ yum -y install vsftpd

1、创建FTP认证的用户数据库文件

  • 创建用户

    cd /etc/vsftpd/

    vim vuser.list

    zhangsan
    123.com
    lisi
    123.com

    使用bash算法将原始的明文信息文件转化成数据库文件

    db_load -T -t hash -f vuser.list vuser.db
    file vuser.db
    chmod 600 vuser.db
    rm -f vuser.list

2、用于存储文件的根目录以及虚拟用户映射的系统本地用户

  • 创建用户

    useradd -d /var/ftproot -s /sbin/nologin virtual
    ls -ld /var/ftproot/
    chmod -Rf 755 /var/ftproot/

3、建立用户支持虚拟用户的PAM文件

  • 新建一个用于虚拟用户认证的 PAM 文件 vsftpd.vu

    vim /etc/pam.d/vsftpd.vu
    auth required pam_userdb.so db=/etc/vsftpd/vuser
    account required pam_userdb.so db=/etc/vsftpd/vuser

4、设置虚拟用户不同的权限

设置用户

mkdir /etc/vsftpd/vusers_dir/
cd /etc/vsftpd/vusers_dir/
touch lisi
vim zhangsan
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

修改配置文件

vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO 【禁止匿名开放模式】

local_enable=YES
guest_enable=YES 【开启虚拟用户模式】
guest_username=virtual 【指定虚拟用户账户】
allow_writeable_chroot=YES 【允许对禁锢的 FTP 根目录执行写入操作,而且不拒绝用户的登录请求】
write_enable=YES
local_umask=022

dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd.vu 【pam_service_name=vsftpd.vu
userlist_enable=YES
tcp_wrappers=YES
user_config_dir=/etc/vsftpd/vusers_dir 【定义这两个虚拟用户不同权限的配置文件所存放的路径】

systemctl restart vsftpd [^重载服务]
systemctl enable vsftpd

5、关闭防火墙,重新加载服务

​ setenforce 0

​ systemctl stop firealld

可以在Linux或Windows下测试了


TFTP

作用:简单传输协议是一种基于 UDP 协议在客户端和服务器之间进行简单文件传输的协议

1、安装TFTP包

​ yum -y install tftp-server tftp

2、在xinetd服务程序中开启

​ vim /etc/xinetd.d/tftp

​ disable = no

3、启动服务并设置防火墙允许UPD协议的69端口

~]# systemctl restart xinetd
~]# systemctl enable xinetd
~]# firewall-cmd --permanent --add-port=69/udp
~]# firewall-cmd --reload

4、tftp的参数

? 帮助信息
put 上传文件
get 下载文件
verbose 显示详细的处理信息
status 显示当前的状态信息
binary 使用二进制进行传输
ascii 使用 ASCII 码进行传输
timeout 设置重传的超时时间
quit 退出


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值