前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【玩转腾讯云】linux搭建ftp

【玩转腾讯云】linux搭建ftp

原创
作者头像
Ezio4396
修改于 2020-04-30 02:34:49
修改于 2020-04-30 02:34:49
35.8K0
举报

记录安装ftp过程以及遇到的问题。

安装流程

  1. 首先要确认服务器的端口开放情况,ftp被动模式使用21端口。anonymous\_enable=NO #不允许匿名用户登陆 local\_enable=YES #vsftpd所在系统的用户可以登录vsftpd write\_enable=YES #允许使用任何可以修改文件系统的FTP的指令 local\_umask=000 #匿名用户新增文件的umask数值 anon\_upload\_enable=NO #匿名用户不可以上传文件 anon\_mkdir\_write\_enable=NO #匿名用户不可以修改文件 xferlog\_enable=YES #启用一个日志文件,用于详细记录上传和下载。 use\_localtime=YES #使用本地时间而不是GMT vsftpd\_log\_file=/var/log/vsftpd.log #vsftpd日志存放位置 dual\_log\_enable=YES #用户登陆日志 connect\_from\_port\_20=YES #开启20端口 xferlog\_file=/var/log/xferlog #记录上传下载文件的日志 xferlog\_std\_format=YES #记录日志使用标准格式 idle\_session\_timeout=600 #登陆之后超时时间60秒,登陆之后,一分钟不操作,就会断开连接。 chroot\_local\_user=YES #用于指定用户列表文件中的用户,是否允许切换到上级目录 listen=YES #开启监听 pam\_service\_name=vsftpd #验证文件的名字 tcp\_wrappers=YES #支持tcp\_wrappers,限制访问 (/etc/hosts.allow,/etc/hosts.deny) pasv\_min\_port=35000 pasv\_max\_port=45000 pasv\_enable=YES pasv\_promiscuous=YES anon\_other\_write\_enable=YES userlist\_enable=YES userlist\_deny=NO #允许由userlist\_file指定文件中的用户登录FTP服务器这里说明一下用户权限问题,和配置文件user_list与ftpusers有关。 1:userlist_enable和userlist_deny两个选项联合起来针对的是:本地全体用户(除去ftpusers中的用户)和出现在user_list文件中的用户以及不在在user_list文件中的用户这三类用户集合进行的设置。 2:当且仅当userlist_enable=YES时:userlist_deny项的配置才有效,user_list文件才会被使用;当其为NO时,无论userlist_deny项为何值都是无效的,本地全体用户(ftpusers中的用户不能登入FTP)都可以登入FTP。 3:当userlist_enable=YES时,userlist_deny=YES时:user_list是一个黑名单,即:所有出现在名单中的用户都会被拒绝登入。 4:当userlist_enable=YES时,userlist_deny=NO时:user_list是一个白名单,即:只有出现在名单中的用户才会被准许登入(user_list之外的用户都被拒绝登入)。另外需要特别提醒的是:使用白名单后,匿名用户将无法登入!除非显式在user_list中加入一行:anonymous。 5. 重启vsftpd# 重启 service vsftpd restart开启service vsftpd start停止service vsftpd stop 6. 添加ftp用户 useradd 用户名 -s /sbin/nologin //限定用户test不能telnet,只能ftp。
  2. 安装vsftp软件包yum install -y vsftpd
  3. 修改ftp配置文件,默认位置在/etc/vsftpd/。最好备份一下原始文件以便后期调整。
  4. ftp配置文件vsftpd.conf详细内容

usermod -s /sbin/bash 用户名 //用户恢复正常 。该账户路径默认指向/home/ftpadmin目录。

设置ftpadmin用户密码,运行命令:”passwd ftpadmin” 。 输入两次密码,匹配成功后,就设置好了ftpadmin用户的密码了。

测试连接,您可以在“我的电脑”地址栏中输入 ftp://IP 来连接FTP服务器,根据提示输入账户密码。

到这里正常的ftp配置已经完成了。

  1. 删除用户账号 使用 userdel -r xiaoluo命令删除。这个命令会删除用户的文件夹。遇到的问题(已解决)我想要修改一下ftp用户的默认文件夹。当用户登录ftp时,本身的默认文件夹位置是在/home/用户名。 查询后使用下面的命令更换usermod -d /tmp test (test为你的用户名)更换后发现并不能从浏览器登录了。 在linux中使用命令登录:ftp 127.0.0.1出现如下的错误提示:-bash: ftp: command not found。 使用命令,安装ftp客户端。yum -y install ftp再次登录,输入用户名和密码后。报500 OOPS: cannot change directory。 查询后尝试使用下面的命令关闭了Selinux# 查询Selinux状态 sestatus -v修改/etc/selinux/config 文件。将SELINUX=enforcing改为SELINUX=disabled。依旧不行。 再次尝试修改文件夹权限chown 用户组:用户名 -R /tmp chmod -R 777 /tmp还是不行。查询后大多数都是用这几种有关的命令解决。目前没有找到原因,暂时使用默认文件夹

解决方式

呼叫大佬后,大佬也没明白我都做了什么操作。发给了我一个博客,照着一步一步操作后很顺利的成功了。

把博客贴在这里https://blog.csdn.net/wsyh12345678/article/details/83244940

和我之前的配置文件有所不同的地方

代码语言:txt
AI代码解释
复制
dirmessage_enable=YES

xferlog_enable=YES

ascii_upload_enable=YES

ascii_download_enable=YES

同样将chroot_local_user=YES设置为yes。

被列入此文件的用户,在登录后将不能切换到自己目录以外的其他目录

从而有利于FTP服务器的安全管理和隐私保护。此文件需自己建立 ,里面存入用户名,一个用户占一行chroot_list_file=/etc/vsftpd/chroot_list

如果设置为

chroot_local_user=YES#所有用户都只能访问自己的主目录

chroot_list_enable=YES(这行可以没有, 也可以有)

chroot_list_file=/etc/vsftpd.chroot_list

那么, 凡是加在文件vsftpd.chroot_list中的用户都是不受限止的用户,即, 可以浏览其主目录的上级目录.

如果不希望某用户能够浏览其主目录上级目录中的内容,可以如上设置,然后在文件vsftpd.chroot_list中去掉或不添加该用户即可。

也可以如下配置

chroot_local_user=NO

chroot_list_enable=YES(这行必须要有, 否则文件vsftpd.chroot_list不会起作用)

chroot_list_file=/etc/vsftpd.chroot_list

然后把所有不希望有这种浏览其主目录之上的各目录权限的用户添加到文件vsftpd.chroot_list中即可(一行一个用户名,此时, 在该文件中的用户都是不可以浏览其主目录之外的目录的)

关键步骤:

  • Mkdir /data/wwwroot #这里是根据自己需求来建立(就是FTP用户可以访问那个目录)
  • 进入用户配置目录,没有的话自己建立,注意和vsftpd.conf文件中的对应 user_config_dir=/etc/vsftpd/userconf cd /etc/vsftpd/userconf
  • 建立一个同登录用户名称一样的文件(在配置userconf文件夹里创建) vim ftpuser
  • 写入用户登录FTP后能访问的目录位置:

local_root=/www/test

  • 重启VSftp:

/etc/init.d/vsftpd restart

之后即可用新建的用户访问自定义的文件夹了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
vsftp配置文件详解
-vsftpd.user_list文件需要与vsftpd.conf文件中的配置项结合来实现对于vsftpd.user_list文件中指定用户账号的访问控制:
孤鸿
2022/09/23
4.1K0
Linux篇---ftp服务器的搭建
企业中linux搭建ftp服务器还是很实用的,所以本文针对centoos7和centoos6搭建服务器教程做个总结。
LhWorld哥陪你聊算法
2018/09/13
9.7K0
Linux篇---ftp服务器的搭建
解决Centos下vsftp无法上传文件的问题,附vsftp配置详解
重量网络最近买了一个腾讯云的 VPS,一直在折腾着,偶然请我帮忙敲几行命令解决一些小问题。 这不,今天他通过 yum 在线安装了一个 vsftp 后,发现不太会用,就按照网上的教程东搞西搞。最后发现无法上传文件了,就给我操作了一把。 用 SecureCRT 远程登录后,我做了如下检查: ①、打开了 vsftp 配置文件(/etc/vsftpd/vsftpd.conf)检查 write_enable 状态,发现正常: [root@VM_72_108_centos /]# cat /etc/vsftpd/vsf
张戈
2018/03/23
6.3K0
vsftpd搭建 - 基于系统用户
黑名单 (user_list优先匹配,ftpusers 后匹配) cat /etc/vsftpd/ftpusers root bin daemon adm ...... 限制匿名账号
以谁为师
2019/05/30
1.4K0
搞它!!!深入了解FTP文件传输服务
VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。
不吃小白菜
2020/09/03
2.7K0
搞它!!!深入了解FTP文件传输服务
aws ec2 配置ftp----使用vsftp
凡是加在文件vsftpd/chroot_list中的用户都是不受限止的用户,即, 可以浏览其主目录的上级目录。在这里默认为空:
流川疯
2019/01/17
2.7K0
centos部署ftp服务_文件服务器搭建
vsftpd配置文件的默认路径是 /etc/vsftpd/vsftpd.conf。
全栈程序员站长
2022/10/01
1.7K0
linux学习第七十三篇:安装vsftp,方便Windows上传文件到linux
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/X__Alone/article/details/82115815
用户1215343
2019/07/02
1K0
linux学习第七十三篇:安装vsftp,方便Windows上传文件到linux
Linux搭建FTP服务器
****FTP简介**** vsftpd(Very Security File Transfer Protocol)是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。并且是一个完全免费开放源码的ftp软件。 ---- ****安装FTP**** which vsftpd #检测是否已经安装vsftpd sudo apt-get install vsftpd ---- ****更改启动状态**** sudo service vsftpd start #开启ftp服务 servi
AlicFeng
2018/06/08
15.3K0
关于FTP搭建问题
1. 匿名服务器的连接(独立的服务器) 在/etc/vsftpd.conf(或在/etc/vsftpd/vsftpd.conf)配置文件中添加如下几项: Anonymous_enable=yes (允许匿名登陆) Dirmessage_enable=yes (切换目录时,显示目录下.message的内容) Local_umask=022 (FTP上本地的文件权限,默认是077) Connect_form_port_20=yes (启用FTP数据端口的数据连接)* Xferlog_enable=yes (激活上传和下载的日志) Xferlog_std_format=yes (使用标准的日志格式) Ftpd_banner=XXXXX (欢迎信息) Pam_service_name=vsftpd (验证方式)* Listen=yes (独立的VSFTPD服务器)* 注释:以上配置只能连接FTP服务器,不能上传和下载 注:其中所有和日志欢迎信息相关连的都是可选项,打了星号的无论什么帐户都要添加,是属于FTP的基本选项
云知识Online
2018/05/03
2.5K0
Vsftpd 500 OOPS: cannot change directory
上一篇有讲到 ftp 设置用户登录的问题,然而由于权限的问题,折腾了各种配置依旧无法实现:某个用户登录后指定跳转至非根目录的目录这一需求,因此尝试换一种思路来实现。
上山打老虎了
2022/06/15
1.3K0
centos7 搭建 ftp 服务器
anonymous_enable=YES local_enable=YES write_enable=YES local_umask=022 anon_upload_enable=YES anon_mkdir_write_enable=YES dirmessage_enable=YES banner_file=/etc/vsftpd/welcome.txt xferlog_enable=YES connect_from_port_20=YES xferlog_file=/var/log/xferlog xferlog_std_format=YES nopriv_user=nobody pam_service_name=vsftpd tcp_wrappers=YES # 自己添加 # 使用被动模式连接 pasv_enable=YES # 被动模式超时时间 accept_timeout=60 # 被动模式所使用的端口范围 pasv_min_port=65400 pasv_max_port=65410 # 启动并指定开放的用户列表 userlist_enable=YES userlist_deny=NO userlist_file=/etc/vsftpd/user_list # 监听的端口 listen_port=21 listen=YES # 开放用户账号登陆 guest_enable=YES guest_username=ftp # 限制用户的上传下载速度,0为不限制,单位: bytes/秒 local_max_rate=0 # 限制登陆用户的到默认的位置,默认为/var/ftp文件夹 chroot_local_user=YES
Mokwing
2020/09/08
1.1K0
VSFTP的黑白名单
1,配置静态IP [root@ftp ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] DEVICE=eth0 BOOTPROTO=static ONBOOT=yes HWADDR=00:0c:29:ae:0f:02 IPADDR=192.168.1.10 NETMASK=255.255.255.0 [root@ftp ~]# service network restart [root@ftp ~]# chkconfig network on 2,安装vsftpd软件 [root@ftp ~]# rpm -q vsftpd vsftpd-2.0.5-16.el5 3,调整匿名上传目录权限,并准备下载测试文件 [root@ftp ~]# chown ftp /var/ftp/pub/ [root@ftp ~]# ls -ld /var/ftp/pub/ drwxr-xr-x 3 ftp root 4096 01-13 23:01 /var/ftp/pub/ [root@ftp ~]# tar jcf /var/ftp/ftpconfig.tar.bz2 /etc/vsftpd/ 4,新建测试用户 [root@ftp ~]# useradd u1 [root@ftp ~]# useradd u2 [root@ftp ~]# useradd laya [root@ftp ~]# passwd  u1 [root@ftp ~]# passwd  u2 [root@ftp ~]# passwd  u3 5,修改vsftpd.conf配置文件开放本地用户 [root@ftp ~]# cat /etc/vsftpd/vsftpd.conf anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 chroot_local_user=YES dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES pam_service_name=vsftpd userlist_enable=NO      当userlist_enable=NO时不考虑黑/白名单,既不对用户的访问造成影响。 tcp_wrappers=YES 6,重新启动vsftpd服务 [root@ftp ~]# service vsftpd restart [root@ftp ~]# chkconfig vsftpd on 7,XP1客户端测试
三杯水Plus
2018/11/14
2K0
CentOS 7搭建vsftp服务器配置详解
首先网络、防火墙方面的基本要求要满足,比如静态ip、防火墙是否可以通过ftp的流量。
星哥玩云
2022/07/26
3K0
CentOS 7搭建vsftp服务器配置详解
Linux搭建FTP服务器
注:ftpusers和user_list两个文件可理解为vsftp的黑名单,可在vsftpd.conf中开启userlist_deny参数即可生效,无论如何,我们创建的ftp用户不在这两个文件中即可保证可以正常使用。
用户6914340
2021/10/09
16K0
Linux搭建FTP服务器
3 FTP文件传输服务
用户控制列表文件: /etc/vsftpd/ftpusers(黑名单)、/etc/vsftpd/user_list
py3study
2020/01/14
1.8K0
如何在 CentOS 8 上使用 Vsftpd 配置 FTP 服务器
本文最先发布在: https://www.itcoder.tech/posts/how-to-setup-ftp-server-with-vsftpd-on-centos-8/
雪梦科技
2020/04/01
8.3K0
如何在 CentOS 8 上使用 Vsftpd 配置 FTP 服务器
CentOS 5.6 下使用 vsFTPd 架设 FTP Server
主要配置文件/etc/vsftpd/vsftpd.conf,配置如下: 允许匿名登入 anonymous_enable=YES no_anon_password=YES anon_max_rate
雷大亨
2018/01/01
1K0
Linux云服务器下搭建FTP服务器
FTP工作模式简介 FTP工作会启动两个通道:控制通道和数据通道。 控制通道一般由客户端发起,数据连接分两种:port(主动)和pasv(被动)。 PORT模式: 在客户端需要接收数据时,ftp_cl
吴奇
2017/03/06
18.1K0
CentOS7安装vsftpd
本地用户的主目录有时候并不能作为ftp的根目录,也可以对每个用户设置设置FTP根目录
十毛
2023/10/16
6390
相关推荐
vsftp配置文件详解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档