专栏首页木二天空005.FTP本地用户访问

005.FTP本地用户访问

一 新建本地用户

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

二 本地用户配置项

2.1 基础配置

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

2.2 安全选配

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

三 重启ftp服务

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

四 测试登陆

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

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

五 测试上传及下载

5.1 上传测试

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

5.2 下载测试

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

六 修改主目录配置

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

6.1 添加配置项

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

6.2 查看修改后的目录权限

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

6.3 新建ftp用户组

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

6.4 修改文件所属组

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

注意:

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

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

6.5 测试上传及下载

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

七 总结

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 002.SMB安装与端口

    木二
  • 附012.Kubeadm部署高可用Kubernetes

    Kubernetes的高可用主要指的是控制平面的高可用,即指多套Master节点组件和Etcd组件,工作节点通过负载均衡连接到各Master。HA有通常有如下两...

    木二
  • 附025.kubeadm部署Kubernetes更新证书

    提示:kubelet的/var/lib/kubelet/config.yaml配置文件中一般不会明确指定服务端证书,而是只指定 ca 根证书, 让 kubele...

    木二
  • 算法专题(2)-模拟

    模拟题在NOIP中十分常见,一般属于简单题,需要拿满分。模拟题需要理解题意,按照题目要求的直接进行模拟过程,或者按照题目要求模拟一些数据结构。模拟题最关键的是理...

    用户5325900
  • 2020年 MathorCup数学建模 A题 无车承运人平台线路定价问题,定价评价

    问题 1:通过定量分析的方法,研究影响无车承运人平台进行货运线路定价的主要因素有哪些,并说明理由。 问题 2:根据附件 1 数据,通过建立数学模型,对已经成交...

    不太灵光的程序员
  • Google Chrome 68 正式向所有不安全的 HTTP 网站开炮

    在 7 月 24 号发布的 Chrome 68 中,Google 引入了一项重大的变化。当加载非 HTTPS 网站时,该浏览器的处理方式会更加审慎。据悉,只要遇...

    周俊辉
  • 求斐波那契数列的问题

    假如面试官让你编写求斐波那契数列的代码时,是不是心中暗喜?不就是递归么,早就会了。如果真这么想,那就危险了。

    编程珠玑
  • Google Chrome 将从9月开始,默认 HTTPS 页面为安全站点

    据外媒 bleepingcomputer 5月17日报道,谷歌正计划停止在地址栏中标记 HTTPS 页面为“安全”站点,换句话说,在没有发现异常的情况下,所有 ...

    周俊辉
  • Java|递归算法计算

    在本周的java框架学习中,在讲述aop的时候,利用测试递归和迭代两种方式计算斐波拉契数列的效率进行了讲解,由于java基础知识不牢固,所以又回顾了递归这种方法...

    算法与编程之美
  • 如何部署编译NDIS驱动的环境(内部资料)

    0,安装VC6英文版。 1,安装WinXP DDK。要完全安装,不然会比较麻烦。 2,安装DS。最好也完全安装,要不也是很麻烦。 3,DS安装好以后,运行"开始...

    大石头

扫码关注云+社区

领取腾讯云代金券