CentOS 6.8 ftp服务安装配置 基于本地用户和虚拟用户

一、安装ftp服务

1、检查是否已经安装

# rpm -qa | grep ftp

ftp-0.17-54.el6.x86_64

vsftpd-2.2.2-21.el6.x86_64            //显示已安装

2、若未安装则进行安装

# yum -y install vsftp

# yum -y install ftp

//如果在离线环境下 就先去网上预先下载ftp的rpm包 进行手动安装

3、ftp服务命令

# /etc/init.d/vsftpd start      手动启动ftp服务

或者# service vsftpd start

# chkconfig vsftpd on          设置为开机自启动

# service vsftpd stop

# service vsftpd restart

# service vsftpd status

二、配置ftp

1、配置vsftpd配置文件

# vi /etc/vsftpd/vsftpd.conf

# 禁止匿名用户anonymous登录

anonymous_enable=NO

# 允许本地用户登录

local_enable=YES

# 让登录的用户有写权限(上传,删除)

write_enable=YES

# 默认umask

local_umask=022

# 把传输记录的日志保存到/var/log/vsftpd.log

xferlog_enable=YES

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=NO

# 允许ASCII模式上传

ascii_upload_enable=YES

# 允许ASCII模式下载

ascii_download_enable=YES

# 使用20号端口传输数据

connect_from_port_20=YES

# 欢迎标语

ftpd_banner=Welcome to use my test ftp server.

# chroot_local_user设置了YES,那么所有用户都被限制只能访问自己的home目录。不能切换到上级目录。

# chroot_list_enable设置了YES,即让chroot用户列表有效。

# 如果chroot_local_user设置了YES,那么chroot_list_file文件里的用户不受限制,即可以切换到上级目录。

# 如果chroot_local_user设置了NO,那么chroot_list_file文件里的用户不能切换到上级目录。

chroot_list_enable=YES

# touch /etc/vsftpd/chroot_list 新建

chroot_list_file=/etc/vsftpd/chroot_list   --添加到这里面的用户不受限制,可以切换到上级目录。

use_localtime=YES

# 以standalone模式在ipv4上运行

listen=YES

# PAM认证服务名,这里默认是vsftpd,在安装vsftpd的时候已经创建了这个pam文件,

# 在/etc/pam.d/vsftpd,根据这个pam文件里的设置,/etc/vsftpd/ftpusers

# 文件里的用户将禁止登录ftp服务器,比如root这样敏感的用户,所以你要禁止别的用户

# 登录的时候,也可以把该用户追加到/etc/vsftpd/ftpusers里。

pam_service_name=vsftpd

*重启vsftpd

# service vsftpd restart

三、创建本地用户

创建用户

# useradd -d /home/ftpuser/zzp -s /sbin/nologin -M zzp123

设置用户到文件夹

# chown -R username /home/ftpuser/zzp

设置权限

# chown -R 777 /home/ftpuser/zzp

添加密码

# passwd zzp -> 密码 -> 确认密码

四、创建虚拟用户

安装基于普通文件的文件型认证数据库的生成工具

# rpm -qa | grep db4-utils

# yum -y install db4-utils

编辑虚拟用户账号和密码文件,奇数行为用户名,偶数行为密码

# vi /etc/vsftpd/vu.txt

test

1234

...

usernameN

passwordN

用于认证的文件型数据库生成

# db_load -T -t hash -f /etc/vsftpd/vu.txt /etc/vsftpd/vu.db

修改权限

# chmod 600 /etc/vsftpd/vu.*

修改VSFTP默认的认证方式,改为基于刚才生成的文件型数据库

# vi /etc/pam.d/vsftpd.vu

auth      required  /lib64/security/pam_userdb.so db=/etc/vsftpd/vu    #vu文件无后缀

account  required  /lib64/security/pam_userdb.so db=/etc/vsftpd/vu

**注意**:

1.系统默认读取的文件是/etc/pam.d/vsftpd  也可以直接在这里面添加上面的内容

2.64位的系统可能会识别不出pam_userdb.so db的路径,所以要写出完整的路径,否则在登录ftp的时候会报 530 login incorrect 错误

创建映射虚拟用户的系统用户

# useradd  -d /home/vsftp/ftp -s /sbin/nologin -M vsftp

创建虚拟用户配置文件目录

# mkdir /etc/vsftpd/conf.vu

修改VSFTP配置文件

# vi /etc/vsftpd/vsftpd.conf
anon_umask=022                                #文件644,文件夹755
anonymous_enable=NO                      #关闭匿名登录
pam_service_name=vsftpd.vu              #修改PAM认证模块 (系统默认的是vsftpd)
guest_enable=YES                                #允许虚拟用户登录
guest_username=vsftp                        #映射虚拟用户的系统用户
user_config_dir=/etc/vsftpd/conf.vu    #虚拟用户配置文件目录
pasv_enable=YES                                  #被动模式
pasv_max_port=20999                        #最大端口
pasv_min_port=20000                          #最小端口
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/xferlog                #日志:记录上传、下载、删除、创建
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log      #日志:服务器传输日志

创建虚拟用户各自的目录及配置文件

# mkdir /home/vsftp/ftp/username
# chmod 700 /home/vsftp/ftp/username
# chown vsftp.vsftp /home/vsftp/ftp/username
# vi /etc/vsftpd/conf.vu/username
write_enable=YES                        #当前虚拟用户写权限
anon_world_readable_only=NO              #当前虚拟用户下载权限
anon_upload_enable=YES                  #当前虚拟用户上传权限
anon_mkdir_write_enable=YES              #当前虚拟用户创建目录权限
anon_other_write_enable=YES              #当前虚拟用户删除和重命名权限
local_root=/bigdisk/ftp/username1        #当前虚拟用户家目录
# chmod 600 /etc/vsftpd/conf.vu/*

最后重启vsftpd

# service vsftpd restart

CentOS 6.8 ftp服务安装配置 基于本地用户和虚拟用户的更多相关文章

  1. ubuntu14.04 server ftp 服务安装配置详解

    ubuntu14.04 server ftp 服务安装配置详解 cheungmine 2016-01-27 http://wiki.ubuntu.com.cn/Vsftpd 0 安装好vsftpd服务 ...

  2. Linux防火墙iptables安装配置--使用远程工具Xmanager和ftp服务安装配置

    一.linux关闭防火墙:    a.用户直接在终端输入:service iptables stop     查看防火墙状况:service iptables status  b.root用户在终端输 ...

  3. CentOS 7下Samba服务安装与配置详解

    1. Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共 ...

  4. CentOS 7 Xinetd服务安装配置

    CentOS 7 Xinetd服务安装配置 目录 CentOS 7 Xinetd服务安装配置 一.Linux守护进程与初始化进程 1. 什么是守护进程 2. 什么是初始化 二.Linux独立启动进程和 ...

  5. centos 6.5 ftp服务配置及客户端使用

    一.ftp服务简介 FTP是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”.用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Ap ...

  6. FTP服务搭建配置笔记

    1.什么是文件共享服务? 简单来说就是文件域存储块设备可以共享给他人使用. 1.1 实现文件共享服务的三种方式 FTP:属于应用层服务,可以跨平台使用 NFS:属于内核模式,不可以跨平台使用 Samb ...

  7. FTP服务安装与端口说明

    FTP服务安装与端口说明 FTP端口修改安装部署windowswindows 2012文件服务 1. FTP服务介绍 1.1 什么是FTP FTP(File Transfer Protocol)是文件 ...

  8. FTP的安装配置使用

    ///////////////////////////////FTP///////////////////////////////////////////////////写在前面:在linux 环境下 ...

  9. linux 下ftp的安装配置 图文教程

    0.安装ftp的前置条件是关掉SElinux # vi /etc/selinux/config 修改 SELINUX=” disabled ” ,重启服务器.若相同,则跳过此步骤. 1. 可先查看是否 ...

随机推荐

  1. Knockout官网实例在MVC下的实现-01,实现Hello world

    本篇使用Knockout在MVC下实现"Hello World",对应的官网实例在这里. View视图 Knockout的一个特点是:声明式绑定,即Declarative bind ...

  2. EF实体框架处理实体之间关联关系与EF延迟机制(下)

    在数据库中,表与表之间可能存在多种联系,比如,一对多,多对多的关系.当我们使用逻辑外键在数据库建立两张表之间的关系的时候,我们使用EF实体框架 必然也会将这种关系映射到我们的实体关系中来.所以,在我们 ...

  3. CRF 及CRF++ 安装与解释

    CRF简介 Conditional Random Field:条件随机场,一种机器学习技术(模型) CRF由John Lafferty最早用于NLP技术领域,其在NLP技术领域中主要用于文本标注,并有 ...

  4. Facebook 工程师是如何高效工作的?

    编者按:Facebook 的工程师有哪些高效工作的经验呢?软件工程师访谈了多位 Facebook 的高产工程师,总结了他们的共同经验以及晋级之路,供各位参考. 成为高效开发者这件事你可以通过经验.书本 ...

  5. Informatica 常用组件Aggregator之二 分组依据端口

    聚合转换允许您为聚合定义组,而不是在所有的输入数据间执行聚合.例如,您可以查找按地区分组的总销量,而不是查找总的公司销量. 要为聚合表达式定义组,请选择聚合转换中的相应输入.输入/输出.输出和变量端口 ...

  6. 第十五章 springboot + pojo默认值设置

    我们有时需要给POJO设置默认值 pojo设置(推荐) 1.User package com.xxx.firstboot.domain; import lombok.Getter; import lo ...

  7. go语言之进阶篇结构体指针类型匿名字段

    1.结构体指针类型匿名字段 示例: package main import "fmt" type Person struct { name string //名字 sex byte ...

  8. 合并JavaScript数组的N种方法

    这是一篇简单的文章,关于JavaScript数组使用的一些技巧.我们将使用不同的方法结合/合并两个JS数组,以及讨论每个方法的优点/缺点. 让我们先考虑下面这情况: var a = [ 1, 2, 3 ...

  9. 运用CSS改进网站设计的3个技巧

    CSS是一种分离表述编码和实际内容的一种最有用的方式,也是一种使搜索引擎最优化的方式,通常,网站设计中会建立一整套的css样式标准,这些标准存储在一个扩展名为css的单独文件中.然后利用HTML标签设 ...

  10. 又议android中的manifest清单文件

    写过java程序的人,都知道了配置文件时java实现各种各样的框架的一大利器,manifest清单文件对android的作用自然不言而喻,然而他里面究竟定义了些什么,并且他是如何加载到程序中的. 他里 ...