1.FTP 服务的安装
# yum install -y vsftpd
[root@rusky pub]# ls -l /etc/vsftpd/
total 20
-rw-------. 1 root root 125 Aug 3 2015 ftpusers
-rw-------. 1 root root 361 Aug 3 2015 user_list
-rw-------. 1 root root 5030 Aug 3 2015 vsftpd.conf
-rwxr--r--. 1 root root 338 Aug 3 2015 vsftpd_conf_migrate.sh

四个配置文件,vsftpd.conf 是我们的主配置文件,ftpusers是我们的黑名单用户配置文件,通常我们的系统用户还有根用户都是放在这个配置文件里面的,因为这些用户的权限很大,如果使用ftp服务可能造成一些问题,user_list是我们的用户列表文件,我们可以通过在主配置文件里设置该用户是黑名单用户还是白名单拥有,最后一个是我们的ftp服务迁移脚本。

FTP共享目录:/var/ftp/

2. FTP服务启停(RHEL7)

# systemctl vsftpd start/stop/status vsftpd.service

#systemctl restart vsftpd

其它操作系统版本的FTP启停方式:service vsftpd stop/start/status

3. 登录方式

  • 使用Linux系统用户

  普通系统用户登录后,进入的是用户home目录

  • 匿名用户(anonymours)

  匿名用户登录后进行/var/pub目录。在默认情况下,在vsftpd安装的时候会创建一个 ftp 系统用户,这个用户就是用来进行匿名登陆的用户,ftp匿名用户默认登陆到的目录是 /var/ftp/ 目录,没有任何访问限制权限的文件都能提供给匿名用户进行共享。vsftpd.conf主配置文件anoymous参数要设置为yes开户匿名用户访问。

[root@rusky ftp]# cat /etc/passwd | grep ftp
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

修改vsftpd主配置文件开启匿名用户上传的功能:

anonymous_enable=YES --开启匿名用户访问(默认)

anon_upload_enable=YES  --打开匿名用户文件上传功能

anon_mkdir_write_enable=YES  --打开匿名用户创建文件夹功能

  • 虚拟用户

  虚拟用户的特点是只能访问服务器为其提供的FTP服务,而不能访问系统的其它资源。所以,如果想让用户对FTP服务器站内具有写权限,但又不允许访问系统其它资源,可以使用虚拟用户来提高系统的安全性。

FTP服务启动后就可以使用FTP工具连接到FTP服务器了。(注意关闭防火墙或是防火墙开启21端口)


4.FTP主配置文件参数说明

如果要更改默认下载目录,修改/etc/vsftpd/vsftpd.conf,加入如下三行:
local_root=/ //表示使用本地用户登录到ftp时的默认目录,没有这个参数或是不设定,默认登录到用户自己的home目录
anon_root=/var/ftp //表示匿名用户登录到ftp时的默认目录
anonymous_enable=YES //是否允许anonymous登录FTP服务器,默认是允许的.
local_enable=YES //是否允许本地用户登录FTP服务器,默认是允许
write_enable=YES //是否允许用户具有在FTP服务器文件中执行写的权限,默认是允许
anon_upload_enable=YES //是否允许匿名账户上传文件
anon_mkdir_write_enable=YES //是否允许匿名账户在FTP服务器中创建目录
dirmessage_enable=YES //激活目录信息,当远程用户更改目录时,将出现提示信息
xferlog_enable=YES //启用上传和下载日志功能
connect_from_port_20=YES //启用FTP数据端口的连接请求
xferlog_file=/var/log/vsftpd.log //设置日志文件的文件名和存储路径,这是默认的
xferlog_std_format=YES //是否使用标准的ftpd xferlog日志文件格式
idle_session_timeout=600 //设置空闲的用户会话中断时间,默认是10分钟
data_connection_timeout=120//设置数据连接超时时间,默认是120秒
ascii_download_enable=YES //是否允许使用ASCII格式来上传和下载文件
ftpd_banner=Welcome to blah FTP service.//在FTP服务器中设置欢迎登录的信息.
chroot_local_user=YES //将所有用户限定在主目录内,不允许切换到其它目录。为NO时允许用户切换到自己home目录以为的其它目录。
chroot_list_enable=YES //表示是否要启用chroot_list_file,即是否有例外的用户。
chroot_list_file=/etc/vsftpd/chroot_list //添加例外用户名单,每个用户占一行。
一般都是这三个参数一起使用,即除root账号外,其它所有用户都不允许切换到其它目录。把root账号添加到chroot_list文件中。

pam_service_name=vsftpd //设置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d/目录下.
userlist_enable=YES //用户列表中的用户是否允许登录FTP服务器,默认为YES时是不允许--这个参数是限制/etc/vsftpd/ftpusers文件中的用户是否允许登录FTP。

listen=YES //使vsftpd 处于独立启动模式
tcp_wrappers=YES //使用tcp_wrqppers作为主机访问控制方式

Max_clients=100 这就表示最多可以有100个用户同时访问

/etc/vsftpd/ftpusers文件说明
这个文件是用来记录"不允许"登录到FTP服务器的用户,通常是一些系统默认的用户.

[root@rusky ~]# cat /etc/vsftpd/ftpusers
# Users that are not allowed to login via ftp
#root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

/etc/vsftpd/user_list文件说明
其实它的内容跟上面那个文件内容一样,只是在系统对文件vsftpd.conf 进行检测时,会检测到"userlist_deny=YES",因此这个文件必须存在.下面是这个文件的内容.

[root@rusky ~]# cat /etc/vsftpd/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

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

FTP虚拟用户

[root@rusky ~]# adduser -g ftp -s /sbin/nologin lxjTestFtp
[root@rusky ~]# passwd lxjTestFtp
Changing password for user lxjTestFtp.
New password:
BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
Retype new password:
passwd: all authentication tokens updated successfully.
[root@rusky ~]#

创建完成后,可使用ftp工具连接到ftp服务;但是不能使用该用户登录系统。

或者修改普通系统账号,取消用户SSH登录权限:usermod -s /sbin/nolog username

参考:http://www.cnblogs.com/hnrainll/archive/2011/02/16/1956536.html

Linux: FTP服务原理及vsfptd的安装、配置的更多相关文章

  1. [转] Linux学习之CentOS(三十六)--FTP服务原理及vsfptd的安装、配置

    本篇随笔将讲解FTP服务的原理以及vsfptd这个最常用的FTP服务程序的安装与配置... 一.FTP服务原理 FTP(File Transfer Protocol)是一个非常古老并且应用十分广泛的文 ...

  2. linux Centos 6.5 FTP服务原理及vsfptd的安装、配置(转)

    本篇随笔将讲解FTP服务的原理以及vsfptd这个最常用的FTP服务程序的安装与配置... 一.FTP服务原理 FTP(File Transfer Protocol)是一个非常古老并且应用十分广泛的文 ...

  3. Linux学习之CentOS--FTP服务原理及vsfptd的安装、配置

    本篇随笔将讲解FTP服务的原理以及vsfptd这个最常用的FTP服务程序的安装与配置... 一.FTP服务原理 FTP(File Transfer Protocol)是一个非常古老并且应用十分广泛的文 ...

  4. 打开Linux ftp服务,如:vsftpd: unrecognized service

    打开Linux ftp服务,如:vsftpd: unrecognized service   [root@BZXXDBS02 ~]# service vsftpd start vsftpd: unre ...

  5. Linux下Apache2.2和PHP5的安装配置

    Linux下Apache2.2和PHP5的安装配置 环境介绍 我安装使用的Linux版本为CentOS6.5最精简版,Apache为2.2.29,PHP版本为5.4.28. 系统安装 首先安装Cent ...

  6. Linux下FTP服务(一)—— Ubuntu安装

    参考:http://www.cnblogs.com/likwo/p/3154868.html 实验环境:Ubuntu 14.04 VMware虚拟机1. 安装 apt-get install vsft ...

  7. Linux FTP服务安装和远程登录失败

    问题:本机VPlayer安装pure-ftpd  ftp服务,通过flashfxp从windows连接出现以下错误: [左] 正在连接到 vmare -> IP=192.168.174.133 ...

  8. linux ftp服务

    1 安装ftp服务 [root@localhost ~]# yum install vsftpd 启动:service vsftpd start 查看状态:systemctl |grep vsftpd ...

  9. Linux:ftp服务本地用户,虚拟用户配置

    本地用户 1. 修改ftp配置文件,  anonymous_enable=NO   默认为YES,修改为NO,禁止匿名访问, 监听端口,可以根据自己的需求修改,为了安全起见自定义为好 2. /etc/ ...

随机推荐

  1. winform 对话框控件,打印控件

    1.文件对话框(FileDialog) 它又常用到两个: 打开文件对话框(OpenFileDialog) 保存文件对话框(SaveFileDialog) 2.字体对话框(FontDialog) 3.颜 ...

  2. 持续集成之戏说Check-in Dance

    尽管Thoughtworks的首席科学家Martion folwer 为“持续集成 ” 下了定义,但由于自身背景与经历的不同,每个人对其都有不同的理解.从狭义上讲,持续集成可以认为是一种基于某种或者某 ...

  3. cf E. George and Cards

    http://codeforces.com/contest/387/problem/E 题意:给你n个数,然后在输入k个数,这k个数都在n个数中出现,进行每一次操作就是在n个数中选择长度为w的连续序列 ...

  4. 从相对路径说开来(从C++到Qt)

    从相对路径说开来(从C++到Qt) 转载自:http://blog.csdn.net/dbzhang800/article/details/6363165 在Qt论坛经常看到网友抱怨: QPixmap ...

  5. Strust2的json插件

    以下这段摘自网上: Json是一种轻量级的数据交换格式,JSon插件提供了一种名为json的ActionResultType .一旦为Action指定了该结果处理类型,JSON插件就会自动将Actio ...

  6. 1.AJAX简介

    没有AJAX会怎么样?普通的ASP.Net每次执行服务端方法的时候都要刷新当前页面,比如实现显示服务器时间.每次都要刷新页面的坏处:页面刷新打断用户操作.速度慢.增加服务器的流量压力.如果没有AJAX ...

  7. 为什么PCI-e比SATA快这么多?

    PCIe协议和SATA协议都是分层协议,分为物理层,数据链路层,传输层,命令层和应用层. 硬件工程师主要关注物理层.数据链路层和传输层.所有CMD/data由应用层和命令层打下来,每向下走一层,多一层 ...

  8. 线段树(区间维护):HDU 3308 LCIS

    LCIS Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  9. 我的学习笔记之node----node.js+socket.io实时聊天(2)

    废话不多说,直接贴代码吧.注释很详细了. 服务端代码: /** * Created by LZX on 2015/10/7. */(function () { var d = document, w ...

  10. Java中对象的深复制和浅复制详解

    1.浅复制与深复制概念 ⑴浅复制(浅克隆) 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象.换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象. ⑵ ...