前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vsftpd搭建 - 基于系统用户

vsftpd搭建 - 基于系统用户

作者头像
以谁为师
发布2019-05-30 20:36:07
1.4K0
发布2019-05-30 20:36:07
举报
文章被收录于专栏:小网管的运维之路

安装部署

1.使用yum在线安装

代码语言:javascript
复制
yum install vsftpd -y

2.允许用户登陆

使user_list​为NO,只允许列表内用户访问

代码语言:javascript
复制
sed -i 's/userlist_enable=YES/userlist_deny=NO/g' /etc/vsftpd/vsftpd.conf
echo user1  >> /etc/vsftpd/user_list
echo user2  >> /etc/vsftpd/user_list
echo user3  >> /etc/vsftpd/user_list
#添加允许的登录ftp的系统账号

3.安全设置

黑名单 (user_list优先匹配,ftpusers 后匹配) cat /etc/vsftpd/ftpusers root bin daemon adm ...... 限制匿名账号

代码语言:javascript
复制
sed -i  s/anonymous_enable=YES/anonymous_enable=NO/ /etc/vsftpd/vsftpd.conf
echo ftp >>  /etc/vsftpd/ftpusers
#禁用匿名用户登录,不再跳出pub目录

方法1.将登录后的用户限制在自己的家目录

vi /etc/vsftpd/vsftpd.conf

代码语言:javascript
复制
 chroot_local_user=YES

方法2.登录用户默认限制在家目录,但是chroot_list内的用户不受限制

vi /etc/vsftpd/vsftpd.conf

代码语言:javascript
复制
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
echo administrator  >> /etc/vsftpd.chroot_list

4.ftp主目录

1.安全性考虑

代码语言:javascript
复制
chmod -w /ftp站点目录
#取消写入权限

2.允许root有写入权限

代码语言:javascript
复制
allow_writeable_chroot=YES

5.启动服务 如centos7

代码语言:javascript
复制
systemctl restart vsftpd
systemctl enable vsftpd  #加入开机启动

我用www用户作为web服务的运行身份 ,ftp站点也是www家目录。

代码语言:javascript
复制
useradd  -u 500  -M -s /sbin/nologin -g www  -d /var/www   www
passwd www
#设置www用户登录密码

站点目录权限

连接报错:

vsftpd: refusing to run with writable root inside chroot() 错误的解决办法 避免一个安全漏洞,从 vsftpd 2.3.5 开始,chroot 目录必须不可写

根目录不可写

代码语言:javascript
复制
chmod a-w /var/www
# 根目录不可写

根目录可写

代码语言:javascript
复制
chmod 775 /var/www
# 用户可写
代码语言:javascript
复制
allow_writeable_chroot=YES
# 标准的vsftpd build写法
# allow_writable_chroot=YES
# 扩展的vsftpd build (vsftpd-ext)写法

被动端口

/etc/vsftpd/vsftpd.conf

代码语言:javascript
复制
pasv_enable=YES
#Default: YES 设置是否允许pasv模式
#pasv_promiscuous=no
#Default: NO 是否屏蔽对pasv进行安全检查,(当有安全隧道时可禁用)
pasv_min_port=65000
pasv_max_port=65500
#(Default: 0 (use any port)) pasv使用的最大端口
#(Default: 0 (use any port)) pasv使用的最小端口

查看接口

代码语言:javascript
复制
netstat -pntla|grep 115.196.140.238 |awk '/vsftp/  {print $4,$6}'
# 大文件传输测速

服务端口: 192.168.64.14:21 ESTABLISHED 数据端口: 192.168.64.14:65401 ESTABLISHED

一键安装脚本

代码语言:javascript
复制
http://d.attacker.club/scripts/shell/ServicesDeployment/vsftpd/vsftpd_install.sh
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年4月9日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装部署
  • 1.使用yum在线安装
  • 2.允许用户登陆
  • 3.安全设置
    • 方法1.将登录后的用户限制在自己的家目录
      • 方法2.登录用户默认限制在家目录,但是chroot_list内的用户不受限制
      • 4.ftp主目录
      • 站点目录权限
        • 根目录不可写
          • 根目录可写
          • 被动端口
          • 一键安装脚本
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档