热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

搭建vsftpd服务并实现本地用户访问

原文参考:https:help.aliyun.comdocument_detail92048.html 环境:阿里云ECS服务器:centos7.6防火墙状态:关闭安全组策略:放行

原文参考:

https://help.aliyun.com/document_detail/92048.html

 

环境:

阿里云ECS服务器:centos 7.6

防火墙状态:关闭

安全组策略:放行21端口

 

安装步骤:

(1)安装vsftpd;

(2)配置本地用户登录;

(3)测试。

 

1. 安装vsftpd

yum -y install vsftpd    # vsftpd是服务端的服务,ftp是客户端安装连接服务端ftp的工具

systemctl start vsftpd.service

systemctl enable vsftpd.service

netstat -anpt |grep vsftpd  # 检测服务是否已经起来

 

 

 

2. 配置本地用户登录

(1)修改配置文件,橙色部分未修改内容,其他部分建议了解即可

anonymous_enable=NO      # 不允许匿名用户登录

local_enable=YES           # 允许本地用户登录

write_enable=YES           # 允许写入

local_umask=022                         # 掩码为022,表示755的权限

dirmessage_enable=YES           # 如果启动这个选项,那么使用者第一次进入一个目录时,会检查该目录下是否有.message这个档案,如果有,则会出现此档案的内容,通常这个档案会放置欢迎话语,或是对该目录的说明。默认值为开启。

xferlog_enable=YES                    #是否启用上传/下载日志记录。如果启用,则上传与下载的信息将被完整纪录在xferlog_file 所定义的档案中。预设为开启。

connect_from_port_20=YES      # 指定FTP使用20端口进行数据传输,默认值为YES。

xferlog_std_format=YES              # 如果启用,则日志文件将会写成xferlog的标准格式,如同wu-ftpd 一般。默认值为关闭

listen=YES                                      # 监听IPv4 sockets

listen_ipv6=NO                              # 关闭ipv6

pam_service_name=vsftpd         # 设置PAM使用的名称,默认值为/etc/pam.d/vsftpd。

userlist_enable=YES                    # 是否启用vsftpd.user_list文件

tcp_wrappers=YES                       # 如果启用,则vsftpd服务器会检查/etc/hosts.allow 和/etc/hosts.deny 中的设置,来决定请求连接的主机,是否允许访问该FTP服务器

use_localtime=YES                      # vsftpd将显示当前时区中包含时间的目录列表

port_enable=YES                         # 如果为NO,则表示禁止用PORT方法获取数据连接

chroot_local_user=YES        # 全部用户被限制在主目录

chroot_list_enable=YES       # 启用例外用户名单

chroot_list_file=/etc/vsftpd/chroot_list   # 指定例外用户列表文件,列表中的用户不被锁定在主目录

allow_writeable_chroot=YES     # 允许写入

local_root=/home/ftptest              # 设置本地用户登录后所在的目录

 

(2)创建登录用户ftptest【注意ftpuser不可以作为登录用户】
useradd ftptest

passwd ftptest

cd /home/ftptest/  # 注意我是直接放在/home下面的,所以ftptest 的属主和属组都是ftptest,如果在其它目录这里需要修改属主和属组为ftptest

mdkir test

 

(3)连接测试

这里使用的工具是FileZIla(下载路径:https://filezilla-project.org/download.php)

 

 

 

 出现【列出目录成功】表示已经成功连接,然后在 / 下也可以创建一个新的文件kjk表明可以写入。

并且可以看到服务端创建的test,但是如果在test里面创建却不行,显示“550 Create directory operation failed.”,查了一下大家都说这个是selinux没有disable,然而我已经关闭了;后来才发现test使用root用户创建的,属主和属组不是ftptest,所以客户端的用户ftptest是没有权限创建文件的

 

 

 

 

 

 

 



推荐阅读
author-avatar
袁怡松_779
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有