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. str基本语法

    基本数据类型(int,bool,str)1.基本数据数据类型: int 整数 str 字符串. 一般不存放大量的数据 bool 布尔值. 用来判断. True, False list 列表.用来存放大 ...

  2. Html学习之十七(表格与表单学习--排行版制作)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. keras 学习笔记(一) ——— model.fit & model.fit_generator

    from keras.preprocessing.image import load_img, img_to_array a = load_img('1.jpg') b = img_to_array( ...

  4. 使用Python拆分数据量大的CSV文件(亲测有效)

    转载:https://www.cnblogs.com/FYZHANG/p/11629075.html 一次就运行成功了,感谢博主分享 #!/usr/bin/env python3 # -*- # @F ...

  5. 数据仓库005 - 复习Linux shell命令 - crontab调度 sh脚本 后台执行 软连接

    一.crontab调度 对于linux 自带crontab而言,      xxx.sh的一般编写格式以#!/bin/bash 解释器开头,可在脚本中加入: date 但是,shell脚本执行 需要 ...

  6. 在Windows下的virtualenv中搭建Flask+MySQLDb开发环境

    virtualenv和Flask的安装前面已经介绍过了,这里主要讲如何在venv中安装MySQL 安装MySQLdb 下载MySQL-python-1.2.3.win32-py2.7.exe并安装. ...

  7. 图片转PDF

    目的:图片转pdf(image2pdf)依赖:fpdf.php 网址 为 http://fpdf.org/ 有文档和包 demo:step 1 : First download fpdf librar ...

  8. 题目:利用Calendar类计算自己的出生日期距今天多少天,再将自己的出生日期利用SimpleDateFormat类设定的格式输出显示

    package cn.exercise; import java.util.Calendar; import java.util.Date; import java.text.SimpleDateFo ...

  9. 如何配置jdk的本地环境

    在计算机→属性→高级系统设置→高级→环境变量,如图: 第一步:系统变量→新建 JAVA_HOME 变量 . 变量值填写jdk的安装目录(本人是C:\Program Files\Java\jdk1.8. ...

  10. MAT 4378 – MAT 5317, Analysis of categorical

    MAT 4378 – MAT 5317, Analysis of categorical data, Assignment 3 1MAT 4378 – MAT 5317, Analysis of ca ...