vsftpd服务

文件传输协议(file transfer protocol,FTP),基于该协议FTP客户端与服务端可以实现共享文件,上传文件,下载文件。ftp基于TCP协议生成一个虚拟的连接,主要用于控制FTP连接信息,同时在生成一个单独的TCP连接用于ftp数据传输,用户可以通过客户端向ftp服务器上传,下载,删除文件,ftp服务器可以同事提供给多人共享使用

ftp服务时client/server(简称C/S)模式,基于ftp协议实现ftp文件对外共享及传输的软件称之为ftp服务器源端,客户端程序基于ftp协议,则称之为ftp客户端,ftp客户端可以想ftp服务器上传下载文件

vsftp服务器安装和配置

[root@localhost ~]# yum install vsftpd* -y

vsftpd.conf配置文件的默认配置如下:

[root@localhost ~]# cat /etc/vsftpd/vsftpd.conf | grep -v '#' | grep -v '^$'
anonymous_enable=YES#开启匿名访问
local_enable=YES#启用本地用户访问
write_enable=YES#本地系统用户写入权限
local_umask=
dirmessage_enable=YES#打印目录显示信息,通常用于用户第一次访问目录时,信息提示
xferlog_enable=YES#启用上传/下载日志记录
connect_from_port_20=YES#使用20号端口进行数据传输
xferlog_std_format=YES#日志文件讲根据xferlog的标准格式写入
listen=NO#vsftpd不以独立的服务启动,通过Xinetd服务管理,建议改成YES
listen_ipv6=YES
pam_service_name=vsftpd #登录ftp服务器,依据/etc/pam.d/vsftpd中内容进行认证
userlist_enable=YES #vsftpd.user_list和ftpusers配置文件里用户禁止访问ftp
tcp_wrappers=YES #vsftpd与tcp wrapper结合进行主机的访问控制,vsftpd服务器检查/etc/hosts.allow和/etc/hosts.deny中的设置来决定请求连接的主机,是否允许访问该ftp服务器

默认是允许匿名访问的,可以在资源管理器中输入ftp://192.168.254.13

vsftpd匿名用户访问

如果需要匿名用户访问,上传,下载等操作,需要在vsftpd.conf中添加加入以下3行代码:

anon_upload_enable=YES    #允许匿名用户上传文件
anon_mkdir_write_enable=YES #允许匿名用户创建目录
anon_other_write_enable=YES #允许匿名用户其他写入权限

匿名用户完整的vsftpd.conf配置文件代码如下:

[root@localhost ftp]# cat /etc/vsftpd/vsftpd.conf | grep -v "#" | grep -v "^$"
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=
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

由于默认vsftpd用户对/var/ftp/pub目录有写入权限,使用chown和chmod任意一种命令均可设置权限,具体命令如下:

chown -R ftp pub/
chmod o+w pub/

重启服务,匿名用户就可以上传下载了

vsftpd系统用户配置

vsftpd匿名用户设置完毕,任何人都可以查看ftp服务端的文件,目录,甚至是可以修改删除,如何存放私密文件在ftp服务器端,并保证文件或者目录专属于拥有者呢,vsftpd系统用户可以实现该需求,解决上述问题

实现vsftpd系统用户方式验证,只需要在linux系统中创建多个用户即可,创建用户使用useradd命令,同时给用户设置密码,即可通过用户和密码登录ftp进行文件上传下载,实现步骤如下:

[root@localhost ftp]# useradd fengzi1
[root@localhost ftp]# useradd fengzi2
[root@localhost ftp]# echo "fengzi1" | passwd --stdin fengzi1
更改用户 fengzi1 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ftp]# echo "fengzi2" | passwd --stdin fengzi2
更改用户 fengzi2 的密码 。
passwd:所有的身份验证令牌已经成功更新。

修改vsftpd.conf配置文件代码如下:

[root@localhost ftp]# cat /etc/vsftpd/vsftpd.conf | grep -v "#" | grep -v "^$"
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=
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

重启vsftpd服务

[root@localhost ftp]# service vsftpd restart
Restarting vsftpd (via systemctl): [ 确定 ]

验证

vsftpd服务的更多相关文章

  1. VsFtpd服务配置简明笔记

    Ftp服务是最常用的文件传输方式,把配置步骤记录下来,以备将来使用. 1.用YUM安装VsFtpd服务:[root@Redis usr]# yum install vsftpd 2.安装完成后启动Vs ...

  2. 第11章 使用Vsftpd服务传输文件

    章节简述: 本章节先通过介绍文件传输协议来帮助读者理解FTP协议的用处,安装vsftpd服务程序并逐条分析服务文件的配置参数. 完整演示vsftpd服务匿名访问模式.本地用户模式及虚拟用户模式的配置方 ...

  3. Vsftpd服务的搭建

    安装vsftpd服务程序 yum install vsftpd -y Vsftpd的程序与配置文件: 主程序 /usr/sbin/vsftpd 用户禁止登陆列表 /etc/vsftpd/ftpuser ...

  4. CentOS6.X安装vsftpd服务

    #-----------------CentOS6.X安装VSFTPD服务 #! /bin/sh #1.关闭selinux setenforce 0 sed -i 's/enforcing/disab ...

  5. 不关闭seLinux解决vsftpd服务本地用户不能登录问题(500 OOPS: cannot change directory:/home/***

    这里不讲vsftpd的基本配置,网上教程已经太多了.这里只说seLinux的问题. 日前在CentOS6.5中安装了vsftpd,按照网上搜索的教程,配置好/etc/vsftpd/vsftpd.con ...

  6. vsftpd服务详解

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

  7. Linux vsftpd服务配置具体解释

    [背景] 近日.一朋友dominoserver要进行升级.迁移,搭建了linux測试系统,也开启vsftpd服务,但是配置的ftp账号,程序无法正常下载附件. [问题跟踪] 通过ftpclient连接 ...

  8. Centos5搭建vsftpd服务

    更换镜像源 由于centos5已经历史久远,内置的镜像源已经不能用.看: 因此,我手工更换了阿里云的源.(ps:我本来是想用网易的源,但不知为什么,这个源在安装vsftpd时提示http 404错误) ...

  9. 《linux就该这么学》第十三节课:第11章和第12章,vsftpd服务与samba和nfs服务

    第十一章 (借鉴请改动) 11.1.文件传输协议 FTP文件穿数协议,端口20用于数据传输,21端口用于传输相关FTP命令 ftp协议的两种工作模式: 主动模式:ftp向客户端发起 被动模式(默认): ...

  10. Vsftpd服务重启、暂停命令

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

随机推荐

  1. [PHP] PHP调用IMAP协议读取邮件类库

    socket.php 为连接socket的类库 imap.php 基于socket的imap协议封装 test.php 进行测试 require_once 'socket.php'; require_ ...

  2. springboot + shiro + mysql + mybatis 工程快速搭建

    1. 新建 springboot 工程 2. 随便起个名字 3. 初始化工程 4. 导入 shiro 和 thymeleaf 依赖 <!-- thymeleaf依赖 --> <dep ...

  3. alias别名

    alias一般用法 1.默认rm是"rm -i"的别名,ll就是"ls -l"的别名.可以自定义别名来代替某些命令配合某些选项,也可以定义别名组合多个命令.例如 ...

  4. Deformable Convolutional Networks

    1 空洞卷积 1.1 理解空洞卷积 在图像分割领域,图像输入到CNN(典型的网络比如FCN)中,FCN先像传统的CNN那样对图像做卷积再pooling,降低图像尺寸的同时增大感受野,但是由于图像分割预 ...

  5. Docker 简单发布dotnet core项目 图文版

    原文:https://www.cnblogs.com/chuankang/p/9474591.html docker发布dotnet core简单流程 需要结合这个版本看哈 地址:https://ww ...

  6. python django url直接访问txt文件。urls.py路由直接指向txt文件

    from django.views.generic import TemplateView urlpatterns = [ url(r'^test/',TemplateView.as_view(tem ...

  7. 插头Dp总结

    T1 HDU1693:Eat the Trees 题目大意:给出n*m的方格,有些格子不能铺线,其它格子必须铺,可以形成多个闭合回路.问有多少种铺法? 插头Dp板子题,题目要求可以是多个回路, 只需要 ...

  8. iOS Workflow 分享 - Scan QR Code

    很多时候我们无意识地用微信扫描一个 QR Code,然后无论打开的是什么我们用就是了.我经常会好奇到底 QR Code 编码的是什么信息,到底是一个 ID 呢,还是一个 URL(可能是 deeplin ...

  9. (三十三)golang--面向对象之继承

    继承可以解决代码复用: 实现:只需要在结构体中嵌套一个匿名结构体: 结构体可以使用匿名结构体中所有字段核方法:无论是大写还是小写: 可以简化访问匿名结构体中的属性和方法: 当该结构体和匿名结构体有相同 ...

  10. 用Java开发的【智能语音开发板MEGA ESP32AI】

    有点激动 ~ ~ ~ 新鲜出炉,用视频看看效果哦 我们新研发出世的语音开发板MEGA ESP32AI,来看看吧,有点腻害哦!!!先演示下功能语音控制开关等.播报天气 戳下面链接看视频哦? MEGA E ...