一 新建本地用户

 [root@imxhy ftp]# useradd ftpuser	#用于登陆ftp的用户
[root@imxhy ftp]# passwd ftpuser
Changing password for user ftpuser.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

二 本地用户配置项

2.1 基础配置

 local_enable=YES			#允许本地用户登陆
write_enable=YES #允许本地用户上传
local_umask=022 #设置上传的默认文件权限

2.2 安全选配

 chroot_local_user=YES			#开启用户目录限制,把所有用户都限制在用户主目录中
chroot_list_enable=YES #开启允许访问任何目录的功能
chroot_list_file=/etc/vsftpd/chrot_list #允许访问任何目录的用户依据文件保存位置

三 重启ftp服务

 [root@imxhy ~]# service restart vsftpd		#Centos6系列
[root@imxhy ~]# systemctl restart vsftpd #Centos7系列

四 测试登陆

注意:本地用户登陆后默认的主目录为该用户的家目录:/home/【用户名】

 E:\Temp>ftp 192.168.10.10
连接到 192.168.10.10。
220 (vsFTPd 3.0.2)
用户(192.168.10.10:(none)): ftpuser
331 Please specify the password.
密码:
230 Login successful.
ftp> pwd
257 "/home/ftpuser"

五 测试上传及下载

5.1 上传测试

 ftp> put ftpuser_upload.txt			#上传至服务端
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.

5.2 下载测试

 [root@imxhy ftp]# cd /home/ftpuser/
[root@imxhy ftpuser]# touch ftpuser_down.txt #新建用于测试的文件
ftp> get ftpuser_down.txt #下载至本地
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for ftpdown.txt (0 bytes).
226 Transfer complete.

六 修改主目录配置

注意:本地用户登陆后默认的主目录为该用户的家目录:/home/【用户名】

6.1 添加配置项

 local_root=/tmp/ftpuser		#选配:设置所有本地用户的FTP根目录,但此配置无法区分不同用户
local_max_rate=0 #选配:限制最大传输速率(字节/秒)

6.2 查看修改后的目录权限

 [root@imxhy ~]# ll -d /tmp/ftpuser
drwxr-xr-x. 2 root root 6 Aug 28 19:39 /tmp/ftpuser/

6.3 新建ftp用户组

 [root@imxhy ~]# groupadd ftpgroup		#创建ftp用户组
[root@imxhy ~]# gpasswd -a ftpuser ftpgroup #将ftpuser添加到组

6.4 修改文件所属组

 [root@imxhy ~]# chown root:ftpgroup /tmp/ftpuser/
#将/tmp/ftpuser/目录所属组改为ftpgroup
[root@imxhy ~]# chmod 775 /tmp/ftpuser/ #修改权限为775,使所属组具备可读写执行权限
[root@imxhy ~]# ls -ld /tmp/ftpuser/ #查看/tmp/ftpuser/目录权限
drwxrwxr-x. 2 root ftpgroup 21 Aug 28 19:42 /tmp/ftpuser/

注意:

1:强烈不建议将主目录中其他人权限改为可读写且执行。

2:同时也不建议将/tmp/ftpuser主目录所属人改为ftpuser(会报错)。

6.5 测试上传及下载

 E:\Temp>ftp 192.168.10.10
连接到 192.168.10.10。
220 (vsFTPd 3.0.2)
用户(192.168.10.10:(none)): ftpuser
331 Please specify the password.
密码:
230 Login successful.
ftp> pwd #查看当前目录(不再是默认目录)
257 "/tmp/ftpuser"
ftp> get down.txt #下载文件
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for down.txt (0 bytes).
226 Transfer complete.
ftp> put upload.txt #上传文件
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.

七 总结

  • 1 默认上传目录建议为:/home/【用户名】。
  • 2 如允许上传,服务权限和系统目录权限必须同时具备。
  • 3 本地用户访问传输的密码为明文,存在安全隐患。
  • 4 本地用户连接方式,无论是否采用默认的主目录(/home/【用户名】)还是自定义的主目录(/tmp/ftpuser)
  • 都能通过cd切换到其他任意目录,从而下载任意文件。因此chroot_local_user=YES必须限制。
  • 5 可将允许随意切换目录的用户写入/etc/vsftpd/chrot_list,从而针对特定用户限制主目录。

005.FTP本地用户访问的更多相关文章

  1. 007.FTP虚拟用户访问

    一 虚拟用户优点 可对每个用户进行单独设定权限. 每个用户单独配置文件,单独指定主目录,而不能访问系统的其它资源. 注意:虚拟用户目录和本地用户访问目录不冲突. 二 配置虚拟用户步骤 添加虚拟用户口令 ...

  2. CentOS 6下配置本地用户访问vsftpd并赋予写权限

    一.安装并测试可用性 1.安装命令 yum install vsftpd 2.配置防火墙,加入一行 -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT 在其它机测试 ...

  3. linux虚拟机中FTP本地用户模式配置流程

    1.首先在自己虚拟机中安装vsftpd服务,可以先去yum中下载(当然你要有本地yum仓库) 输入命令: yum  install  vsftpd 下载完成之后打开vsftpd服务 输入命令:syst ...

  4. Linux系统学习 十六、VSFTP服务—本地用户访问—基本用户基础配置

    缺点,ftp密码是和系统密码是一致的,并不安全 先设置两个测试用户 test1      123123 test2      123123 基本用户基础配置 1.本地用户基本配置 local_enab ...

  5. 004.FTP匿名用户访问

    一 匿名用户配置项 [root@imxhy~]# vi /etc/vsftpd/vsftpd.conf anonymous_enable #允许匿名用户访问 anon_upload_enable #允 ...

  6. Linux系统学习 十七、VSFTP服务—本地用户访问—用户访问控制

    FTP相关文件中用户控制列表文件 /etc/vsftpd/ftpusers        #该文件永远都是黑名单(针对访问ftp服务,一般不做修改) /etc/vsftpd/user_list     ...

  7. CentOS6.5下搭建ftp服务器(三种认证模式:匿名用户、本地用户、虚拟用户)

    CentOS 6.5下搭建ftp服务器 vsftpd(very secure ftp daemon,非常安全的FTP守护进程)是一款运行在Linux操作系统上的FTP服务程序,不仅完全开源而且免费,此 ...

  8. CentOS下源码安装vsftpd-3.0.0,并设置指定用户访问指定目录(附带完整配置文件)

    1.卸载系统已经存在的ftp服务器 因为是源码安装,所以不能通过rpm -qa的方式查看是否已经安装ftp服务器,可以通过find / | grep vsftp*方式查看系统中存在哪些与vsftpd相 ...

  9. yum ftp本地源

    一. 准备工作1. 安装系统centos7.32. 环境 10.10.10.14 controller-1 10.10.10.15 computer-1 3. 在14主机上安装FTP服务yum ins ...

随机推荐

  1. alpine编译安装tengine,并使用supervisor启动

    Alpine是一个小型的linux系统,官方docker镜像只有不到5MB,非常适合作为容器镜像. Alpine Linux is a security-oriented, lightweight L ...

  2. Zabbix应用六:Zabbix监控Redis

    利用Zabbix监控Redis Zabbix监控redis就比较简单了,因为zabbix官方提供了监控redis的模版和脚本,而且脚本有nodejs和python两种,下载地址:https://git ...

  3. OpenStack 图形化服务 Horizon使用(十三)

    构建一台云主机 上图中Count可以选择同时创建多台 最终“启动实例” 创建成功后,可以进入控制台,操作新建云主机

  4. Hadoop生态圈-Kafka的新API实现生产者-消费者

         Hadoop生态圈-Kafka的新API实现生产者-消费者 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  5. PHP扩展开发--编写一个helloWorld扩展

    为什么要用C扩展 C是静态编译的,执行效率比PHP代码高很多.同样的运算代码,使用C来开发,性能会比PHP要提升数百倍. 另外C扩展是在进程启动时加载的,PHP代码只能操作Request生命周期的数据 ...

  6. CString 与其它数据类型转换问题

    CString 头文件#include <afx.h> string 头文件#include <string.h> CString 转char * CString cstr; ...

  7. [转]hisi mmz模块驱动讲解

    一.概述 如图所示,在海思平台上将内存分为两个部分:os内存和mmz内存.os内存指:由linux操作系统管理的内存:mmz内存:由mmz驱动模块进行管理供媒体业务单独使用的内存,在驱动加载时可以指定 ...

  8. 【技术知识】恶意PDF文件分析-PDFdump的问题

    1.提醒 百度分析恶意PDF文件,很多都是推荐PDFdump.在某次沙箱产品分析出疑似高级威胁的PDF样本后,我使用PDFdump查看ShellCode的加密数据,分析后并没有找到相关的ShellCo ...

  9. 【转】SpringMVC Controller 介绍

    转自:原文url 一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ...

  10. PyCharm 2018实现远程调试代码

    pycharm是一个非常强大的python开发工具,现在很多代码最终在线上跑的环境都是linux,而开发环境可能还是windows下开发,这就需要经常在linux上进行调试,或者在linux对代码进行 ...