FTP 服务器(File Transfer Protocol Server)是在互联网上提供文件共享存储和访问服务的计算机,它们依照 FTP 协议提供服务。
FTP(File Transfer Protocol: 文件传输协议)是一种 Internet 上用来传送文件的协议,支持这种协议的服务器就是 FTP 服务器。
常见 FTP 服务器如下:
Windows:Serv-U FTP Server
Linux:oftpd、ftpd、vsftpd、pure-ftpd、proftpd、wu-ftpd、glftpd
功能比较简单的有 ftpd 和 Oftpd,前者与 FTP 客户端工具 FTP 类似,只有标准的功能,此外支持 SSL。Oftpd 是一款非常小巧的匿名 FTP 服务器。
可配制型高级的主要是 vsftpd 和 pure-ftpd。 这两个侧重于安全、速度和轻量级,在大型 FTP 服务器上用得比较多,尤其是 vsftpd,这类服务器对用户认证和权限控制比较简单,更注重安全型和速度。Pure-ftpd 相对 vsftpd 要强大一些,支持的用户认证方式也比较多。
配置性更好的是 proftpd、wu-ftpd 和 glftpd。Proftpd 的配置方式跟 Apache 非常类似,支持虚拟服务器,可针对目录、虚拟用户进行权限配制,可继承和覆盖。
今天主要介绍 VSFTP。
VSFTP 是一个基于 GPL 发布的类 Unix 系统上使用的 FTP 服务器软件,它的全称是 Very Secure FTP,它的优势就是安全、高速、稳定的 FTP 服务器。接下来介绍如何搭建这个文件共享服务器。
安装前检查一下包是否已经安装,如下:
如果没有安装,使用如下方式安装:
接着安装 LFTP,这个可以用来登录浏览 FTP 共享文档:
以上两个都输入 y 安装即可, 滴滴云 已经提供专业的 yum 安装源,您可以放心的安装相关服务。当然了,除了 yum 的安装方式之外,您还可以选择从官方下载源码或者 RPM 包来安装,RPM 安装命令:
rpm - ivh / home / demo / vsftpd - 3.0.2 - 22.el7.x86_64.rpm
这根据您的使用方式来选择,哪个方便使用哪个安装。
/etc/vsftpd/vsftpd.conf:vsftpd 的核心配置文件
/etc/vsftpd/ftpusers:用于指定哪些用户不能访问 FTP 服务器,是个黑名单
/etc/vsftpd/user_list:指定允许使用 vsftpd 的用户列表文件,是个白名单
vim /etc/vsftpd/user_list
# 如果 userlist_deny= YES
(默认),不允许在这个文件中的用户登录 FTP,甚至不提示输入密码
# prompt 提示
/etc/vsftpd/vsftpd_conf_migrate.sh:是 vsftpd 操作的一些变量和设置脚本
/var/ftp/:默认情况下匿名用户的根目录,其目录如下:
我们先不做配置的情况下,看看默认能做什么事情,启动服务:
滴滴云 主机默认安全组没有打开 21 端口,具体如何打开参考 滴滴云 官网介绍,打开后如下:
以 mac 为例,mac 上自带客户端工具,其他操作系统也可以使用浏览器、文件夹资源管理器等工具进行访问。
访问协议前缀都是 ftp://IP 地址
,端口一般都是默认端口,打开 mac 上的自带工具 Finder,选择前往,再选择连接服务器,如下:
下面做一些配置:
允许所有员工上传和下载文件,并允许创建用户自己的目录:
anon_mkdir_write_enable
字段可以控制是否允许匿名用户创建目录。
查看并备份原配置文件:
允许匿名用户访问:
anonymous_enable = YES
允许匿名用户上传文件并可以创建目录:
anon_upload_enable = YES
anon_mkdir_write_enable = YES
重新启动服务:
[ root @ 10 - 255 - 1 - 40 vsftpd ] # systemctl restart vsftpd
[ root @ 10 - 255 - 1 - 40 vsftpd ] #
mac 终端:
我们建立一个文件夹,如下:
匿名用户上传文件就算可以了,但是不能删除和重命名。
注:工作中,匿名用户只是只读访问,写的权限也没有的。
补充:如果想让匿名用户可以重命名或者删除的权限,添加如下一条配置参数,即 anon_other_write_enable
,如下:
重新启动服务就可以对重新命名和删除文件夹了。
[ root @ 10 - 255 - 1 - 40 ftp ] # systemctl restart vsftpd
匿名用户就可以删除和修改,非常不安全,所以要慎重使用这个参数。
注意,默认匿名用户家目录的权限是 755,这个权限是不能改变的。
假设现有两个部门负责产品文档,他们分别使用 user1 和 user2 帐号进行管理。要求只允许 user1 和 user2 帐号登录 FTP 服务器,但不能登录本地系统,并将这两个帐号的目录限制为 /home/test
,而且不能进入该目录以外的任何目录。
1.建立产品系统内容的 FTP 帐号 user1 和 user2 并禁止本地登录,然后设置其密码
[ root @ 10 - 255 - 1 - 40 ftp ] # useradd -s /sbin/nologin user1
同样创建user2用户。
修改两个用户密码:
将 user2 同样更改密码,也可以直接使用命令 passwd user1 回车修改密码。
2.配置 vsftpd.conf
主配置文件并作相应修改
[ root @ 10 - 255 - 1 - 40 ftp ] # vim /etc/vsftpd/vsftpd.conf
继续修改,将:
修改为:
local_root=/home/test:设置本地用户的根目录为 /home/test
chroot_list_enable=YES:激 chroot 功能
chroot_list_file=/etc/vsftpd/chroot_list:设置锁定用户在根目录中的列表文件。此文件存放要锁定的用户名
保存并退出。
3.建立 /etc/vsftpd/chroot_list
文件,添加 user1 和 user2 帐号
按照上述配置修改好文件。
创建对应文档目录:
使用资源管理器创建一个文件夹并验证:
基本的测试完了,欢迎拍砖。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31559758/viewspace-2284766/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31559758/viewspace-2284766/