目的

Linux下安装配置vsfptd服务器,并通过客户端验证。

环境

Centos 6
局域网

内容

配置Vsftpd服务器:实现匿名用户、本地用户和虚拟用户登录的配置。匿名用户可以上载文件,上载后的文件的权限为rw-r—r--,可以创建目录,但是不能删除文件,匿名用户的登录目录为/var/vsftpd。本地用户fayero和clinux,其中fayero可以上载文件,上载后的文件权限为rw-r-----,clinux用户不能上载文件,本地用户被限制在家目录中。root用户不能登录。

步骤

配置匿名和本地用户

  1. 创建/var/vsftpd/upload目录
    mkdir -p /var/vsfptd/upload
  2. 修改/var/vsftpd/upload目录的权限
    chmod o+w /var/vsftpd/upload
  3. 编辑vsftpd.conf,添加以下内容
    write_enable=yes#是否允许登陆用户有写权限。属于全局设置,默认值为YES。
    anonymous_enable=yes #控制是否允许匿名用户登入,YES 为允许匿名登入,NO 为不允许。默认值为YES。
    anon_root=/var/vsftpd #使用匿名登入时,所登入的目录。默认值为/var/vsftp。注意vsftp目录不能是777的权限属性,即匿名用户的家目录不能有777的权限
    anon_umask=022 #设置匿名登入者新增或上传档案时的umask 值。默认值为022,则新建档案的对应权限为755。
    anon_upload_enable=yes #如果设为YES,则允许匿名登入者有上传文件(非目录)的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为NO。
    anon_mkdir_write_enable=yes #如果设为YES,则允许匿名登入者有新增目录的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为NO。
    anon_other_write_enable=no #如 果设为YES,则允许匿名登入者更多于上传或者建立目录之外的权限,譬如删除或者重命名。(如果anon_upload_enable=NO,则匿名用户 不能上传文件,但可以删除或者重命名已经存在的文件;如果anon_mkdir_write_enable=NO,则匿名用户不能上传或者新建文件夹,但 可以删除或者重命名已经存在的文件夹。)默认值为NO。
    anon_world_readable_only=no #如果设为YES,则允许匿名登入者下载可阅读的档案(可以下载到本机阅读,不能直接在FTP服务器中打开阅读)。默认值为YES。
    user_config_dir=/etc/vsftpd/user_config_dir #设置用户配置文件所在的目录。当设置了该配置项后,用户登陆服务器后,系统就会到/etc/vsftpd/ user_config_dir目录下,读取与当前用户名相同的文件,并根据文件中的配置命令,对当前用户进行更进一步的配置。
    local_enable=yes #允许本地用户登陆
    local_umask=026 #本地用户新增档案时的umask 值。默认值为026
    chroot_list_enable=no #设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。
    chroot_local_user=yes #用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。
    chroot_list_file=/etc/vsftpd/chroot_list #用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。
    userlist_enable=yes #是否启用chroot_list文件。
    userlist_deny=yes #决定chroot_list文件中的用户是否能够访问FTP服务器。若设置为YES,则chroot_list文件中的用户不允许访问FTP,若设置为NO,则只有chroot_list文件中的用户才能访问FTP。
    userlist_file=/etc/vsftpd/user_list #控制用户访问FTP的文件,里面写着用户名称。一个用户名称一行。
  4. 编辑控制文件/etc/vsftpd/chroot_list,添加用户fayero、clinux。
  5. 编辑用户文件/etc/vsftpd/user_list,添加用户root。
  6. 创建/etc/vsftpd/user_config_dir目录:
    mkdir /etc/vsftpd/user_config_dir
  7. 在/etc/vsftpd/user_config_dir目录下添加一个文件名为clinux,文件内容为write_enable=no
  8. 创建fayero和clinux用户,并添加密码。
  9. 重启服务
    service vsftpd restart
    即可使用用户名密码访问FTP服务器。

    配置虚拟用户

  10. 在/etc/vsftp目录下创建登陆用户文件loguser.txt,内容如下:
    tom#用户名
    123#密码
  11. 创建有关账号的数据库文件,并配置权限:
    db_load -T -t hash -f /etc/vsftpd/loguser.txt /etc/vsftpd/loguser.db
    chmod 600 /etc/vsftpd/loguser.db
  12. 配置PAM文件,修改/etc/pam.d/vsftpd内容为:
    auth required /lib/security/pam_userdb.so db=/etc/vsftpd/loguser
    account required /lib/security/pam_userdb.so db=/etc/vsftpd/loguser
  13. 为虚拟用户创建本地系统用户
    useradd virtual
  14. 编辑/etc/vsftpd/vsftpd.conf文件,添加以下内容
    guest_enable=yes
    guest_username=virtual
    virtual_use_local_privs=yes
  15. 重启vsftpd服务,即可使用虚拟用户进行登陆。


RHEL/Centos下VSFTPD服务器搭建的更多相关文章

  1. RHEL/Centos下Sendmail服务器搭建

    目的 Linux下配置Sendmail服务器,并通过客户端验证. 环境 Cento6 局域网(可访问互联网) 内容 配置Sendmail服务器,使得客户端能够通过foxmail或者outlook ex ...

  2. [原创]CentOS下Radius服务器搭建

    一.   实现环境: 1.系统:CentOS  release  6.6 (Final) 2.需要软件包: 1) freeradius-2.1.12-6.e16.x86_64 freeradius-m ...

  3. 写给大忙人的centos下ftp服务器搭建(以及启动失败/XFTP客户端一直提示“用户身份验证失败”解决方法)

    注:个人对偏向于底层基本上拿来就用的应用,倾向于使用安装包,直接yum或者rpm安装:而对于应用层面控制较多或者需要大范围维护的,倾向于直接使用tar.gz版本. 对于linux下的ftp服务器,实际 ...

  4. centos 下git服务器搭建

    准备 CentOS Linux release 7.0.1406 (Core) ssh 22端口 http 80端口 本文主要是ssh协议支持,http协议配置后还有问题. 摘抄的一段说明 SSH 协 ...

  5. 阿里云(centos)下svn 服务器搭建

    安装说明 系统环境:阿里云centos安装方式:yum install subversion 检查已安装版本 #检查是否安装了低版本的SVN[root@localhost /]# rpm -qa su ...

  6. Centos vsftpd服务器搭建

    Centos vsftpd服务器搭建 时间:2016-07-18 1.最为简单的vsftpd服务器搭建 1.安装vsftpd 1.yum 安装 yum install vsftpd 2.rpm文件安装 ...

  7. CentOS下Web服务器环境搭建LNMP一键安装包

    CentOS下Web服务器环境搭建LNMP一键安装包 时间:2014-09-04 00:50来源:osyunwei.com 作者:osyunwei.com 举报 点击:3797次 最新版本:lnmp- ...

  8. (转)CentOS下用yum搭建LNMP服务器

    原文链接:http://www.xiaohuai.com/2733 CentOS下搭服务器也折腾好几次了, 每次都知道个大概, 具体repo的地址什么的还都要现找, 实在不效率, 干脆整理记录下来. ...

  9. 基于SSL加密的vsftpd 服务器搭建和配置

    基于SSL加密的VSFTPD 服务器搭建和配置 1.安装 ubuntu系统:apt-get install vsftp lftp centos系统:yum install -y vsftpd ftp ...

随机推荐

  1. R实战:grid包

    grid包是一个底层的绘图系统,能够灵活地控制图形输出的外观和布局,但是grid包不提供创建完整图形的高级绘图系统,例如,ggplot2和lattice,而是提供绘制开发这些高级绘图的基础接口,例如: ...

  2. UWP 检测网络状态

    最近发现Community Toolkit有了网络辅助类,貌似很早就有了... 很不错,还是用.给大家分享一下. 1. 检测网络是否可用 2. 检测网络是否是计费模式? 3. 检测网络接入类型 4. ...

  3. 最具有性价比的语言javascript之二,学习篇

    先祝福各位,国庆假期愉快!前面写了一篇 最具有性价比的语言javascript之介绍篇,引起了不少的争议. 有些人javascript吐槽,埋怨.我目前做的都是后台系统.每个人的工作经历和兴趣爱好不一 ...

  4. java中文显示乱码的解决方式

    myeclipse 10 import 源文件后java文件中文乱码问题,*.java文件中的中文不能显示,都是乱码 解决方法(网上找的,已经过验证): 一.将整个project设置编码UTF-8(U ...

  5. [Unity Shader] 切线空间的法线贴图

    切线空间的法线贴图,可以这样理解: #纹理坐标是从0到1,它的坐标是x向右,y向下 #顶点坐标是从-1到-1,坐标是x向右,y向上 1 由表面上某点的切线Tangent.副切线Bitangent.法线 ...

  6. 六度空间(MOOC)

    六度空间: “六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论.这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五 ...

  7. beego跨域请求配置

    不说废话 在main函数前加入如下代码 func init() { //跨域设置 var FilterGateWay = func(ctx *context.Context) {ctx.Respons ...

  8. 如何在unix系统中用别的用户运行一个程序?

    1.问题的缘由 实际开发系统的时候,经常需要用别的用户运行一个程序.比如,有些系统为保证系统安全,不允许使用root来运行.这里,我们总结了unix系统下如何解决这个问题的一些方法.同时,我们还讨论如 ...

  9. ats Linux路由器上内联

    路由设置假定客户端集在单个物理接口后面的不同网络上. 出于本例的目的,我们将假设: 客户端位于172.28.56.0/24网络上路由器连接网络172.28.56.0/24和192.168.1.0/24 ...

  10. Eclipse各版本分析比较

    Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会. Ec ...